Al ejecutar la topología contra dos conjuntos de datos de polígonos (parcelas) idénticos en ArcGIS y QGIS, QGIS detecta errores que ArcGIS no detecta. En cuatro casos distintos de mi conjunto de datos de parcelas de todo el municipio, QGIS marca "geometría no válida" (captura de pantalla 1) cuando dos polígonos de islas se tocan en un punto dentro del polígono de contención más grande (capturas de pantalla 2 y 3). Obsérvese que QGIS no tiene ningún problema con un número de polígonos de islas siempre que no se toquen entre sí (parcela adyacente al NE en las capturas de pantalla 1 y 2).
¿Por qué es un error de geometría no válida?
1 votos
¿qué versión de QGIS, y está utilizando el verificador de geometría estándar? Además, ¿has probado a ampliar la columna de error, por si sólo ves una parte del mensaje?
0 votos
QGIS 2.18.1 64 bits en Windows 10. Estoy utilizando el Comprobador de Topología -- el que está disponible en el menú desplegable de Vectores. Veo el mensaje completo, sólo he recortado la captura de pantalla. El mensaje muestra el tipo de error ("geometría no válida"), el nombre de la capa (clase de característica PostGIS muy larga), y el ID de la característica. @StevenKay
2 votos
Ah, ese plugin estaba desactivado en mi configuración. Puedes probar con Vectorial > Geometría > Comprobar la validez que debería dar como resultado varias capas con características de error divididas, y (con suerte) mensajes más descriptivos.
0 votos
¡Excelente, gracias, @StevenKay ! Una salida mucho más razonable y mensajes mucho más significativos.
0 votos
Supongo que este problema está relacionado con el bug #15377 ( hub.qgis.org/issues/15377 ).
1 votos
He descubierto que hacer un búfer muy trivial (0,0001 de un metro) en una nueva capa me ha solucionado errores como este en el pasado. ciao
1 votos
Usando QGIS 2.1821 también me encontré con el mismo problema, y terminé usando la combinación Vector > Geometría > Comprobar Validez sugerida por @steven-kay y luego reparé los problemas en la capa generada "Salida Inválida" usando el Grass v.buffer.distance con 0.00001m en ambos parámetros (distancia de buffer... y distancia máxima entre...) como sugiere billw. Gracias