Konwersja poligonów na punkty lub linie w R

Często potrzebujemy uprościć geometrię poligonów do punktów lub linii. Jak to zrobić w R? Nic prostszego – sięgamy do funkcji gCentroid lub gPointOnSurface z biblioteki rgeos.

Wczytajmy najpierw biblioteki do czytania i przekształcania danych wektorowych:

Następnie wczytujemy nasze poligony. My skorzystamy z granic gmin na Mazowszu z PRG:

Wyświetlamy wczytaną warstwę:

Korzystając z gCentroid możemy wygenerować centroidy poligonów:

Dodajmy centroidy do wyświetlonej wcześniej warstwy:

W bibliotece rgdal mamy jeszcze jedną funkcję do generalizacji poligonów do punktów – gPointOnSurface. Funkcja ta działa trochę wolniej, ale punkty generuje zawsze wewnątrz poligonów w przeciwieństwie do gCentroid. Stwórzmy warstwę z wykorzystaniem tego narzędzia:

Dodajmy wynik do wcześniej wyświetlanych warstw:

Jak widać punkty z obu warstw punktowych są przesunięte między sobą.

Na koniec pokażemy jak zmienić poligony na linie. Wykorzystujemy do tego rzutowanie klas z użyciem funkcji bazowe R as:

Sprawdzamy klasę nowego obiektu:

Mamy warstwę linii:)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Translate using Google Translate»
Social media & sharing icons powered by UltimatelySocial

Podoba Ci się nasza strona? Odwiedź nasz profil