Powiązane pytanie tutaj.
Zauważam, że zapewnienie poprawności topologicznej jest niezbędne w aplikacjach GIS, ponieważ dane wejściowe z operacji logicznej użytkownika lub wielokąta mogą mieć poważne problemy topologiczne (nawet jeśli wielokąty wyglądają poprawnie), które zagroziłyby jakości kolejnych operacji.
Czysty wielokąt to sposób, w jaki robią Geo Wizards, aby zapewnić poprawność topologii.
Arcgis ma również polecenie czyszczenia taśm.
Moje pytanie nie dotyczy sposobu korzystania z istniejących pakietów oprogramowania, aby upewnić się, że dane wejściowe wielokąta są poprawne topologicznie; raczej moje pytanie dotyczy tego, jak te pakiety oprogramowania implementują te procedury czyszczenia. Innymi słowy, jakiego algorytmu mogę użyć, aby upewnić się, że mogę naprawić wszystkie błędy topologiczne, biorąc pod uwagę zestaw wielokątnych danych wejściowych?
Odpowiedzi:
Szybkie wyszukiwanie w Google Scholar przyniosło następujące dobrze cytowane artykuły:
Thierry Ubeda i Max J. Egenhofer. Korekcja błędów topologicznych w GIS . Postępy w bazach przestrzennych, Uwagi do wykładów z informatyki , 1997, tom 1262/1997, 281-297, DOI: 10.1007 / 3-540-63238-7_35 ( PDF )
Sylvie Servigne, Thierry Ubeda, Alain Puricelli i Robert Laurini. Metodologia poprawy spójności przestrzennej baz danych geograficznych . GeoInformatica , 2000, tom 4, numer 1, 7-34, DOI: 10.1023 / A: 1009824308542 ( PDF )
źródło
Szczegółowy opis procedur czyszczenia topologicznego można znaleźć w kodzie źródłowym i podręcznikach GRASS GIS: http://grass.osgeo.org/programming7
Procedury czyszczenia są kodowane tutaj: http://trac.osgeo.org/grass/browser/grass/trunk/vector/v.clean
Przykłady podstawowych procedur:
Podstawowe pojęcia są przedstawione tutaj: http://grass.osgeo.org/programming7/vectorlib.html#vlibTopoExamples
źródło
Chociaż nie jest to algorytm, ta strona zawiera informacje o tym, jakie rodzaje błędów topologii szuka „sprawdź geometrię” w narzędziach ArcGIS Sprawdź geometrię / Napraw geometrię. http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000003v000000
źródło
Nie sądzę, że istnieje sposób na pełną automatyzację poprawiania błędów topologicznych w danym zbiorze danych. Niektóre rzeczy, takie jak zawieszki, mogą być w stanie zautomatyzować podział, a następnie usunąć powstały zwis. Ale co z taśmami między dwoma sąsiadującymi wielokątami, który wielokąt powinien zostać połączony z którym kawałkiem, aby go wyeliminować? Tego rodzaju pytanie wymaga wkładu użytkownika. Myślę jednak, że w celu zidentyfikowania błędów algorytmy wykorzystują jakąś odmianę DE-9IM (9 coś coś wymiarowo rozszerzone). Myślę, że najlepszym rozwiązaniem byłoby przyjrzenie się pakietowi Java Topology Suite (JTS). W szczególności klasa Geometry Graph. Myślę, że można to wykorzystać do budowy różnych komponentów konkretnej geometrii, a następnie sprawdzić różne problemy z topologią. Nigdy tego nie robiłem, ale przyglądałem się temu niedawno.
Jeśli nie znasz Javy, GEOS to smak J ++ w C ++, a NetTopologySuite to smak C #.
Mam nadzieję, że to pomaga.
źródło
Dokumentacja poleceń ArcGIS Integrate została już wspomniana, ale ESRI wydało również dokument techniczny Zrozumienie przetwarzania geometrycznego w ArcGIS dokumentujący logikę przetwarzania używaną przez Integrate (i operacje Geoprocessing obejmujące ogólnie tolerancję). Koncentruje się to na unikaniu i korygowaniu błędów topologicznych generowanych w wyniku geoprzetwarzania. Podano kilka odniesień, które mogą być również przydatne.
źródło