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 a także kiedy układ współrzędnych źródła danych zostaje zmieniony.
Ważne:
1.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.
2.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.
Jak zmienić układ współrzędnych Źródła danych?
3.Domyślnym układem współrzędnych dla nowotworzonych źródeł danych w wersji web Systemu jest Mercator (EPSG:3857) i w przypadku chęci pozostania w tym układzie a jednocześnie oczekiwania prawidłowej wartości atrybutu np. z długością odcinka ma to znaczenie (należy pamiętać, aby w takim przypadku albo użyć funkcji transformującej do układu współrzędnych aplikacji (odpowiedniego dla swojej lokalizacji układu: PL-2000)).
4.Tworząc atrybuty wirtualne 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 źródła danych
- 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)/10000)::Numeric(10,4) – 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.