Question connexe ici.
Je remarque que garantir l'exactitude topologique est essentiel pour les applications SIG, c'est parce que l'entrée de l'opération booléenne utilisateur ou polygone peut avoir de graves problèmes topologiques (même si les polygones semblent corrects) qui pourraient compromettre la qualité des opérations suivantes.
Un polygone propre est la façon dont les assistants géographiques font pour garantir l'exactitude de la topologie.
Arcgis a également une commande pour nettoyer les éclats.
Ma question n'est pas de savoir comment utiliser les progiciels existants pour s'assurer que les données d'entrée du polygone sont topologiquement correctes; ma question est plutôt de savoir comment ces progiciels implémentent ces procédures de nettoyage. En d'autres termes, quel est l'algorithme que je peux utiliser pour m'assurer que je peux corriger toutes les erreurs topologiques, étant donné un ensemble d'entrées polygonales?
Réponses:
Une recherche rapide sur Google Scholar a révélé les articles bien cités suivants:
Thierry Ubeda et Max J. Egenhofer. Correction d'erreur topologique dans le SIG . Advances in Spatial Databases, Lecture Notes in Computer Science , 1997, Volume 1262/1997, 281-297, DOI: 10.1007 / 3-540-63238-7_35 ( PDF )
Sylvie Servigne, Thierry Ubeda, Alain Puricelli et Robert Laurini. Une méthodologie pour l'amélioration de la cohérence spatiale des bases de données géographiques . GeoInformatica , 2000, Volume 4, Numéro 1, 7-34, DOI: 10.1023 / A: 1009824308542 ( PDF )
la source
Vous pouvez trouver une description détaillée des routines de nettoyage topologique dans le code source et les manuels de GRASS GIS: http://grass.osgeo.org/programming7
Les routines de nettoyage sont codées ici: http://trac.osgeo.org/grass/browser/grass/trunk/vector/v.clean
Exemples pour les routines sous-jacentes:
Les concepts sous-jacents sont décrits ici: http://grass.osgeo.org/programming7/vectorlib.html#vlibTopoExamples
la source
Bien qu'il ne s'agisse pas d'un algorithme, cette page vous donne des informations sur les types d'erreurs de topologie que "vérifier la géométrie" recherche dans les outils ArcGIS Vérifier la géométrie / Réparer la géométrie. http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000003v000000
la source
Je ne pense pas qu'il existe un moyen d'automatiser complètement la correction des erreurs topologiques dans un ensemble de données donné. Certaines choses, telles que les pendules, pourraient être en mesure d'automatiser le fractionnement, puis de supprimer la pendaison résultante. Mais qu'en est-il des éclats entre deux polygones adjacents, quel polygone doit être fusionné avec quel ruban pour l'éliminer? Ce type de question semble nécessiter l'intervention de l'utilisateur. Pour identifier les erreurs, je pense cependant que les algorithmes utilisent une sorte de variation du DE-9IM (quelque chose de 9 étendu quelque chose). Je pense que votre meilleur pari serait de regarder la Java Topology Suite (JTS). Plus précisément la classe Geometry Graph. Je pense que cela pourrait être utilisé pour construire les différents composants d'une géométrie particulière, puis utilisé pour vérifier différents problèmes de topologie. Je ne l'ai jamais fait, mais je l'ai étudié il n'y a pas longtemps.
Si vous n'êtes pas familier avec Java, GEOS est la saveur C ++ de JTS, ou NetTopologySuite est la saveur C #.
J'espère que cela pourra aider.
la source
La documentation de la commande Intégration d'ArcGIS a déjà été mentionnée, mais ESRI a également produit un document technique Comprendre le traitement géométrique dans ArcGIS documentant la logique de traitement utilisée par Integrate (et les opérations de géotraitement impliquant la tolérance plus généralement). Ceci est axé sur l'évitement et la correction des erreurs topologiques générées par le géotraitement. Il existe quelques références qui peuvent également être utiles.
la source