La conversione di linee in poligoni in QGIS produce poligoni a nastro


9

Durante il tentativo di poligonizzare il livello della polilinea in PyQGIS utilizzando

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

comando nella console di Python, non crea poligoni corrispondenti ai bordi delle linee. Invece crea poligoni del nastro lungo i bordi curvi. Perché i poligoni non vengono creati lungo i bordi delle linee?

inserisci qui la descrizione dell'immagine

Sulla poligonizzazione, le linee nere dovrebbero essere i bordi dei poligoni creati. Invece vengono creati solo pochi frammenti lungo i bordi curvi (poligoni blu).


Hai provato la versione SAGA dello strumento:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph

@Joseph ha provato la versione SAGA proprio ora. Il risultato è sempre lo stesso.
Sjs,

1
Prova a pulire il tuo shapefile di linea con il plugin Geometry Checker o lo strumento GRASS v.clean .
Joseph,

2
@Joseph i dati sono topologicamente puliti. Ottieni il risultato desiderato usando lo strumento 'Poligonizza'. Grazie per i commenti Sono venuto a conoscenza di un paio di controllori topologici :)
Sjs,

Bello, felice di aver trovato la soluzione =)
Joseph,

Risposte:


8

Hai ottenuto i poligoni esatti come desiderato usando l'algoritmo "Poligonizza" (Casella degli strumenti di elaborazione -> Geoalgoritmi QGIS -> Poligono) nella console di 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)

0

Si è verificato lo stesso problema durante l'utilizzo dello strumento "Linee a poligoni" disponibile nel menu Vettore. Ha molti piccoli poligoni del nastro anche se i dati sono topologicamente corretti.

"Poligonizzazione"

Il geoalgoritmo QGIS disponibile nella barra degli strumenti di elaborazione ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.