La conversion de lignes en polygones dans QGIS produit des polygones de ruban

9

Tout en essayant de polygoniser la couche de polyligne dans PyQGIS en utilisant

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

dans la console python, elle ne crée pas de polygones correspondant aux bords de ligne. Au lieu de cela, il crée des polygones en ruban le long des bords incurvés. Pourquoi les polygones ne sont-ils pas créés le long des bords de ligne?

entrez la description de l'image ici

Lors de la polygonisation, les lignes noires sont censées être les bords des polygones créés. Au lieu de cela, seuls quelques éclats sont créés le long des bords incurvés (polygones bleus).

Sjs
la source
Avez-vous essayé la version SAGA de l'outil:processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
Joseph
@Joseph a essayé la version SAGA tout à l'heure. Le résultat est toujours le même.
Sjs
1
Essayez de nettoyer votre fichier de formes de ligne avec le plugin Geometry Checker ou l'outil GRASS v.clean .
Joseph
2
@Joseph les données sont topologiquement propres. Vous avez obtenu le résultat souhaité en utilisant l'outil «Polygoniser». Merci pour les commentaires. J'ai
découvert
Sympa, content d'avoir trouvé la solution =)
Joseph

Réponses:

8

Vous avez obtenu les polygones exacts souhaités en utilisant l'algorithme «Polygonize» (boîte à outils de traitement -> QGIS Geoalgorithms -> Polygonize) dans la console 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
la source
0

J'ai eu le même problème lors de l'utilisation de l'outil "Lignes vers les polygones" disponible dans le menu Vector. Vous avez beaucoup de petits polygones de ruban même si les données sont topologiquement correctes.

"Polygoniser"

Le géoalgorithme QGIS disponible dans la barre d'outils de traitement a fonctionné pour moi.

Karthikeyan
la source