Jak wydobyć współrzędne wierzchołków poligonu?

Każdy poligon składa się z wierzchołków połączonych liniami (segmentami), a każdy z tych wierzchołków posiada współrzędne definiujące jego położenie. Bardzo często zachodzi konieczność wydobycia tych współrzędnych w formie tekstowej, celem załączenia ich w odpowiednim dokumencie (uchwała, rozporządzenie itp.).

Korzystając z faktu, że geometria poligonu może być zapisana w formie współrzędnych WKT (Well-known text), istnieje możliwość szybkiego wyświetlenia współrzędnych wszystkich wierzchołków, bez konieczności analizowania każdego z osobna. Poniżej opisane zostały trzy sposoby na wydobycie owych danych, dostępne z poziomu programu QGIS.

Należy także wspomnieć, że metody te odnoszą się nie tylko dla poligonów, ale również innych typów geometrii (punkty, linie, multilinie itp.).

Kalkulator pól

Pierwszym sposobem jest skorzystanie z funkcji geomToWKT. W tym celu należy przejść do kalkulatora pól, który umożliwi stworzenie nowego pola tekstowego, do którego zostaną zaimportowane współrzędne wierzchołków.

WAŻNE!

Ze względu na spore ograniczenia plików Shapefile, co do maksymalnej ilości znaków w polu tekstowym (255), zaleca się korzystanie w tym przypadku z innych dostępnych formatów plików wektorowych (np. GeoPackage). Ma to duże znaczenie przy wydobywaniu współrzędnych obiektów o bardzo złożonej geometrii, gdzie ciąg współrzędnych WKT może składać z kilku lub nawet kilkudziesięciu tysięcy znaków.

Po zdefiniowaniu właściwości pola należy przejść do tworzenia wyrażenia odpowiedzialnego za konwersję geometrii obiektu do formatu WKT. Wyrażenie będzie zależnością funkcji geomToWKT oraz funkcji stałej $geometry i powinno wyglądać w następujący sposób:

geomToWKT( $geometry )

Dodatkowo w wyrażeniu można zdefiniować konwersję układu współrzędnych, w którym mają zostać zaimportowane współrzędne. W tym celu należy do wyrażenia dodać funkcję transform i zdefiniować kod EPSG docelowego układu współrzędnych. Przykładowo dla konwersji do układu WGS 84 całość wyrażenia będzie wyglądać następująco:

geomToWKT( transform( $geometry, layer_property( @layer_name , ‚crs’ ), ‚EPSG:4326’ ))

Zatwierdzenie kalkulatora pól spowoduje utworzenie nowej kolumny wypełnionej współrzędnymi poligonu zapisanymi w formacie WKT. Przykładowy ciąg współrzędnych powinien wyglądać następująco:

Polygon (((561808.3564 254753.8398, 561816.5739 254727.0933, 561800.3527 254740.787, 561796.8712 254743.7193, 561766.3028 254762.0211, 561759.9265 254767.2821, 561751.2435 254784.5766, 561746.9993 254798.3161, 561728.3089 254816.2807, 561728.6759 254834.2482, 561721.2587 254858.4678, 561720.508 254877.4342, 561729.933 254883.9971, 561733.0993 254875.537, 561741.9848 254863.1572, 561749.4302 254856.1465, 561793.512 254780.5003, 561808.3564 254753.8398)))

Eksport do CSV

Kolejnym sposobem jest eksport warstwy do formatu CSV. W tym celu w panelu warstw należy kliknąć prawym przyciskiem myszy na wybraną warstwę, następnie wybrać Eksportuj i Save Features As. W oknie zapisywania warstwy należy wskazać format CSV (Comma Separated Value), wskazać lokalizację pliku oraz docelowy układ współrzędnych – QGIS przekonwertuje do niego geometrię i zwróci współrzędne w odpowiedniej formie. Dodatkowo aby w generowanym pliku zapisane zostały współrzędne obiektów należy jeszcze w opcjach warstwy ustawić pole GEOMETRY na AS_WKT.

Taki plik można później otworzyć w dowolnym arkuszu kalkulacyjnym lub wczytać do QGIS jako format przestrzenny, za pomocą opcji Tekst rozdzielony separatorami.

Wtyczka Get WKT

Trzecią metodą jest wykorzystanie wtyczki Get WKT. Pozwala ona na wydobycie współrzędnych konkretnego obiektu z danej warstwy. W tym celu należy zaznaczyć poligon, którego współrzędne mają zostać wydobyte, a następnie kliknąć na ikonę wtyczki znajdująca się w pasku narzędzi. Wyświetlone zostanie okno ze współrzędnymi obiektu w formie WKT, które można zaznaczyć trójklikiem i następnie skopiować do dowolnego dokumentu.

Wartości zostaną zwrócone w układzie współrzędnych warstwy.