Pregunta relacionada aquí.
Noté que garantizar la corrección topológica es esencial para las aplicaciones SIG, esto se debe a que la entrada del usuario o la operación booleana del polígono puede tener graves problemas topológicos (aunque los polígonos se vean correctos) que comprometerían la calidad de las operaciones posteriores.
Polígono limpio es como hacen los Geo Wizards para asegurar la corrección de la topología.
Arcgis también tiene un comando para limpiar las astillas.
Mi pregunta no es acerca de cómo usar los paquetes de software existentes para garantizar que los datos de entrada del polígono sean topológicamente correctos; más bien, mi pregunta es sobre cómo estos paquetes de software implementan esos procedimientos de limpieza. En otras palabras, ¿cuál es el algoritmo que puedo usar para asegurarme de que puedo corregir todos los errores topológicos, dado un conjunto de entradas poligonales?
Respuestas:
Una búsqueda rápida en Google Académico arrojó los siguientes artículos bien citados:
Thierry Ubeda y Max J. Egenhofer. Corrección de errores topológicos en SIG . Avances en bases de datos espaciales, Lecture Notes in Computer Science , 1997, Volumen 1262/1997, 281-297, DOI: 10.1007 / 3-540-63238-7_35 ( PDF )
Sylvie Servigne, Thierry Ubeda, Alain Puricelli y Robert Laurini. Una metodología para mejorar la consistencia espacial de las bases de datos geográficas . GeoInformatica , 2000, Volumen 4, Número 1, 7-34, DOI: 10.1023 / A: 1009824308542 ( PDF )
fuente
Puede encontrar una descripción detallada de las rutinas de limpieza topológica en el código fuente y los manuales de GRASS GIS: http://grass.osgeo.org/programming7
Las rutinas de limpieza están codificadas aquí: http://trac.osgeo.org/grass/browser/grass/trunk/vector/v.clean
Ejemplos para las rutinas subyacentes:
Los conceptos subyacentes se describen aquí: http://grass.osgeo.org/programming7/vectorlib.html#vlibTopoExamples
fuente
Aunque no es un algoritmo, esta página le brinda información sobre qué tipos de errores de topología busca "verificar geometría" en las herramientas de ArcGIS Verificar geometría / Reparar geometría. http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000003v000000
fuente
No creo que haya una manera de automatizar por completo la corrección de errores topológicos en un conjunto de datos dado. Algunas cosas, como los colgantes, podrían automatizar la división y luego eliminar el colgado resultante. Pero entonces, ¿qué pasa con las astillas entre dos polígonos adyacentes, qué polígono debería fusionarse con qué astilla para eliminarlo? Ese tipo de pregunta parece necesitar la intervención del usuario. Sin embargo, para identificar los errores, creo que los algoritmos usan algún tipo de variación del DE-9IM (Dimensionalmente extendido 9 algo algo). Creo que su mejor opción sería mirar Java Topology Suite (JTS). Específicamente la clase Geometry Graph. Creo que esto podría usarse para construir los diferentes componentes de una geometría particular, y luego usarlo para verificar diferentes problemas de topología. Nunca lo hice, pero lo investigé no hace mucho.
Si no está familiarizado con Java, GEOS es el sabor C ++ de JTS, o NetTopologySuite es el sabor C #.
Espero que ayude.
fuente
La documentación del comando Integrar de ArcGIS ya se ha mencionado, pero ESRI también ha producido un documento técnico titulado Comprensión del procesamiento geométrico en ArcGIS que documenta la lógica de procesamiento que utiliza Integrate (y las operaciones de geoprocesamiento que implican la tolerancia en general). Esto se centra en evitar y corregir los errores topológicos generados por el geoprocesamiento. Hay algunas referencias dadas que también pueden ser útiles.
fuente