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-08-24, aktualizacja 2024-10-25

© 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

Selekcja obiektów przestrzennych w GIS

Selekcja jest operacją jednoargumentową, określoną przez warunek dotyczący wartości kolumn danej relacji. Wynikiem jej jest relacja zawierające te wszystkie encje (wiersze) wyjściowej relacji, których atrybuty spełniają dany warunek [1]. Podstawą funkcjonowania bazy danych w GIS jest relacyjny model danych. Relacyjna baza danych to taka baza danych, w której dane są uporządkowane i zorganizowane w postaci relacji [2]. Natomiast relacja to zbiór egzemplarzy encji mających te same atrybuty wraz z wartościami tych atrybutów; relacja może być zapisana jako tablica, której wiersze odpowiadają egzemplarzom encji, a kolumny atrybutom [2].

W systemach informacji geograficznej relacje dotyczą nie tylko atrybutów bazy danych lecz również obiektów przestrzennych, mówimy wtedy o relacjach przestrzennych. Relacje przestrzenne – relacje dotyczące wzajemnego położenia przynajmniej dwóch obiektów w przestrzeni geograficznej. Relacje przestrzenne dzielimy na metryczne i topologiczne. Jako pierwsi relacje topologiczne zaproponowali Egenhofer i Herring jako rozszerzony o wymiar model dziewięciu przecięć topologinczych DE-9IM [3].

image

image

Metody i narzędzia selekcji w ArcGIS

Pierwsze zadanie jakie wykonamy aby zapoznać się z narzędziami selekcji to jedno z podstawowych zapytań do bazy danych. Sprawdzimy, ile w Gdańsku jest budynków jednorodzinnych których powierzchnia jest większa lub równa 100 ㎡? Jak wykonać to zadanie? Po pierwsze musimy dowiedzieć się w jaki sposób przechowywana jest informujący o funkcji budynku. Jak zaglądniemy do rozporządzenia BDOT10k [4] zo znajdziemy atrybut określony jako funkcja ogólna budynku:

image

Wybierzmy obiekty których atrybut jest równy budynkiMieszkalneJednorodzinne. Do wybranych budynków jednorodzinnych musimy dołożyć kolejny warunek minimalnej powierzchni. Zrealizujemy to poprzez zapytanie do bazy o powierzchnię obliczoną na podstawie geometrii obiektów.

1. Uruchom ArcGIS Pro, można wykorzystać projekt GDA lub uruchomić nowy.

Jeżeli wybierzemy już istniejący projekt, można otworzyć nowe okno mapy. To pozwoli na prace bez zawartości w oknie Contents a jednocześnie mamy dostęp do danych które były używane w projekcie.

2. Przejdź w menu głównym do Insert a następnie wybierz New Map.

image

3. Zmień nazwę karty na GDA selekcja, 2LPM na Map1 i w General wprowadź nazwę.

image

4. Dodaj dane budynków z Gdańska - PL.PZGiK.336.2261__OT_BUBD_A do projektu.

5. W Contents wskaż warstwę budynków a następnie przejdź w menu głównym do Select By Attributes.

image

6. Korzystając z atrybutu budynku FUNOGBUD wybierz obiekty reprezentujące budynki jednorodzinne. Następnie zatwierdź przez OK.

image

Wybranych jest 23 728 - sprawdź w tabeli atrybutowej (wynik może różnić się w zależności od aktualizacji danych).

7. Sprawdź wynik otwierając tabele atrybutową.

image

Na wybranych obiektach wykonamy kolejną selekcje wykorzystując pole area w którym przechowywana jest powierzchnia obiektów.

8. Przejdź do selekcji atrybutowej, zmień Selection Type na Select subset from the current selection oraz wprowadź zapytanie Where area is greater than or equal to 100.

image

Wynikiem jest 11 172 budynków spełniających podane warunki. Do otrzymanego rezultatu można wykorzystać jedno zapytanie do bazy danych łącząc spójnikiem and.

9. Wyczyść selekcję korzystając z narzędzia Clear w menu głównym - Map.

image

10. Przejdź ponownie do okna Select By Attributes i wprowadź warunki zapytania połączone przez spójnik and.

