Durch das Konvertieren von Linien in Polygone in QGIS werden Splitterpolygone erzeugt


9

Beim Versuch, die Polylinienebene in PyQGIS mit zu polygonisieren

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

Befehl in der Python-Konsole, es werden keine Polygone erstellt, die den Linienkanten entsprechen. Stattdessen werden Splitterpolygone entlang der gekrümmten Kanten erstellt. Warum werden die Polygone nicht entlang der Linienkanten erstellt?

Geben Sie hier die Bildbeschreibung ein

Bei der Polygonisierung sollen die schwarzen Linien die Kanten der erstellten Polygone sein. Stattdessen werden nur wenige Splitter entlang der gekrümmten Kanten erzeugt (blaue Polygone).


Haben Sie die SAGA-Version des Tools ausprobiert:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph

@ Joseph hat gerade die SAGA-Version ausprobiert. Trotzdem ist das Ergebnis das gleiche.
Sjs

1
Versuchen Sie, Ihr Linien-Shapefile mit dem Plugin Geometry Checker oder dem GRASS-Tool v.clean zu bereinigen .
Joseph

2
@ Joseph die Daten sind topologisch sauber. Erhalten Sie das gewünschte Ergebnis mit dem Werkzeug "Polygonisieren". Vielen Dank für die Kommentare. Habe einige topologische Prüfer
kennengelernt

Schön, ich bin froh, dass du die Lösung gefunden hast =)
Joseph

Antworten:


8

Erhalten Sie die genauen Polygone wie gewünscht mit dem 'Polygonize'-Algorithmus (Processing Toolbox -> QGIS Geoalgorithms -> Polygonize) in der Python-Konsole.

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

Hatte das gleiche Problem bei der Verwendung des im Menü "Vektor" verfügbaren Werkzeugs "Linien zu Polygonen". Ich habe viele kleine Splitterpolygone erhalten, obwohl die Daten topologisch korrekt sind.

"Polygonisieren"

Der in der Verarbeitungssymbolleiste verfügbare QGIS-Geoalgorithmus hat bei mir funktioniert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.