¿Arreglando errores de validez de geometría en QGIS?


31

Estoy trabajando en datos de propiedad a nivel de condado de EE. UU. Tengo un archivo shape por condado que contiene miles de parcelas de impuestos. Necesito disolver los polígonos que representan parcelas propiedad del mismo individuo. Cuando el archivo de forma no está limpio, la herramienta "Disolver" en QGIS no parece funcionar, se congela. Primero tengo que solucionar los problemas de validez de la geometría con la herramienta "Comprobar validez de geometría". Sin embargo, a veces tengo cientos de errores. Lleva mucho tiempo arreglarlos manualmente. ¿Hay alguna otra estrategia que pueda ahorrarme algo de tiempo?

Estoy usando QGIS 2.4.0.


2
¿Intentaste importar un archivo en pasto y usar v.clean? probablemente solucionará muchos de tus errores.
Sergio

Respuestas:


20

Intenta ejecutar un sutil buffer en los polígonos. Una configuración de -0.001 si su CRS es UTM parece que vale la pena intentarlo. VECTOR | BUFFER


44
Probé la solución "Buffer" sugerida por primera vez por BillW. Resolvió el 97% de mis problemas, lo cual es suficiente para mí ahora. Puedo terminar el trabajo manualmente. Ejecutar un pequeño buffer en los polígonos no me creará ningún problema en el futuro, creo. Pero puedo ver algunos casos en los que usar ST_MakeValid o probar v.clean podría ser mejor y más preciso.
Bap

18

Cuando tengo una capa con errores, normalmente la ejecuto a través de la función GRASS v.clean en Processing Toolbox . Aunque realmente nunca descubrí qué herramienta es mejor en ese caso, normalmente elijo la función bpol allí.

Quizás aún más importante es establecer los parámetros avanzados para la tolerancia de ajuste y el área mínima . Dependiendo de la capa, generalmente elijo 0.1 a 2 metros para el ajuste y, por ejemplo, 10 metros cuadrados para el área mínima.

El ajuste, por ejemplo, alinea los límites que están destinados a ser bordes compartidos pero tienen pequeños desplazamientos, el área mínima elimina pequeños fragmentos de intersecciones, etc.

Junto con el bpol, esto normalmente resuelve todos los errores sin cambiar demasiado la topología.


11

Puede usar ST_MakeValid directamente en QGIS agregando el complemento lwgeom que agrega el proveedor lwgeom al cuadro de herramientas de procesamiento => puede aplicar MakeValid directamente en su capa cargada sin convertir en postigs / spaceialite. Postgis / spatialite usa el mismo liblwgeom para hacer ST_MakeValid

tienes que instalar liblwgeom y configurar el proveedor de procesamiento para que apunte

El proveedor de lwgeom se puede encontrar como experimental: https://plugins.qgis.org/plugins/processinglwgeomprovider/


3
Acabo de lanzar una nueva versión de Processinglwgeom Provider para que se pueda utilizar con la versión maestra actual de QGIS Processing. (el procesamiento está siendo refactorizado)
Luigi Pirelli

2
Hola @LuigiPirelli, he intentado resolver un problema similar usando el complemento Lwgeom, pero siempre se bloquea durante la ejecución y necesito reiniciar QGis nuevamente. ¿Hay alguna manera de arreglar esto? Gracias.
Alex Fernández Poulussen

1
difícil de decir sin más el contexto de ejecución. Por cierto, desde 2014 hay más instrumentos de geometría de reparación disponibles en qgis. Por lo general, un bloqueo en lwgeom es un problema de desalineación (instalación sucia) en el objeto cargado o compartido. ¿Probaste otras herramientas?
Luigi Pirelli

1
¿Funciona esto con QGIS 2.18? No parece funcionar en mi versión QGIS, github.com/faunalia/processinglwgeomprovider
RutgerH

1
Solo una actualización ... desde el momento en que QGIS3.x tiene un algoritmo de fijación de la geometría nativa de procesamiento que es un envoltorio para los algoritmos MakeValid de GEOS lwgeom. No es necesario db.
Luigi Pirelli


2

Acabo de encontrarme con un problema similar en qgis. Tenía un poli que comenzó a proyectarse incorrectamente. Utilicé Grass fuction v.clean en la caja de herramientas Procesamiento como sugirió Bernd. Aunque bpol no funcionó, parece arreglarse con la función break.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.