image

Wykonajmy teraz kolejne zadanie. Sprawdź ile jest w Gdańsku nieruchomości gruntowych na których położone są budynki typu mieszkalnego i jednocześnie co najmniej jeden garaż. Budynki które zaliczamy do budynków mieszkalnych to obiekty o atrybutach: "budynkiMieszkalneJednorodzinne", "budynkiODwochMieszkaniach", "budynkiOTrzechIWiecejMieszkaniach" lub "budynkiZbiorowegoZamieszkania". Przyjmij że budynek znajduje się na danej działce gdy jego centroida zawiera się w niej.

Dane działek ewidencyjnych można pobrać za pomocą linka: działki ewidencyjne Gdańsk.

11. Dodaj warstwę działek ewidencyjnych do projektu.

12. Przejdź do Select By Attributes i wybierz budynki mieszkalne (posiłkuj się tabelą klas).

image

Wynik to 33 589 wybranych budynków. Wynik może różnić się w zależności od aktualizacji danych. Po wykonaniu selekcji, dla czytelności prowadzenia analiz wykonamy konwersje obiektów poligonowych do centroidy obiektu, zgodnie z opisem zadania. Czym jest centroida?

Centroida - punkt wewnątrz wielokąta reprezentującego pewien obiekt; punktowi temu przyporządkowuje się pewne informacje o obiekcie, a jego położenie wewnątrz wielokąta może być określone, np. jako środek ciężkości, lub wybrane przez użytkownika [2].

13. Na podstawie wybranych obiektów wykonaj nową warstwę przedstawiającą centroidy wybranych budynków. Uruchom okno Geoprocessing - przejdź do menu głównego i wybierz Analysis/Tools.

image

14. W oknie Geoprocessing wyszukaj narzędzia Feature To Point oraz uruchom klikając LPM na nazwę Feature To Point.

image

15. Wprowadź nazwę pliku wyjściowego i zaznacz Inside. Uruchom poprzez Run, nowa warstwa doda się automatycznie do projektu.

image

Wyszukiwanie budynków które mają przypisaną wartość atrybutu garaż musi się odbyć w oparciu o atrybut FUNSZCZ - funkcja szczegółowa. Jednak wyszukiwanie w obrębie tego atrybutu jest bardziej skomplikowane. Na czym polega komplikacja? Jak wyświetlimy atrybut w formie etykiet to dostrzeżemy, że do obiektu może być dopisana więcej niż jedna funkcja.

image

Jeżeli w zapytaniu do bazy danych podamy FUNSZCZ = 'garaz' to wyszukamy jedynie te budynki których funkcja szczegółowa to garaż, żadnej inne funkcji nie pełnią. Wpisując to zapytanie dostaniemy 1 371. W przypadku zapytania rozszerzonego, które zaraz wykonamy wynik będzie powiększony o kilka obiektów - 1 375.

We wcześniejszych zapytaniach używaliśmy znak równości =, czyli obiekty spełniające warunek musiały mieć dokładnie takie wyrażenie do którego przyrównujemy np. 'garaż', czy wczesniej 'budynkiMieszkalneJednorodzinne'. Tym razem chcemy wyszukać te obiekty które zawierają w wartości atrybutu 'garaż' i użyjemy do tego metody LIKE. Metoda ta wymaga zastosowania dodatkowych operatorów: % i\lub _, znak % oznacza że liczba znaków przed lub po (w zależności od ustawienie przed, po szukanej frazy) szukanej frazie nie ma znaczenia, znak _ zastępuje pojedynczy znak w ciągu wyrazów. W naszym zapytaniu wykorzystamy znak % przed i po wyrażeniu 'garaż'. Ostatnia uwaga o jakiej należy wspomnieć, atrybut FUNSZCZ nie przechowują polskich znaków, czyli będziemy wykorzystywać wyrażenie garaz.

16. Przejdź do Select By Attributes - menu główne Map i wybierz narzędzie.

image

17. Wprowadź zapytanie do bazy danych: FUNSZCZ LIKE '%garaz%'..

image

Po wykonaniu selekcji wygeneruj na podstawie wybranych obiektów centroidy garaży. Wykonaj analogicznie jak w przypadku budynków jednorodzinnych.

