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]
[/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) |