Analiza odległości w R

W dzisiejszym poście zaprezentujemy Wam jak używać narzędzia gDistance z biblioteki rgeos do wyliczenia odległości pomiędzy obiektami warstw wektorowych. Do naszego przykładu użyjemy znane już z wcześniejszych postów linie kolejowe (pobierz) oraz lokalizacje jednostek straży pożarnej (pobierz). Na początku wczytujemy obie warstwy i  wyświetlamy wczytane warstwy:

Do obliczenia odległości użyjemy funkcji gDistance. Argumentami funkcji są dwie wczytane wcześniej warstwy pomiędzy, którymi analizujemy odległość:

W wyniku otrzymujemy jedną odległość, która jest najmniejszą odległością pomiędzy obiektami warstwy:

Do otrzymania macierzy odległości pomiędzy obiektami warstw konieczne jest dodanie dodatkowego argumentu byid, jak w przypadku funkcji gIntersects:

W wyniku otrzymujemy macierz odległości pomiędzy wszystkimi obiektami warstw:

Na koniec znajdźmy z wykorzystaniem funkcji gDistance na przykład jednostkę straży, która ma w linii prostej najbliżej do jednego z odcinków linii kolejowej. Wybierzmy odcinek linii o osm_id = 294250370:

Wyselekcjonowany odcinek znajduje się w dużej odległości od wszystkich jednostek straży:

Wyliczmy odległość od wybranej linii do poszczególnych jednostek straży:

Wyliczone odległości wynoszą:

Minimalna odległość to:

Najbliżej wybranej przez nas linii znajduje się:

Poznaną funkcję możecie używa do wielu różnych analiz, gdzie potrzebna jest wiedza o odległości między obiektami. Macie jakiś inny pomysł na jej zastosowanie? Piszcie w komentarzach.

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