18. W oknie Geoprocessing wyszukaj narzędzia Feature To Point oraz uruchom klikając LPM na nazwę Feature To Point.

image

19. Wprowadź nazwę pliku wyjściowego i zaznacz Inside. Uruchom poprzez Run, nowa warstwa doda się automatycznie do projektu.

image

20. Dodaj warstwę działek ewidencyjnych. W Contents wskaż tę warstwę. Następnie w menu głównym wybierz Select By Location.

image

21. W oknie Select By Location wprowadź warstwę centroid budynków mieszkalnych jako Selecting Features. Zatwierdź poprzez \textit{Apply}.

image

Wynik jaki otrzymaliśmy po pierwszym kroku selekcji to 28 579 działek ewidencyjnych spełniających warunek posiadania centroidę budynku mieszkalnego. Wynik może różnić się w zależności od aktualizacji danych. Następnie rozszerzymy warunek o zawieranie centroidy garażu w obrębie wybranych działek.

22. W oknie Select By Location zamień warstwę centroid budynków mieszkalnych na warstwę centroid garaży, oraz zmień w oknie Selection type na Select subset from current selection i zatwierdź OK.

image

Metody i narzędzia selekcji w QGIS

Quantum GIS oferuje podobne metody selekcji danych przestrzennych i nieprzestrzennych. Narzędzia selekcji poprzez lokalizację, czyli narzędzia zbudowane w oparciu o macierz Egenhofera (model dziewięciu przecięć topologinczych DE-9IM) nieco różnią się logiką zapytania przestrzennego. Różnice pomiędzy standardami OGC, narzędziami ArcGIS i QGIS zostały szczegółowo omówione podczas wykładu - "SIP - Relacje w bazie danych przestrzennych".

23. Otwórz QGIS i dodaj dane do projektu: DzialkiEwidencyjne i PL.PZGiK.336.2261__OT_OIPR_P.

image

Podobnie jak wykonywaliśmy selekcję atrybutową w ArcGIS, również tu selekcja obiektów oparta jest na zapytaniach SQL. Wykonajmy zadanie które odpowie nam ile działek ma w swoich granicach przynajmniej jedno drzewo. Posłużymy się warstwą obiekt przyrodniczy - OT_OIPR w której znajdują się obiekty z wartością atrybutu RODZAJ = drzewo lub grupa drzew.

24. Przejdź do narzędzia Zaznacz obiekty wyrażeniem.. .

image

25. W oknie selekcji atrybutowej Zaznacz wyrażeniem, ułóż zapytanie do bazy: RODZAJ = 'drzewo lub grupa drzew'.

image

W wyniku działania narzędzia wybrane zostało 24~563 obiektów. Następnym krokiem będzie wybór działek w obrębie których znajduje się co najmniej 1 drzewo. Użyjemy selekcji poprzez lokalizację w taki sposób żeby wybrać działki z tych już zaznaczonych - Tylko zaznaczone obiekty.

26. Przejdź teraz do selekcji przestrzennej by móc wybrać działki na których znajduje się przynajmniej 1 drzewo. W menu głównym wybierz Wektor/ Narzędzia badawcze/ Zaznaczenie przez lokalizację. i skorzystaj z przecięcia przestrzennego - Wybierz obiekty z - DzialkiEwidencyjne - przecinają się - w relacji do obiektów warstwy - 'OIPR01'.

image

image

27. zakończ pracę w QGIS.

Używane skróty:

[1] wyklady.org Modele danych - bazy danych,
[2] Polskie Towarzystwo Informacji Przestrzennej. Internetowy leksykon geomatyczny, 2006.
[3] Max J Egenhofer, John Herring. Categorizing binary topological relations between regions, lines, and points in geographic databases. 9(94-1):76, 1990.
[4] Rozporządzenie Ministra Rozwoju, Pracy i Technologii z dnia 27 lipca 2021 r., w sprawie bazy danych obiektów topograficznych oraz bazy danych obiektów ogólnogeograficznych, a także standardowych opracowań kartograficznych.

Autor: Adam Inglot, mail: adam.inglot@pg.edu.pl