FieldPyculator - 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: FieldPyculator (/thread-885.html) |
FieldPyculator - randyX - 13-02-2013 Witam, Chciałbym korzystając z wtyczki "field Pyculator" wyliczyć wartości dla konkretnej kolumny na podstawie warunków typu: jeżeli [kolumna1] > 2000 i dodatkowo [kolumna2]= 'konkretnytekst' to wpisz wartość "xxx" do [kolumna3] tak w zarysie mniej więcej to wygląda. najszerszy opis tej wtyczki jaki znalazłem http://gis-lab.info/qa/fieldpyculator.html#.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0 ale nawet jak przetłumaczyć stronę na inne języki to obrazki i tak mają cyrylicę, więc nawet nie umiem nic z tego wywnioskować i pokombinować gdyż nie znam rosyjskiego... byłbym wdzięczny za jakiekolwiek wskazówki. RE: FieldPyculator - Rayo - 14-02-2013 (13-02-2013, 15:48)randyX napisał(a): jeżeli [kolumna1] > 2000 i dodatkowo [kolumna2]= 'konkretnytekst' to wpisz wartość "xxx" do [kolumna3] Wtyczki nie znam, ale powyższe da się zrobić bezpośrednio w tabeli atrybutów. Najpierw w kreatorze zapytań wybierasz obiekty zapytaniem "kolumna1" > 2000 and "kolumna2" = 'konkretnytekst' Następnie kalkulatorem pól wpisujesz zaznaczonym obiektom wartość 'xxx' w kolumnie3. Problem będzie, gdy masz dużo takich warunków. Wtedy trzeba się trochę naklikać. RE: FieldPyculator - randyX - 14-02-2013 (14-02-2013, 08:05)Rayo napisał(a): Problem będzie, gdy masz dużo takich warunków. Wtedy trzeba się trochę naklikać. Właśnie niestety taki mam problem.. próbowałem zdefiniować parę zmiennych w zależności od konkretnych warunków a potem jedną formułką uzupełniłbym zylion wierszy w konkretnej kolumnie ale niestety, albo składnia nie siedzi, albo z czymś innym problem.. ale generalnie wtyczkę polecam, bo wygląda na to, że można wiele zdziałać dzięki niej. RE: FieldPyculator - Rayo - 14-02-2013 Zerknąłem jeszcze do kalkulatora pól w QGIS 1.9 i znalazłem tam funkcję sterującą CASE i CASE ELSE (w grupie Conditionals). Za jej pomocą powinno się dać zrobić to, czego potrzebujesz. CASE WHEN "kolumna1" > 2000 and "kolumna2" = 'konkretnytekst' THEN 'xxx' END Dla innych warunków można dodać CASE ELSE RE: FieldPyculator - randyX - 14-02-2013 (14-02-2013, 08:45)Rayo napisał(a): Zerknąłem jeszcze do kalkulatora pól w QGIS 1.9 i znalazłem tam funkcję sterującą CASE i CASE ELSE (w grupie Conditionals). Za jej pomocą powinno się dać zrobić to, czego potrzebujesz. Dzięki Rayo sprawdziłem i CASE faktycznie działa. w moim przypadku: CASE WHEN "rok_budowy" > 2002 AND "rok_budowy" <> 'b.d' THEN 'XXX' ELSE 'brak' END |