J'ai un fichier de formes avec les zones urbaines, mais malheureusement, le fichier de formes ne contient que des lignes simples. Le fichier de formes ressemble à ceci:
Je veux convertir ces lignes en un fichier de formes surfaciques dans QGIS. Je l'ai essayé avec l'outil "Lignes vers polygones" (Vector> Outils de géométrie> Lignes vers polygones), mais cela n'a pas fonctionné correctement. Après avoir utilisé cet outil, le fichier de formes ressemble à ceci:
Existe-t-il un autre moyen de convertir le fichier de formes de ligne en fichier de formes de polygone de zone dans QGIS?
Soit dit en passant, j'utilise QGIS 2.14.3 Essen.
Réponses:
L'
Polygonize
outil de la boîte à outils Traitement fonctionne toujours bien pour moi sur des lignes simples:Il est cependant nécessaire que les lignes se coupent ou partagent des sommets communs. Et les lignes ne devraient pas avoir d'auto-intersection.
Vous devrez peut-être accrocher les sommets des coins pour le faire fonctionner. Je règle généralement la tolérance d'accrochage à 10 pixels par rapport au sommet.
la source
Juste un indice si vous ne trouvez pas l'
Polygonize
outil. Dans mon installation de QGIS 2.18.3 (Windows), je n'ai pas pu trouver l'Polygonize
outilVector geometry tools
dans la boîte à outils. Il m'a fallu un certain temps pour réaliser que j'avais besoin d'installer lapython-shapely
bibliothèque avec OSGeo4W (merci Nick Hopton: Perfect Polygons dans QGIS ).la source
En regardant votre image, je suppose que chaque ligne ne comprend pas entièrement une zone, les lignes agissent simplement comme des clôtures et ne se reconnectent pas au début. Vos polygones sont créés à partir des extrémités des lignes, de sorte que l'outil "lignes vers polygones" fonctionne correctement, ce sont les données qui posent problème.
Je crains que la seule chose à laquelle je puisse penser est de numériser une nouvelle couche de polygones. Heureusement, QGIS a rendu cela très facile avec l'outil de numérisation de trace (une icône d'aimant) qui est disponible en 2.14
la source
S'il n'y a pas de trous, je créerais une couche de travail avec un seul polygone suffisamment grand pour couvrir toute votre zone. Ensuite, je l'intersecte avec le résultat de vos lignes en polygones et le divise davantage si nécessaire.
la source
Je peux suggérer d'utiliser un
"Virtual Layer"
traversLayer > Add Layer > Add/Edit Virtual Layer...
.Supposons que nous ayons cinq entités linéaires
"lines"
, voir l'image ci-dessous.Avec la requête suivante, il est possible d'obtenir le résultat.
La couche virtuelle de sortie ressemblera à
Comme cela a déjà été mentionné par @AndreJ, les lignes doivent se croiser ou partager des sommets communs. Et les lignes ne devraient pas avoir d'auto-intersection. En termes de nettoyage de la topologie de la couche, je peux suggérer d'explorer le
v.clean
jeu d'outils GRASS.Dans le cas où les lignes ont une auto-intersection, vous pouvez utiliser un ConvexHull avec la requête suivante
Les références:
la source
Si les polylignes se chevauchent, l'
Polygonize
outil ne peut pas les gérer comme suit:Cependant, l'
Lines to polygons
outil fonctionne comme prévu comme suit:la source