Tutorial QGIS: 12. Kalkulator pól
W poprzednim tutorialu QGIS mogliście przeczytać kilka słów o tabeli atrybutów. Dzisiaj przedstawimy wam narzędzie do przetwarzania danych znajdujących się właśnie w niej. Mowa tu o Kalkulatorze pól. To dzięki niemu mamy możliwość wykonywania operacji na danych, a wyniki zapisywać w tabeli atrybutów.
Aby włączyć okno Kalkulatora pól wybieramy jego ikonkę z paska narzędzi:
lub wskazujemy ją w tabeli atrybutów:
Wówczas otrzymujemy okno Kalkulatora pól, gdzie możemy wpisywać wyrażenia samodzielnie lub też posłużyć się rozwijalną listą funkcji. Ponadto wskazujemy czy dane mają zostać zapisane w nowej kolumnie, czy chcemy jedynie zaktualizować istniejące pole.
Wraz z kolejnymi wersjami QGIS, kalkulator pól był systematycznie wzbogacany o nowe funkcje. W najnowszej odsłonie oprogramowania posiadamy naprawdę dużo możliwości modyfikowania danych. Poniżej przestawiamy wam listę funkcji dostępnych w kalkulatorze pól w QGIS 2.4:
- Operatory – Ta grupa zawiera proste operatory
Operator: dodawania, odejmowania, mnożenia, dzielenia, modulo, potęgowania, równości, większe niż, mniejsze niż, różne od, mniejsze lub równe, większe lub równe
|| (łączenie tekstu) – Łączy dwie wartości w jeden tekst.
wyrażenie LIKE – Zwraca 1 jeśli pierwszy parametr odpowiada wzorcowi (wielkość liter ma znaczenie). Alternatywą jest wyrażenie ILIKE, nie uwzględniające wielkości liter. Działa również na liczbach.
wyrażenie ILIKE – Zwraca 1 jeśli pierwszy parametr odpowiada wzorcowi (wielkość liter nie ma znaczenia). Alternatywą jest wyrażenie LIKE, uwzględniające wielkość liter. Działa również na liczbach.
Wyrażenie IS – Zwraca 1 jeśli a i b są takie same.
operator logiczny OR – Zwraca 1 przynajmniej jeden a lub b jest równe 1 (TRUE).
operator logiczny AND – Zwraca 1, jeśli a i b są równe 1 (TRUE).
NOT – Zwraca 1 jeśli a nie jest tożsame z b.
- Wyrażenia warunkowe – Ta grupa zawierają funkcje do obsługi wyrażeń warunkowych.
wyrażenie CASE – Wyrażenie warunkowe służące do sprawdzenia wielu warunków.
wyrażenie CASE – Wyrażenie warunkowe służące do porównania z wieloma wartościami.
funkcja coalesce() – Zwraca pierwsze wystąpienie wartości różnej od NULL na liście wyrażeń.
Funkcja przyjmuje dowolną liczbę argumentów.
funkcja regexp_match() – Zwraca TRUE jeśli jakaś część tekstu spełnia warunek wyrażenia regularnego.
- Matematyczne – Grupa zawiera funkcje matematyczne, np. pierwiastek kwadratowy, sinus.
funkcja sqrt() – Zwraca pierwiastek kwadratowy wartości.
funkcja sqrt() – Zwraca pierwiastek kwadratowy wartości.
funkcja cos() – Zwraca cosinus kąta.
funkcja sin() – Zwraca sinus kąta.
funkcja tan() – Zwraca tangens kąta.
funkcja asin() – Zwraca arcus sinus wartości w radianach.
funkcja acos() – Zwraca arcuscosinus kąta w radianach.
funkcja atan() – Zwraca arcus tangens wartości w radianach.
funkcja atan2() – Zwraca arcus tangens y/x używając znaku obydwu do określenia kwadrantu wyniku.
funkcja exp() – Zwraca wartość funkcji wykładniczej.
funkcja ln() – Zwraca logarytm naturalny z wyrażenia.
Ta funkcja pobiera jeden argument.
funkcja log10() – Zwraca wartość logarytmu o podstawie 10 dla zadanego wyrażenia.
Funkcja pobiera jeden argument.
funkcja log() – Zwraca logarytm dla zadanej wartości przy podanej podstawie.
funkcja round() – Zaokrąglenie liczby do określonej liczby miejsc dziesiętnych.
Funkcję można wywołać z jednym lub dwoma argumentami, w zależności od potrzeb.
funkcja rand() – Zwraca losową liczbę całkowitą z zadanego zakresu podanego jako minimum i maksimum (włącznie).
funkcja randf() – Zwraca pseudolsową liczbę rzeczywistą z zakresu określonego przez minimum i maksimum.
funkcja max() – Zwraca największą wartość z zadanego zbioru.
funkcja min() – Zwraca najmniejszą wartość z zadanego zbioru.
funkcja clamp() – Ogranicza dane wejściowe do określonego zakresu.
funkcja scale_linear() – Przekształca zadaną wartość wejściową w zadanym zakresie na zakres wynikowy używając funkcji liniowej.
funkcja scale_exp() – Przekształca zadaną wartość wejściową w zadanym zakresie na zakres wynikowy używając funkcji wykładniczej.
funkcja floor() – Zwraca liczbę po zaokrągleniu w dół.
funkcja ceil() – Zwraca zaokrąglenie liczby w górę.
stałą $pi – Zwraca wartość PI do obliczeń.
- Konwersja – Ta grupa zawiera funkcje konwertujące dane pomiędzy różnymi typami, np. tekst na liczbę, liczbę na tekst.
funkcja toint() – Zamienia tekst na liczbę całkowitą. Nie zamienia tekstu, który nie ma postaci liczby całkowitej (np. ‘123asd’).
funkcja toreal() – Konwertuje ciąg znaków na liczbę rzeczywistą, chyba że konwersja jest niemożliwa (np. ‘123.56asd’). Wartości są zaokrąglane, jeśli dokładność jest mniejsza niż wynik konwersji.
funkcja tostring() – Zamienia liczbę na tekst.
funkcja todatetime() – Zamienia tekst na typ danych Qt.
funkcja todate() – Konwertuje tekst na typ daty Qt.
funkcja totime() – Konwertuje tekst na typ czasu Qt.
funkcja tointerval() – Zamienia tekst na typ interwału. Może być użyte do określenia różnicy dni, godzin, miesięcy itd. dla zadanych dat.
- Daty i czasu – Ta grupa zawiera funkcje do operowania na danych typu data i czas.
funkcja $now – Zwraca aktualną datę i czas.
funkcja age() – Zwraca różnicę pomiędzy datami. Różnica jest zwracana jako interwał i może być używana z jedną z następujących funkcji, aby uzyskać niezbędne informacje: year, month, week, day, hour, minute, second
funkcja year() – Zwraca rok z daty lub liczbę lat z interwału
funkcja month() – Zwraca miesiąc z daty, lub liczbę miesięcy z interwału
funkcja week() – Pobiera numer tygodnia dla daty, lub liczbę tygodni z interwału
funkcja day() – Zwraca z daty dzień lub liczbę dni z interwału
funkcja hour() – Zwraca godzinę z czasu lub daty/czasu, lub liczbę godzin z interwału
minute() function – Zwraca minutę z daty/czasu lub czasu, lub liczbę minut z interwału
funkcja second() – Zwraca sekundy z czasu lub daty/czasu, lub liczbę sekund z interwału
- Tekstowe – Zawiera funkcje do operowania na ciągach znaków, np. zamianie, konwersji czy zmianie wielkości liter.
funkcja lower() – Zamienia tekst na małe litery.
funkcja upper() – Zamienia tekst na duże litery.
funkcja title() – Konwertuje wielkość listy w tekście, tak jak w tytule (wszystkie małe litery, za wyjątkiem pierwszych liter w słowach).
funkcja trim() – Usuwa wiodące białe znaki (spacje, tabulatory, itp.) z tekstu.
funkcja wordwrap() – Zwraca tekst podzielony na wiersze według określonej (minimalnej/maksymalnej) liczby znaków.
funkcja length() – Zwraca długość ciągu znaków.
funkcja replace() – Zwraca ciąg znaków z zamienionymi fragmentami.
funkcja regexp_replace() – Zwraca tekst zamieniony w oparciu o wyrażenie regularne.
funkcja regexp_substr() – Zwraca fragment tekstu zgodny z wyrażeniem regularnym.
funkcja substr() – Zwraca fragment tekstu.
funkcja concat() – Łączy wiele łańcuchów tekstowych w jeden.
funkcja strpos() – Zwraca pozycję wyrażenia regularnego w tekście.
funkcja left() – Zwraca fragment tekstu zawierający n znaków od strony lewej.
funkcja right() – Zwraca fragment tekstu zawierający n prawych znaków.
funkcja rpad() – Zwraca tekst uzupełniony znakami.
funkcja lpad() – Zwraca tekst uzupełniony znakami.
funkcja format() – Formatuje tekst zgodnie z zadanymi argumentami.
funkcja format_number() – Zwraca sformatowaną liczbę wraz z separatorem tysięcznym (zgodnie z ustawieniami lokalnymi). Ogranicza części dziesiętne do zadanej dokładności.
funkcja format_date() – Formatuje dane typu daty lub ciągu tekstu na zadany format tekstowy. Wykorzystywana jest składnia Qt
- Koloru – Zawiera funkcje do manipulowania kolorami.
funkcja color_rgb() – Zwraca reprezentację tekstową koloru w postaci jego składowych Red, Green, Blue (czerwony, zielony, niebieski)
funkcja color_rgba() – Zwraca reprezentację tekstową koloru w oparciu o jego składowe (czerwona, zielona, niebieska) oraz przezroczystość (kanał alfa).
funkcja ramp_color() – Zwraca reprezentację tekstową koloru z palety.
funkcja color_hsl() – Zwraca tekst reprezentujący kolor w modelu Hue-Saturation-Lightness (barwa, nasycenie, światło)
funkcja color_hsla() – Zwraca reprezentację tekstową koloru w postaci Hue, Saturation, Lightness, Alpha (barwa, nasycenie, jasność, przezroczystość).
funkcja color_hsv() – Zwraca reprezentację tekstową koloru w postaci Hue, Saturation, Value (barwa, nasycenie, wartość)
funkcja color_hsva() – Zwraca reprezentację tekstową koloru w postaci składowych Hue, Saturation, Value, Alpha (barwa, nasycenie, wartość, przezroczystość).
funkcja color_cmyk() – Zwraca reprezentację tekstową koloru w postaci jego składowych Cyan, Magenta, Yellow, Black (cyjan, magenta, żółty, czarny).
funkcja color_cmyka() – Zwraca reprezentację tekstową koloru w postaci składowych Cyan, Magenta, Yellow, Black, Alpha (cyjan, magenta, żółty, czarny, przezroczystość)
- Geometrii – Zawiera funkcje operujące na geometrii obiektów, np. długości, powierzchni.
funkcja $geometry – Zwraca geometrie aktualnego obiektu. Może być użyte przez kolejne funkcje.
funkcja $area – Zwraca powierzchnię aktualnego obiektu.
funkcja $length – Zwraca długość aktualnego obiektu.
funckaj $perimeter – Zwraca długość obwodu aktualnego obiektu.
funkcja $x – Zwraca współrzędną x aktualnego obiektu.
funkcja $y – Zwraca współrzędną y aktualnego obiektu.
funkcja xat() – Zwraca współrzędną x aktualnego obiektu.
funkcja yat() – Zwraca współrzędną y aktualnego obiektu.
funkcja xmin – Zwraca najmniejszą wartość współrzędnej x obiektu geometrycznego podaną w jego układzie współrzędnych.
funkcja xmax – Zwraca największą wartość współrzędnej x obiektu geometrycznego podaną w jego układzie współrzędnych.
funkcja ymin – Zwraca najmniejszą wartość współrzędnej y obiektu geometrycznego podaną w jego układzie współrzędnych.
funkcja ymax – Zwraca największą wartość współrzędnej y obiektu geometrycznego podaną w jego układzie współrzędnych.
funkcja geomFromWKT – Zwraca geometrię utworzoną z opisu w formacie Well-Known Text (WKT).
funkcja geomFromGML – Zwraca geometrię zapisaną w formacie GML
funkcja bbox – Zwraca 1 jeśli geometria przecina prostokąt ograniczający (bbox).
funkcja disjoint – Zwraca 1 jeśli geometrie nie “przecinają się przestrzennie” – jeśli nie współdzielą żadnej przestrzeni.
funkcja intersects – Zwraca 1, jeśli zadane geometrie przecinają się (współdzielą dowolny obszar przestrzeni), zaś 0 w przeciwnym przypadku.
funkcja touches – Zwraca 1, jeśli geometrie posiadają przynajmniej jeden punkt wspólny, lecz ich wnętrza nie mają części wspólnej.
funkcja crosses – Zwraca 1 jeśli wejściowe geometrie posiadają kilka, lecz nie wszystkie, takie same wewnętrzne punkty.
funkcja contains – Zwraca 1, tylko jeśli żaden punkt b nie leży na zewnątrz a oraz istnieje przynajmniej jeden wspólny punkt wewnętrzny
funkcja overlaps – Zwraca 1, jeśli geometrie tego samego typu współdzielą pewne obszary, lecz nie zawierają się w sobie całkowicie.
funkcja within – Zwraca 1 jeśli geometria a jest całkowicie wewnątrz geometrii b
funkcja buffer – Zwraca geometrię reprezentującą wszystkie punkty, których odległość od tej geometrii jest mniejsza lub równa odległości. Kalkulacje są przeprowadzone w układzie współrzędnych tej geometrii.
funkcja centroid – Zwraca środek geometryczny obiektu.
funkcja bounds – Zwraca geometrię reprezentująca prostokąt ograniczający zadany obiekt geometryczny. Współrzędne podane są w układzie współrzędnych zadanej geometrii.
funkcja bounds_width – Zwraca szerokość prostokąta ograniczającego geometrii. Obliczenia są prowadzone w układzie współrzędnych geometrii.
funkcja bounds_height – Zwraca wysokość prostokąta ograniczającego geometrii. Obliczenia są prowadzone w układzie współrzędnych geometrii.
funkcja convexHull – Zwraca otoczkę wypukłą geometrii. Jest to najmniejszy obszar, w ramach którego mieszczą się wszystkie zadane obiekty.
funkcja difference – Zwraca różnice geometryczną pomiędzy geometriami a i b.
funkcja distance – Zwraca najmniejszą odległość (bazując na układzie współrzędnych) pomiędzy dwoma geometriami.
funkcja intersection – Zwraca część wspólną geometrii a i geometrii b.
funkcja intersection – Zwraca część wspólną geometrii a i geometrii b.
funkcja combine – Zwraca kombinację geometrii a oraz geometrii b.
funkcja union – Zwraca geometrię będącą złączeniem geometrii źródłowych.
funkcja geomToWKT – Zwraca opis obiektu w formacie Well-Known Text (WKT) bez metadanych SRID.
- Wyrażenia warunkowe – Ta grupa zawierają funkcje do obsługi wyrażeń warunkowych.
wyrażenie CASE – Wyrażenie warunkowe służące do sprawdzenia wielu warunków
wyrażenie CASE – Wyrażenie warunkowe służące do porównania z wieloma wartościami.
funkcja coalesce() – Zwraca pierwsze wystąpienie wartości różnej od NULL na liście wyrażeń.
Funkcja przyjmuje dowolną liczbę argumentów.
funkcja regexp_match() – Zwraca TRUE jeśli jakaś część tekstu spełnia warunek wyrażenia regularnego.
10. Pola i wartości – Zawiera listę pól z warstwy. Próbka danych jest dostępna pod prawym klawiszem myszy.
Należy wybrać pole z listy, a następnie prawym klawiszem wyświetlić menu kontekstowe z opcjami wczytywania próbki. UWAGA: wczytywanie wartości z warstwy WFS nie jest obsługiwane przed zasileniem wartościami, czyli przy budowaniu zapytania.
11. Ostatnio użyte (fieldcalc)
Wyświetla ostatnio używane funkcje.
Zachęcamy do zapoznania się i stosowania funkcji dostępnych w kalkulatorze pól. Ich znajomość pozwala nam na obróbkę lub też analizę danych, co bezpośrednio przekłada się na możliwości jakie daje nam QGIS.