Convertir líneas a polígonos en QGIS produce polígonos astillados

9

Al intentar poligonalizar la capa de polilínea en PyQGIS usando

processing.runandload("qgis:linestopolygons",explode_path,polygon_path)

Comando en la consola de Python, no crea polígonos correspondientes a los bordes de la línea. En su lugar, crea polígonos plateados a lo largo de los bordes curvos. ¿Por qué los polígonos no se crean a lo largo de los bordes de la línea?

ingrese la descripción de la imagen aquí

En la poligonización, se supone que las líneas negras son los bordes de los polígonos creados. En cambio, solo se crean algunas astillas a lo largo de los bordes curvos (polígonos azules).

Sjs
fuente
¿Has probado la versión SAGA de la herramienta:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph
@Joseph probó la versión SAGA justo ahora. Aún así el resultado es el mismo.
Sjs
1
Intente limpiar el archivo de forma de línea con el complemento Geometry Checker o la herramienta GRASS v.clean .
Joseph
2
@Joseph los datos son topológicamente limpios. Obtuve el resultado deseado usando la herramienta 'Polygonize'. Gracias por los comentarios. He llegado a saber sobre un par de inspectores topológicos :)
Sjs
Agradable, contento de haber encontrado la solución =)
Joseph

Respuestas:

8

Obtuve los polígonos exactos según lo deseado usando el algoritmo 'Polygonize' (Caja de herramientas de procesamiento -> Geoalgoritmos QGIS -> Polygonize) en la consola de Python.

import processing
polygon_path = "C:\\Documents and Settings\\User\\polygonsFormed.shp"
line_path = "C:\\Documents and Settings\\User\\inputLine.shp"
processing.runandload("qgis:polygonize",line_path,False,False,polygon_path)
Sjs
fuente
0

Tuve el mismo problema al usar la herramienta 'Líneas a polígonos' disponible en el menú Vector. Obtuve muchos polígonos pequeños, aunque los datos son topológicamente correctos.

"Poligonizar"

El geoalgoritmo QGIS disponible en la barra de herramientas de procesamiento funcionó para mí.

Karthikeyan
fuente