Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

4 votos

Fijación de polígonos con errores de "anillo no cerrado".

Tengo un shapefile con una única característica de polígono. Esta característica tiene un error de geometría "anillo no cerrado" (visto aquí en QGIS): enter image description here

He probado a utilizar el buffering y el GRASS v.clean como se sugiere en otras respuestas, pero no hay suerte. Tampoco puedo encontrar el hueco inspeccionando la característica visualmente (parece perfecta).

Necesito una geometría válida. Idealmente, me gustaría tener una solución de Python / línea de comandos. Cualquier forma de hacer esto manualmente en QGIS/ArcGIS también sería genial.

ACTUALIZACIÓN: este shapefile se puede descargar aquí .

5voto

Mue Puntos 2469

Una de las cosas que hago cuando recibo un " anillo x no cerrado "para un polígono es utilizar el Polígonos a Líneas de la barra de herramientas: Vectorial > Herramientas de Geometría > Polígonos a Líneas... :

Polygons to Lines

Ahora puedes ver fácilmente dónde está el error visualmente. Afortunadamente, hay una solución sencilla... utilizar el Líneas a polígonos desde el mismo menú.

Lines to Polygons

La reconversión de esto debería llenar el anillo ya que no se encontraron errores usando el Comprobar la validez de la geometría herramienta.

Espero que esto ayude.


Editar :

Puede utilizar el siguiente código en el Consola Python para hacer la operación anterior:

import processing

input = qgis.utils.iface.activeLayer()  # Or change to path of shapefile (e.g. input = "C:/Test//example.shp")
result = "C:/Test//result.shp"

output_0 = processing.runalg("qgis:polygonstolines", input, None)
output_1 = processing.runalg("qgis:linestopolygons", output_0['OUTPUT'], result)

3voto

xenny Puntos 670

Además de la muy buena respuesta de Joseph para QGIS, puede utilizar la herramienta "reparar geometría" en ArcGIS. A continuación se muestra la lista de errores que se fijan.

Null geometry—The feature will be deleted from the feature class. If the features with Null geometry are valid for how the data is being modeled Uncheck the "Delete Features with Null Geometry" option on the dialog, or specify the KEEP_NULL option at the command line or in scripting, then the features will not be deleted when encountered by this tool.

Short segment—The geometry's short segment will be deleted.

Incorrect ring ordering—The geometry will be updated to have correct ring ordering.

Incorrect segment orientation—The geometry will be updated to have correct segment orientation.

Self intersections—The geometry's segments that intersect will be split at their intersection.

**Unclosed rings** —The unclosed rings will be closed.

Empty parts—The parts that are null or empty will be deleted.

Tenga en cuenta que si mira el nivel de "vértice", el inicio Y el final de deben ser idénticos para cerrar el bucle.

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