Systemy Informacji Przestrzennej

Adam Inglot
Adiunkt w Katedrze Geodezji
Wydział Inżynierii Lądowej i Środowiska, Politechnika Gdańska
adam.inglot@pg.edu.pl

2022-12-12, aktualizacja 2022-12-13

© ainglot.pl, 2022. Udostępnianie i wykorzystanie zgodnie z licencją Creative Commons Attribution 4.0 International license (CC BY 4.0).
Projekt strony zapożyczony za zgodą autora - Paulo Raposo

CC By 4.0

Analiza danych wektorowych cz. 1

W reprezentacji danych wektorowych wszystkie linie i poligony składają się z szeregu punktów, zwanymi wierzchołkami (ang. vertices). Kolejność punktów ma znacznie i decyduje o przebiegu linii (ang. polyline) lub granicy wieloboku (ang. polygon) [@longley2006gis]. Sposób tworzenia i zapisu danych przedstawione jest między innymi w standardach OGC [@herring2011opengis]. Podstawą funkcjonowania narzędzi analizy wektorowej jest przecięcie przestrzenne, relacje atrybutów bazy danych, relacje metryczne i topologiczne pomiędzy obiektami.

Praca w środowisku ArcGIS Pro

Zadanie 1. Sprawdź ile jest w Gdańsku budynków mieszkalnych jednorodzinnych w odległości 50 metrów od jezdni drogi głównej ruchu przyśpieszonego. (Wynik 346 budynków)

1. Przejdź do ArcGIS Pro.

2. Dodaj dane z BDOT10k, warstwa budynków (BUBD) i warstwę jezdni (SKJZ) do projektu.

3. Z menu głównego wybierz Analysis, następnie LPM na Tools.

image

4. Otworzy się okno Geoprocessing. Widoczne narzędzia pochodzą z puli najczęściej używanych.

image

5. Znajdź narzędzie Select - (Toolboxes/Analysis Tools/Extract/Select) lub wpisz nazwę w oknie Find Tools.

image image

6. Przejdź do narzędzia Select, wprowadź parametry tak, żeby otrzymać obiekty reprezentujące budynki jednorodzinne, pamiętaj aby podawać taką nazwę warstwy wyjściowej która będzie łatwa do interpretacji, zatwierdź OK.

image

7. Wykonaj analogicznie z warstwą jezdni.

image

8. Wyszukaj narzędzie Buffer, a następnie utwórz strefę 50 metrów od wybranych jezdni.

image

9. Przejdź do narzędzie Intersect, wykonaj przecięcie przestrzenne obu warstw.

image

10. Przejdź do tabeli atrybutowej nowej warstwy wynikowej z narzędzia Intersect i sprawdź ile jest obiektów - (1 320).

11. Ponownie utwórz strefę 50 metrów odległości od wybranych jezdni, ale tym razem wskaż w oknie Dissolve Type wartość Dissolve all output features into a single feature.

image

12. Ponów działanie narzędzia Intersect (z uwzględnieniem drugiej warstwy bufora) i odczytaj wynik w tabeli atrybutów - (346).

image

Który wynik jest poprawny i dlaczego?

13. Wybierz narzędzie Spatial Join, jako Target Features wprowadź budynki jednorodzinne, a jako Join Features wprowadź strefę bufora od wybranych jezdni (bez ustawień Dissolve), odznacz ustawienie Keep All Target Features.

image

14. Przejdź do tabeli atrybutowej nowej warstwy wynikowej z narzędzia Spatial Join i sprawdź ile jest obiektów - (346).

15. Ponów działanie narzędzia Spatial Join ale z użyciem warstwy bufora z zmienionym ustawieniem Dissolve i odczytaj wynik w tabeli atrybutów - (346).

16. Czym różnią się te dwie warstwy, dlaczego wynik wyszedł ten sam?.

Na etapie wybierania ustawień przy wykonywaniu strefy narzędziem Buffer brak metody łączenia obiektów powoduje, że dla każdego obiektu z warstwy wejściowej zostanie wyznaczona indywidualna strefa na zadaną odległość. Powoduje to powielenie części strefy gdy obiekty znajdują się w odległości mniejszej niż wartość dystansu wprowadzonego do narzędzia Buffer. Przedstawiona różnica na rysunku poniżej. Z tej różnicy wynika powielenie obiektów przy użyciu narzędzia przecięcia przestrzennego - Intersect.

image

image

Używając narzędzia Spatial Join wykonujemy przecięcie przestrzenne łącząc tabele atrybutową warstwy przyłączanej oraz zliczamy obiekty przyłączone. Dlatego geometria obiektów Target Features nie zostaje zmieniona ani powielona (w przypadku domyślnego ustawienia Join Operation = Join one to one) jedynie różnica pomiędzy warstwami wynikowymi narzędzia Spatial Join znajduje się w kolumnie Join\_Count (rys. 11).

