Formuły Proste to formuły definiujące automatyczne wypełnienie wartości atrybutów. Atrybuty ze zdefiniowaną formułą stają się zablokowane do “ręcznej” edycji. Formuła przelicza się na nowo za każdym razem, kiedy obiekt jest edytowany.
Ważne:
- Formuły Proste można stosować tylko do obliczeń w ramach jednego atrybutu. Do automatyzacji obliczeń dla wielu atrybutów i warstw należy stosować Formuły Zaawansowane (plan na Q3 2024)
- Przed dodaniem atrybutu z Formułą prostą (atrybutem wirtualnym) należy upewnić się, że źródło danych, które edytujemy posiada prawidłowy układ współrzędnych, gdyż po dodaniu atrybutu z formułą nie będzie możliwości jego zmiany. Domyślnym układem współrzędnych dla źródeł danych tworzonych w wersji web Systemu jest Mercator (EPSG:3857).
- Należy posługiwać się nazwami systemowymi pól np.
nazwa_custom
Do czego to wykorzystać?
Jest to świetne narzędzie, jeśli potrzebujemy zawsze aktualnych danych o często edytowanych obiektach, np. w aspekcie atrybutu o jego długości, powierzchni, obwodzie, czy współrzędnych x i y. Na podstawie atrybutu z Formułą prostą można też etykietować warstwy, a co za tym idzie informacje te umieszczać na wydruku.
Wykorzystanie Formuł prostych ułatwia i wspomaga codzienną pracę analityczną, bądź tworzenie statystyk. Przy wartościach liczbowych zalecamy wybór typu danych atrybutu: liczba rzeczywista.
Przykłady formuł:
- Złączenie wartości tj. konkatencja pól np. Nazwa i Opis
nazwa_custom || opis_custom
- Dodawanie/odejmowanie/mnożenie/dzielenie wartości pól A i B:
A + B
/A - B
/A * B
/A / B
- Wartość maksymalna/minimalna/średnia/suma pola A:
MAX(A)
/MIN(A)
/AVG(A)
/SUM(A)
- ST_X(geom) – formuła zwraca wartość X dla punktu w układzie współrzędnym źródła danych
- ST_Y(geom) – formuła zwraca wartość Y dla punktu w układzie współrzędnym źródła danych
- ST_Y(ST_Transform(geom,4326)) – formuła zwraca wartość Y – lub X po zmianie na ST_X() – dla punktu w układzie EPSG:4326 (WGS84)
- ST_Length(geom) – formuła zwraca długość obiektu w jednostkach układu współrzędnych
- ST_Length(geom)::Numeric(10,2) wariant powyższej formuły, który zwraca długość w jednostkach układu współrzędnych z zaokrągleniem do dwóch miejsc po przecinku
- ST_Perimeter(geom) – formuła zwracająca obwód obiektu poligonowego, podany w jednostkach układu współrzędnych warstwy (zwykle metry)
- ST_Area(geom) – formuła zwraca długość obiektu w jednostkach układu współrzędnych
- ST_Area(geom)::Numeric(10,4)/10000 – wariant powyższej formuły, który zwraca powierzchnię w hektarach, z ograniczeniem do 4 miejsc po przecinku jako Typ Danych: liczba rzeczywista
- ‘https://openinframap.org/#14.04/’ || CAST(ST_Y(ST_centroid(ST_Transform(geom,4326))) AS varchar(20)) || ‘/’ || CAST(ST_X(st_centroid(ST_Transform(geom,4326))) AS varchar(20)) || ‘/L,P,S’ – formuła tworząca link do portalu OpenInfrastructureMap, który przybliży w miejsce centroidu poligonu.
A co w przypadku, kiedy podczas próby zapisu atrybutu z wykorzystaniem Formuły prostej System zwraca komunikat dla użytkownika o nieprawidłowej treści?
Ze względu na różnorodność typów źródeł danych i warstw Użytkowników zalecamy, aby w przypadku takiego komunikatu w pierwszej kolejności zamienić w treści formuły frazę geom na geometry.