Forum QGIS
Atrybuty tekstowe - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: Atrybuty tekstowe (/thread-1205.html)



Atrybuty tekstowe - Saalomon - 15-04-2015

Witam.
W tabeli chciałbym utworzyć nową kolumnę tekstową, której zawartość zależy od tego co wpisane jest w innej kolumnie. W 1 kolumnie mam nazwy powiatów, nowa kolumna miałaby zawierać nazwy podregionów (kilka powiatów), np. kolumna 1 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' itd, w drugiej kolumnie przydałoby się żeby wskazane atrybuty np 'a', 'c', 'e' miały wspólny atrybut tekstowy np. 'podregion'.
Ma koś pomysł jak to zrobić?
Jak na razie jestem na etapie (może trochę rozjaśni o co mi chodziSmile): "("Powiat" = 'Bialski')*1+("Powiat"='Biała Podlaska')*1+("Powiat"= 'Radzyński')*1+("Powiat"='Parczewski')*1+("Powiat"='Włodawski')*1+("Powiat"='Lublin)*2+("Powiat"='Świdnicki')*2+("Powiat" ='Łęczyński' )*2+("Powiat"='Lubartowski' )*2+("Powiat"='Chełm' )*3+("Powiat"='Chełmski' )*3+( "Powiat"='Hrubieszowski') *3+ ("Powiat"='Biłgorajski' )*3+ ("Powiat"='Tomaszowski')*3+("Powiat"='Krasnostawski' )*3+ ("Powiat"= 'Puławski')*4+("Powiat"= 'Rycki')*4+("Powiat"='Łukowski')*4+("Powiat"='Opolski' )*4+ ("Powiat" ='Kraśnicki')*4+("Powiat" = 'Janowski' )*4"
Czy można ją w jakiś sposób skrócić, tak żeby połączyć wszystkie warunki np. ("Powiat"='Chełm' i 'Chełmski' i 'Tomaszowski')*3? W jaki sposób zastąpić cyfry tekstem np. 3 na 'chełmsko-zamojski'?
Z góry dziękuję za pomoc!Smile


RE: Atrybuty tekstowe - Binko - 16-04-2015

Może coś takiego:
Musisz utworzyć kolumnę i w Kalkulatorze pól zaktualizuj pole Podregion. W polu wpisz kod na ten wzór:
Kod:
CASE
WHEN
  "Powiat" = 'Bialski' OR
  "Powiat" = 'Biała Podlaska' OR
  "Powiat" = 'Radzyński' OR
  "Powiat" = 'Parczewski' OR
  "Powiat" = 'Włodawski'
THEN 'bialsko-radzyński'

WHEN
  "Powiat" = 'Lubartowski' OR  
  "Powiat" = 'Łęczyński' OR  
  "Powiat" = 'Świdnicki' OR
  "Powiat" = 'Lublin'  
THEN 'lubelsko-świdnicki'

WHEN
  "Powiat" = 'i tak dalej'
THEN 'wynik'
END

Zasadniczo każdy podregion musisz zamknąć w klamry WHEN-THEN oddzielając każde zapytanie operatorem OR, po THEN zaś wpisując wynik, czyli podregion dla danych powiatów.


RE: Atrybuty tekstowe - Saalomon - 16-04-2015

O to mniej więcej mi chodziło, dzięki wielkie!Smile