12.12.2023, 02:53
In ArcGIS werden Polygon Self-Intersections nicht als Fehler erkannt, was dazu führt, das die Validierung der XPlan-GML fehlschlägt. Der Fehler resultiert aus einer Selbstberührung von Flächen an einem Stützpunkt, wo dann nicht nach GML-Spezifikation ein innerer (interior) und äußerer (exterior) Ring für das Insel-Polygon produziert wird, sondern nur ein äußerer Ring. Die korrekte Umsetzung gemäß XPlanung ist das Insel-Polygon als inneren Ring umzusetzen, der den äußeren Ring an einem Punkt berührt.
Da in ArcGIS das RepairGeometry-Tool diesen Fehler nicht behebt, wurde eine Funktion entwickelt, welche das Problem löst. Die Funktion repariert diesen geometrischen Fehler. Es besteht die Möglichkeit, die Methode auszuwählen, über welche die Daten repariert werden. Bei Shape, wird an die Original-Input-FeatureClass eine ID (GeomID) gehängt. Die FeatureClass wird mit dem neuen Attribut-Feld in eine Shapefile umgewandelt. In dieser werden dann die geometrischen Fehler repariert. Das reparierte Shapefile dient als Grundlage um über einen Join auf Basis des angelegten ID-Attributs die Originaldaten heranzuholen und als FeatureClass abzuspeichern. Bei der GPKG-Methode wird die Original-FeatureClass in ein Geopackage kopiert. Dort wird die Geometrie dann repariert und in einem neuen Geopackage abgespeichert. Die so reparierte Datei wird in eine FeatureClass zurück konvertiert und in der angegebenen Output-Geodatabase gespeichert. Die Funktion wurde unter ArcGIS Pro 2.8.x getestet und entwickelt.
Folgende Bibliotheken müssen im Vorfeld installiert werden:
Da in ArcGIS das RepairGeometry-Tool diesen Fehler nicht behebt, wurde eine Funktion entwickelt, welche das Problem löst. Die Funktion repariert diesen geometrischen Fehler. Es besteht die Möglichkeit, die Methode auszuwählen, über welche die Daten repariert werden. Bei Shape, wird an die Original-Input-FeatureClass eine ID (GeomID) gehängt. Die FeatureClass wird mit dem neuen Attribut-Feld in eine Shapefile umgewandelt. In dieser werden dann die geometrischen Fehler repariert. Das reparierte Shapefile dient als Grundlage um über einen Join auf Basis des angelegten ID-Attributs die Originaldaten heranzuholen und als FeatureClass abzuspeichern. Bei der GPKG-Methode wird die Original-FeatureClass in ein Geopackage kopiert. Dort wird die Geometrie dann repariert und in einem neuen Geopackage abgespeichert. Die so reparierte Datei wird in eine FeatureClass zurück konvertiert und in der angegebenen Output-Geodatabase gespeichert. Die Funktion wurde unter ArcGIS Pro 2.8.x getestet und entwickelt.
Folgende Bibliotheken müssen im Vorfeld installiert werden:
- Geopandas
- Fiona
- Shapely