image

Zadanie 2. Oblicz procent powierzchni lasów (PTLZ01) z podziałem na dzielnice Gdańska, a następnie zrób ranking dzielnic od najwyższej wartości do najniższej.

17. Za pomocą narzędzia Select wykonaj kopię warstwy lasów na podstawie warstwy PTLZ - LasyGDA.

image

18. Używając narzędzia Delete Field usuń wszystkie pola atrybutowe z nowej warstwy - (LasyGDA). Pomoże to w lepszym poruszaniu się po tabeli atrybutowej. Wykonaj Run.

image

19. Dodaj nowe pole atrybutowe AreaLasy o typie Double do warstwy - (LasyGDA). Wykonaj to za pomocą narzędzia Add Field.

image

20. Za pomocą narzędzia Calculate Field oblicz pole powierzchni każdego poligonu reprezentującego las w Gdańsku. W polu AreaLasy wprowadź: !shape.area\@hectares!.

image

image

21. Wykonaj analogicznie dla warstwy dzielnic, bez usuwania pól tabeli atrybutowej. Jako nazwę pola powierzchni podaj AreaDziel.

image

22. Wykonaj przecięcie przestrzenne narzędziem Intersect, zachowując domyślne ustawienia.

image

Wizualnie wynik niczym się nie różni od warstwy LasyGDA, jednak jak zaglądniemy do tabeli atrybutowej mamy więcej obiektów i więcej atrybutów.

UWAGA!!! - pole AreaLasy zawiera powierzchnię lasu przed rozdzieleniem na dzielnice, praca na tych wartościach będzie błędna. Musimy w tym momencie ponownie obliczyć powierzchnię w polu AreaLasy.

23. Otwórz tabelę i PPM na pole AreaLasy i wybierz narzędzie ``.

image image

24. Otwórz tabelę atrybutową nowej warstwy, zwróć uwagę jakie dane zostały złączone.

image

25. Narzędziem Summary Statistics oblicz sumę powierzchni z podziałem na dzielnice.

image

image

Sprawdź czy suma pola powierzchni lasów z narzędzia Summary Statistics jest równa sumie pola powierzchni warstwy LasyGDA. Jeżeli nie to pominąłeś\pominęłaś ponowne obliczenie powierzchni lasów po wykonanym przecięciu przestrzennym.

Na koniec wykonaj obliczenie procentowej zawartości terenów leśnych w danej dzielnicy.

26. W tabeli wynikowej narzędzia Summary Statistics dodaj pole ProcArea typu Float.

27. Narzędziem Calculate Field oblicz procent powierzchni lasów w danej dzielnicy zaokrąglając o 2 miejsc po przecinku: round((!SUM_AreaLasy!/!FIRST_AreaDziel!)*100,2).

28. Chcąc posortować tabelę wykorzystaj narzędzie Sort.

image image

29. Zamknij i zapisz ArcGIS Pro.

Praca w środowisku QGIS

Wyznacz jaki procent budynków mieszkalnych znajduje się w strefie 500 metrów od apteki w Gdańsku?

30. Przejdź do QGIS.

31. Dodaj dane z BDOT10k, warstwa budynków (BUBD) rys. 20.

32. Z narzędzi dostępnych w programie wybierz Zaznacz obiekty wyrażeniem \., rys. 21.

33. Zaznacz wszystkie obiekty które mają przypisaną funkcję szczegółową obiektu apteka FUNSZCZ LIKE '%apteka%', rys. 22. Zatwierdź poprzez Zaznacz obiekty a następnie Zamknij. Wybrane zostało 209 obiektów.

image image image

34. Dla wybranych obiektów, reprezentujących budynki w których znajdują się apteki, zbuduj warstwę stref 500 metrów rys. 23 i 24. Podczas uzupełniania wartości w narzędziu, pamiętaj o zwiększeniu liczby segmentów budujących kształt obiektu.

35. Następnie za pomocą selekcji atrybutowej wybierz budynki mieszkalne (BUBD01, BUBD02, BUBD03, BUBD04), rys. 25. Wybranych zostało 32 726 obiektów.

image image image

36. W oknie Algorytmy Processingu wpisz Centroid i wybierz narzędzie Centroidy - rys. 26.

37. Wykonaj narzędzie dla zaznaczonych obiektów (obiektów w aktywnej selekcji) - rys. 27. Wynik widoczny na rysunku 28.

image image image

38. Ostatnim krokiem jest wykonanie zapytania ile centroid budynków znajduje się w przygotowanych strefach. Przejdź do narzędziaZaznaczenie przez lokalizację\. - rys. 29.

39. Jako warstwę w której będą obiekty wybierane wskaż Centroidy, zachowaj relację przecinają się i na końcu wskaż warstwę stref - rys. 30. Wynik to 20 352 budynków znajduje się w odległości 500 metrów od apteki.

image image image

40. Zamknij QGIS.