35 votos

Corrección de errores de validez de la geometría en QGIS 2

Estoy trabajando en los datos de propiedad a nivel de condado de Estados Unidos. Tengo un shapefile por condado que contiene miles de parcelas fiscales. Necesito disolver los polígonos que representan las parcelas propiedad del mismo individuo.

Cuando el shapefile no está limpio, la herramienta "Disolver" en QGIS no parece funcionar, se congela. Primero tengo que arreglar los problemas de validez de la geometría utilizando la herramienta "Check Geometry Validity". Sin embargo, a veces tengo cientos de errores. Lleva mucho tiempo corregirlos manualmente. ¿Hay alguna otra estrategia que pueda ahorrarme tiempo?

Estoy utilizando QGIS 2.4.0.

23voto

ladaghini Puntos 204

Intenta ejecutar un buffer sutil en los polígonos. Un ajuste de -0,001 si su CRS es UTM parece que vale la pena probarlo. VECTOR|BUFFER

20voto

Gdalya Puntos 409

Cuando tengo una capa con errores , normalmente la paso por la función GRASS v.limpiar en el Caja de herramientas de procesamiento . Aunque nunca he llegado a saber qué herramienta es mejor en cada caso, normalmente elijo la bpol función allí.

Tal vez sea aún más importante establecer el parámetros avanzados para tolerancia rápida y área mínima . Dependiendo de la capa, suelo elegir entre 0,1 y 2 metros para el encaje y, por ejemplo, 10 metros cuadrados para el área mínima.

El ajuste, por ejemplo, alinea los límites que deben ser compartidos pero que tienen pequeñas desviaciones, el área mínima elimina las pequeñas astillas de las intersecciones, etc.

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

11voto

Balda Puntos 13

Puede utilizar ST_MakeValid directamente en QGIS añadiendo el plugin lwgeom que añade el proveedor lwgeom a la caja de herramientas de procesamiento => puede aplicar MakeValid directamente en su capa cargada sin convertir en postigs/spatialite. Postgis/spatialite utilizan la misma liblwgeom para hacer ST_MakeValid

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

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

6voto

Joe Puntos 16

Guardar los datos en PostGIS y ejecutar ST_MakeValid podría ayudar http://postgis.refractions.net/docs/ST_MakeValid.html . Spatialite también tiene ST_MakeValid http://www.gaia-gis.it/gaia-sins/spatialite-sql-latest.html .

4voto

Steven Puntos 106

Aunque sé que esta pregunta es para QGIS 2, cualquiera que esté buscando una respuesta para QGIS 3:

Procesamiento --> Caja de herramientas --> Geometría vectorial --> Fijar geometrías

Sólo para contextualizar, necesité hacer esto después de recibir el siguiente error:

Feature (820) has invalid geometry. Please fix the geometry or change the Processing setting to the "Ignore invalid input features" option.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X