Verwandte Frage hier.
Ich stelle fest, dass die Sicherstellung der topologischen Korrektheit für GIS-Anwendungen von wesentlicher Bedeutung ist, da die Eingabe durch Benutzer- oder Polygon-Boolesche Operationen schwerwiegende topologische Probleme verursachen kann (auch wenn die Polygone korrekt aussehen), die die Qualität der nachfolgenden Operationen beeinträchtigen würden.
Mit Clean Polygon stellen Geo Wizards die Richtigkeit der Topologie sicher.
Arcgis verfügt auch über einen Befehl zum Bereinigen der Bänder.
Bei meiner Frage geht es nicht darum, wie Sie mit den vorhandenen Softwarepaketen sicherstellen können, dass die Polygoneingabedaten topologisch korrekt sind. Meine Frage ist vielmehr, wie diese Softwarepakete diese Reinigungsverfahren implementieren. Mit anderen Worten, mit welchem Algorithmus kann ich sicherstellen, dass ich alle topologischen Fehler bei einer Reihe polygonaler Eingaben beheben kann?
Antworten:
Eine schnelle Google Scholar-Suche ergab die folgenden häufig zitierten Artikel:
Thierry Ubeda und Max J. Egenhofer. Topologische Fehlerkorrektur im GIS . Fortschritte in räumlichen Datenbanken, Lecture Notes in Computer Science , 1997, Band 1262/1997, 281-297, DOI: 10.1007 / 3-540-63238-7_35 ( PDF )
Sylvie Servigne, Thierry Ubeda, Alain Puricelli und Robert Laurini. Eine Methodik zur Verbesserung der räumlichen Konsistenz geografischer Datenbanken . GeoInformatica , 2000, Band 4, Nummer 1, 7-34, DOI: 10.1023 / A: 1009824308542 ( PDF )
quelle
Eine detaillierte Beschreibung der topologischen Reinigungsroutinen finden Sie im Quellcode und in den Handbüchern von GRASS GIS: http://grass.osgeo.org/programming7
Die Reinigungsroutinen sind hier codiert: http://trac.osgeo.org/grass/browser/grass/trunk/vector/v.clean
Beispiele für die zugrunde liegenden Routinen:
Die zugrunde liegenden Konzepte werden hier beschrieben: http://grass.osgeo.org/programming7/vectorlib.html#vlibTopoExamples
quelle
Obwohl es sich nicht um einen Algorithmus handelt, erhalten Sie auf dieser Seite Informationen zu den Arten von Topologiefehlern, nach denen "Geometrie überprüfen" in den ArcGIS-Tools "Geometrie überprüfen / Geometrie reparieren" sucht. http://help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#//001700003v000000
quelle
Ich glaube nicht, dass es eine Möglichkeit gibt, die Korrektur topologischer Fehler in einem bestimmten Datensatz vollständig zu automatisieren. Einige Dinge, wie z. B. Dangles, können möglicherweise das Teilen und anschließende Löschen des resultierenden Dangles automatisieren. Aber was ist dann mit Splittern zwischen zwei benachbarten Polygonen? Welches Polygon sollte mit welchem Splittern zusammengeführt werden, um es zu beseitigen? Diese Art von Frage scheint Benutzereingaben zu erfordern. Um die Fehler zu identifizieren denke ich jedoch, dass die Algorithmen eine Art Variation des DE-9IM (Dimensionally Extended 9 Etwas Etwas) verwenden. Ich denke, Ihre beste Wahl wäre es, sich die Java Topology Suite (JTS) anzuschauen. Insbesondere die Geometry Graph-Klasse. Ich denke, dies könnte verwendet werden, um die verschiedenen Komponenten einer bestimmten Geometrie zu erstellen und anschließend verschiedene Topologieprobleme zu überprüfen. Ich habe es noch nie gemacht, aber vor nicht allzu langer Zeit darüber nachgedacht.
Wenn Sie nicht mit Java vertraut sind, ist GEOS die C ++ - Version von JTS oder NetTopologySuite die C # -Variante.
Hoffentlich hilft das.
quelle
Die Dokumentation zum Befehl "Integrieren" von ArcGIS wurde bereits erwähnt. ESRI hat jedoch auch ein technisches Dokument " Grundlegendes zur geometrischen Verarbeitung in ArcGIS" erstellt , in dem die von "Integrieren" verwendete Verarbeitungslogik (und Geoverarbeitungsvorgänge mit allgemeiner Toleranz) dokumentiert sind. Dies konzentriert sich auf die Vermeidung und Korrektur von topologischen Fehlern, die bei der Geoverarbeitung entstehen. Es gibt einige Referenzen, die ebenfalls nützlich sein können.
quelle