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) |