Adam Inglot
Adiunkt w Katedrze Geodezji
Wydział Inżynierii Lądowej i Środowiska, Politechnika Gdańska
adam.inglot@pg.edu.pl
2022-09-07, aktualizacja 2023-11-20
© ainglot.pl, 2022. Udostępnianie i wykorzystanie zgodnie z licencją Creative Commons Attribution 4.0 International license (CC BY 4.0).Relacje topologiczne pojawiły się już przy omawianiu tematu selekcji. Jako pierwsi relacje topologiczne zaproponowali Egenhofer i Herring, był to model dziewięciu przecięć topologicznych DE-9IM [1]. Na rysunku poniżej przedstawiony jest model przecięć topologicznych DE-9IM dla obiektów powierzchniowych, oznaczenia te przedstawiają: O° - wnętrze obiektu, ∂O - granica obiektu, $O^{-}$ - zewnętrze obiektu - wszystko poza obiektem. Symbolem ∅ oznacza zbiór pusty, natomiast zastosowanie negacji ¬∅ oznacza że w wyniku przecięcia przestrzennego otrzymujemy elementy wspólne.
Przeanalizujmy relacje zawierania jednego obiektu w drugim, zapisujemy to w formie zapytania przestrzennego: Czy $O_{1}$ zawiera $O_{2}$? Spełnienie tego warunku jest przedstawione na rysunku poniżej.
W macierzy Egenhofera otrzymujemy odpowiedzi boolowskie (T - true, F - false) na to zapytanie, macierz DE-9IM będzie przyjmować formę jak w poniższej tabeli, oznacza to że tam gdzie mamy zbiór pusty - ∅, będziemy mieć False
, a gdzie mamy ¬∅ to dostaniemy odpowiedź True
.
$O°_2$ | $\partial O_2$ | $O^{-}_2$ | $O°_1$ | T | T | T | $\partial O_1$ | F | F | T | $O^{-}_1$ | F | F | T |
---|
Dzięki DE-9IM możemy przeprowadzać zapytania przestrzenne (wykorzystywaliśmy przy selekcji), sprawdzać błędy topologiczne (przedstawione na ćwiczeniach poniżej), wiele narzędzi do analizy danych wektorowych wykorzystuje relacje topologiczne. Relacje topologiczne zostały wpisane w standardy GIS - tabela poniżej [2].
Jak już wspomniano, wiele narzędzi GIS zostało zbudowanych na relacjach przestrzennych, zarówno w QGIS jak i ArcGIS. W tym ćwiczeniu zapoznamy się z narzędziami do wykrywania błędów topologicznych. W ArcGISPro błędy topologiczne można sprawdzić stosując zestaw danych topologicznych w którym podawane są reguły pomiędzy obiektami w warstwie. Przeprowadzimy konwersje danych w oparciu o rozporządzenie w sprawie baz danych obiektów topograficznych oraz mapy zasadniczej. Sprawdź relacje topologiczne pomiędzy obiektami w danej warstwie. Dla wyznaczonego zakresu pozyskaj obiekty: "KTCR02 - chodnik", "OBOP02_01 - drzewo liściaste", "SUPG01 - przewód gazowy".
RelacjeTopologiczne
.Pobierz dane BDOT500 (wystawione na eNauczaniu) i umieść w projekcie GDA
. Dane pozyskane z Powiatowego Ośrodka Dokumentacji Geodezyjnej i Kartograficznej (PODGiK) w Gdańsku, wykorzystamy do zapoznania się z narzędziami do kontroli relacji topologicznych. Do pracy wybierzemy trzy klasy obiektów: chodnik, drzewo liściaste oraz przewód gazowy. Dla tych warstw określimy relacje topologiczne które chcemy sprawdzić.
DBOT500GDA
do folderu w którym jest projekt.Z warstwy liniowej, która znajduje się w geobazie DBOT500GDA, wybierzemy trzy klasy obiektów i zapiszemy do nowych warstw. Przeprowadzimy to za pomocą narzędzi konwersji: Feature To Line
oraz Feature To Point
. Narzędzia te konwertują obiekty wskazanej warstwy do nowej warstwy której wymiar jest równy lub mniejszy. Co to znaczy? W przypadku narzędzia Feature To Line
możemy wprowadzić warstwę poligonów lub linii, a w wyniku dostaniemy warstwę liniową. Nie możemy wprowadzić do tego narzędzia warstwy punktowej, wymiar warstwy punktowej to DIM=0
a warstwy liniowej DIM=1
, w narzędziach ArcGIS inne narzędzie służy do generowania linii za pomocą warstwy punktowej - Points To Line
.
Podczas konwersji danych należy pamiętać aby umieścić dane w zestawie danych. Czynność ta jest w tym momencie wymagana na potrzeby budowania narzędzi do kontroli topologicznej. Mówiąc inaczej, chcąc zbudować warstwę kontroli relacji topologicznych wybranych warstw, warstwy te muszą być umieszczone nie tylko w tej samej geobazie ale w tym samym zestawie danych.
Do pracy nad weryfikacją i poprawą danych użyjemy ortofotomapy, której data wykonania jest najbliższa dacie zawartej w bazie (wygenerowania danych ze zbioru PODGiK). Ponieważ nie mamy żadnych dostępnych opracowań geodezyjnych (operatów) zawierających informacje dzięki którym wykonamy aktualizację, przeprowadzimy to przy użyciu ortofotomapy o wysokiej rozdzielczości.
KTCR02_chodnik
, OBOP02_01_drzewa_lisciaste
, SUPG_01_przewod_gazowy
i Zakres
.DocUpdate
w tabeli atrybutowej.Do pracy nad danymi możemy nadać transparentność warstwie poligonowej, wykonamy to podobnie jak we wcześniejszych ćwiczeniach - przechodząc do menu głównego, we właściwościach Appearance
. Można również wykonać to w symbolizacji warstwy Color Properties
, a następnie ustawiając wartość Transparency
.
Zakres
była częściowo przeźroczysta, przejdź w menu głównym do Feature Layer
, a następnie w Layer transparency
podaj w % przeźroczystość.W tym momencie możemy przejść do budowy warstwy relacji topologicznych. Jak już zostało to wspomniane, budowa warstwy relacji topologicznych może być wykonana w zestawie danych. Przechodząc do zestawu danych, uruchamiamy kreatora budowy relacji topologicznych - Create Topology Wizard
. W kreatorze mamy trzy karty. Pierwsza kara służy do określenia: nazwy warstwy, dokładności współrzędnych X i Y oraz wskazaniu jakie warstwy (w obrębie zestawu danych) mają brać udział w budowaniu relacji topologicznych. Wybrane warstwy będą dostępne w kolejnej karcie, jednak trzeba pamiętać że wybrane warstwy nie będą dostępne w do budowy kolejnej warstwy relacji topologicznej - mówiąc inaczej - dane mogę być wykorzystane tylko w jednej warstwie relacji topologicznej jednocześnie. Druga karta stanowi główną część narzędzia, w tej karcie ustawiamy jakie relacje mają być sprawdzane. W zależności od badanej warstwy, odpowiednie relacje będą dostępne. Na temat relacji przestrzennych można dowiedzieć się więcej na stronach internetowych dokumentacji oprogramowania ArcGIS Pro. W naszych rozważaniach skupimy się na warstwie liniowej, w odniesieniu do relacji wzajemnej pomiędzy obiektami tej warstwy. Przypiszemy relacje z poniższej listy. Ostatnia, trzecia karta, stanowi podsumowanie wybranych ustawień.
1. Must Not Self Overlap
2. Must Not Self Intersect
3. Must Not Intersect Or Touch Interior
4. Must Not Have Dangles
5. Must Not Have Pseudo Nodes
Catalog
przejdź do zestawu danych DBOT500GDA/Dane2000str6
, PPM na ten zestaw danych, następnie New/Topology
.Create Topology Wizard
zaznacz warstwę chodników, przejdź dalej Next
.Finish
.Ustalone zostały relacje w obrębie warstwy KTCR02
- chodnik. Przed dodaniem warstwy relacji topologicznych do projektu należy wykonać walidacje - Validate Topology
. Warstwa którą przygotowaliśmy nie jest automatycznie sprawdzana pod względem błędów, to znaczy ze relacje dopiero zostaną sprawdzone gdy wykonamy walidacje. Przeprowadzanie walidacji wykonujemy również w trakcie poprawiania błędów. Co to znaczy? Przygotowaliśmy warstwę relacji topologicznych w celu sprawdzenia błędów pomiędzy obiektami, kolejnym krokiem będzie weryfikacja a następnie poprawa tam gdzie błąd stanowi faktyczną nieprawidłowo wykonaną geometrie obiektu lub brak obiektu.
Catalog
PPM na zbiór danych topologicznych i wybierz Validate
.Uruchomimy teraz panel narzędzi do obsługi przeglądania błędów topologicznych. Okno Error Inspector
pomaga w wyszukiwaniu i przeglądaniu błędów wyznaczonych poprzez reguły topologiczne. W panelu mamy dostęp do elementu listy błędów oraz okna podglądu lokalizacji błędu. Jest to wygodne narzędzie do sprawdzania błędów topologicznych.
Error Inspector
w menu głównym Edit
.W pracy nad dużą liczbą relacji topologicznych warto korzystać z filtracji i sprawdzać, rozwiązywać błędy w danej kategorii. Wybierając daną kategorie błędów w filtracji, przechodzimy do przeglądania danego typu relacji w tabeli jak i w oknie projektu.
. Must Not Intersect .
.Wybrana kategoria, relacja - ... Must Not Intersect ...
- dotyczy powielonych odcinków w warstwie. Nie ma uzasadnienia przechowywania odcinków o tej samej geometrii w jednej warstwie, jest to sytuacja niepożądana i chcemy zmienić dane. Narzędzia topologii wskazują gdzie jest błąd, natomiast poprawić dane możemy narzędziami edycji lub narzędziami danych wektorowych znajdujących się w oknie Geoprocessing
. W tym przypadku musimy wskazać odpowiedni obiekt z powielonych linii i usunąć go.
Zoom To
.. Must Not Have Dangles .
, podobnie jak na rysunku 21.Kolejny rodzaj błędu w relacjach topologicznych, który sprawdzimy to ... Must Not Have Dangles ...
. Jest to problem "wiszących węzłów". Problem ten jest nieco bardziej złożony niż wcześniejsza kontrola błędu topologicznego, dlatego że, nie w każdym przypadku wiszący węzeł jest błędem. Poligon który dodaliśmy (warstwa Zakres
) stanowi obszar naszych prac, czyli co jest poza tym obszarem nie stanowi elementu naszego zainteresowania w tym ćwiczeniu. Uwaga ta jest ważna gdyż część węzłów wiszących znajduje się na granicy opracowania i te węzły nie stanowią błędu (oczywiście, warto byłoby upewnić czy te węzły sykają się z granicą opracowania - ale pominiemy ten etap). Interesują nas węzły w obrębie obszaru opracowania.
Na czym polega błąd w relacji topologicznej Must Not Have Pseudo Nodes
. Nie jest to błąd wynikający stricte z relacji topologicznych, ale z liczby odcinków w węźle[3]. Przedstawmy tę informacje głębiej. Geometrycznie węzeł to punkt, w przypadku linii - punkt końcowy lub początkowy. Jeżeli w węźle danej linii styka się tylko jeden węzeł z pozostałych linii w warstwie, to nie ma uzasadnienia geometrycznego na przechowywanie tych dwóch linii jako osobne obiekty. Ważne jest tu zaznaczenie że chodzi o geometrię obiektu, ponieważ różne atrybuty pomiędzy tymi obiektami stanowią powód utrzymania tej sytuacji. Dodatkowo, tego typu błędy na ogół nie stanowią problemów w dalszych analizach.
Merge
z Edit
.Merge
wybierz obiekt z uzupełnionymi atrybutami (ten z mniejszym numerem ID), zatwierdź Merge
. Błąd zostanie usunięty. Postępuj analogicznie w pozostałych sytuacjach.Jeżeli nie potrzebujemy lub uznaliśmy że któraś z relacji topologicznych jest niepotrzebna, możemy ją usunąć we właściwościach warstwy relacji topologicznych. Dostępna jest również możliwość zamiany relacji w tym oknie.
Properties
) zestawu danych topologicznych w Catalog
.Must Not Have Pseudo Nodes .
.Must Not Intersect Or Touch Interior
zamień na Must Not Intersect
, zatwierdź OK
.Must Not Have Dangles
.Po sprawdzeni, poprawieniu lub zaakceptowaniu błędów wskazanych w warstwie relacji topologicznej, przechodzimy do błędów których nie jesteśmy wstanie wskazać poprzez relacje. Jednym z tego typu błędów jest widoczny na rysunku poniżej. Bak jest linii separującej jezdnie od chodnika (zaznaczone czerwoną linią).
Feature To Polygon
.Run
.SUPG_01 - przewód gazowy
biorąc pod uwagę następujące relacje:Must Not Self Overlap
Must Not Self Intersect
Must Not Intersect Or Touch Interior
Must Not Have Dangles
Must Not Have Pseudo Nodes
SUPG_01
. Możesz wykonać to w Catalog
- PPM i Rename
, pamiętaj aby wcześniej zapisać edycję danych.Używane skróty:
[1] Max J Egenhofer, John Herring. Categorizing binary topological relations between regions, lines, and points in geographic databases, 9(94-1):76, 1990.
[2] J Herring. Opengis implementation standard for geographic information-simple feature access-part 1: Common architecture. OGC Document, 4(21):122–127, 2011.
[3] Polskie Towarzystwo Informacji Przestrzennej. Internetowy leksykon geomatyczny, 2006.
Autor: Adam Inglot, mail: adam.inglot@pg.edu.pl