Funkcje dostępne w kalkulatorze pól QGIS

Kalkulator pól dostępny w QGIS pozwala przeprowadzać operacje na danych i zapisywać ich wynik w tabeli atrybutów. Aktualnie dostępnych jest kilkadziesiąt funkcji operujących na danych tekstowych i numerycznych. Poniżej znajduje się spis dostępnych funkcji udostępnianych przez QGIS.

[important]

  1. Aby uzyskać dostęp do danych z danej kolumny wystarczy podać jej nazwę (można użyć cudzysłowów np. „powierzchnia”).
  2. Tekst należy umieszczac między apostrofami np. ‚mój tekst’.
  3. Liczby rzeczywiste (real) należy wpisywać z kropką.

[/important]

[warning]Nowe funkcje dodawane są w kolejnych wersjach QGIS. Poniższa lista oparta jest na wersji 1.7.1, niektóre funkcję mogą być niedostępne we wcześniejszych wersjach QGIS. [/warning]


Funkcje tekstowe:

Funkcja Opis Przykład Wynik
tostring(a) konwersja liczby a do tekstu tostring(7.3) ‚7.3’
lower(a) konwersja tekstu a na małe litery lower(‚Piotr Pociask’) ‚piotr pociask’
upper(a) konwersja tekstu a na duże litery upper(‚Piotr Pociask’) ‚PIOTR POCIASK’
length(a) długość tekstu a length(‚coord. X’) 8
replace(a,b,c) zamiana fragmentu tekstu b na tekst c w tekście a replace(‚aabba’,’a’,’c’) ‚ccbbc’
regexp_replace(a,b,c) zamiana znaków c w tekście a z wykorzystaniem wyrażeń regularnych b regexp_replace(‚abbaab’,'[ab]a’,’c’) ‚abcab’
substr(a,from,len) zwraca fragment tekstu a o długości len zaczynając od znaku o indeksie from (pierwszy znak tekstu ma indeks 1) substr( ‚abbaab’ ,2,3) ‚bba’
a || b połączenie tekstów ‚prosty’ || ‚Test’ ‚prosty Test’

Funkcje matematyczne (operujące na liczbach):

Funkcja Opis Przykład Wynik
toint(a) konwersja tekstu a do liczby całkowitej toint(‚3’) 3
toreal(a) konwersja tekstu a do liczby rzeczywistej toreal(‚12.2’) 12.2
-a wartość negatywna liczby a -3 3
a+b suma liczb a i b 2+3 5
a-b różnica liczb a i b 5-10 -5
a*b iloczyn liczb a i b 0.5*(-12) -6
a/b iloraz liczb a i b 5/2 2.5
a^b liczba a podniesiona do potęgi b 3^2 9
sqrt(a) pierwiastek kwadratowy liczby a sqrt(9) 3
sin(a) zwraca sinus kąta a sin(90) 1
cos(a) zwraca cosinus kąta a cos(60) 0.5
tan(a) zwraca tangens kąta a tan(0) 0
asin(a) zwraca arcus sinus kąta a (-1≤a≤1) asin(1) 1.5707
acos(a) zwraca arcus cosinus kąta a (-1≤a≤1) acos(-1) 3.1415 (180°=pi)
atan(a) zwraca arcus tangens kąta a atan(90) 1.5596
atan2(x,y) zwraca kąt w radianach między osią X a punktem (x, y) atan2(1,1) 0.7853 (45°=pi/4)

Funkcje związane z obiektami przestrzennymi:

Funkcja Opis
NULL Brak wartości w komórce tabeli
$rownum zwraca numer wiersza tabeli atrybutów
$area zwraca powierzchnię danego obiektu (poligony)
$perimeter zwraca obwód danego obiektu (poligony)
$length zwraca długość danego obiektu (linie)
$id zwraca unikalny identyfikator obiektu
$x zwraca współrzędną X danego obiektu (punkty)
$y zwraca współrzędną Y danego obiektu (punkty)
xat(n) Wartość X koordynatu dla n-tego punktu linii (pierwszy punkt n=0, wartości ujemne powodują liczenie punktów od końca linii)
yat(n) Wartość Y koordynatu dla n-tego punktu linii (pierwszy punkt n=0, wartości ujemne powodują liczenie punktów od końca linii)