Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
FieldPyculator
13-02-2013, 15:48,
#1
FieldPyculator
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.ht...0.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... Confused

byłbym wdzięczny za jakiekolwiek wskazówki.
14-02-2013, 08:05,
#2
RE: FieldPyculator
(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ć.
14-02-2013, 08:29,
#3
RE: FieldPyculator
(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.. Undecided

ale generalnie wtyczkę polecam, bo wygląda na to, że można wiele zdziałać dzięki niej.
14-02-2013, 08:45,
#4
RE: FieldPyculator
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
14-02-2013, 09:14,
#5
RE: FieldPyculator
(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.

CASE WHEN "kolumna1" > 2000 and "kolumna2" = 'konkretnytekst' THEN 'xxx' END

Dla innych warunków można dodać CASE ELSE

Dzięki RayoWink
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


Skocz do: