Trouver des axes à partir de polygones dans QGIS?


19

Je me demandais s'il y avait un moyen de créer des lignes centrales à partir de polygones dans QGIS? J'ai une couche polygonale, mais j'ai idéalement besoin des axes centraux dans un fichier séparé.

Exemple


Je viens de télécharger une photo des polygones
Alan Carr

Où, dans l'exemple d'image, les «lignes médianes» tomberaient-elles? Pourriez-vous mettre à jour l'image montrant les lignes souhaitées dans une couleur différente, peut-être?
Simbamangu

Juste au milieu de tous les polygones. Le résultat final dont nous avons besoin serait de simplement trouver la longueur de l'ensemble (en supposant que les polygones étaient des lignes), il n'est donc même pas essentiel d'obtenir des axes.
Alan Carr

Le plugin HCMGIS prétend créer des traits d'axe de polygone comme l'une de ses fonctionnalités de traitement spatial. Cela n'a pas très bien fonctionné pour moi, mais cela pourrait valoir la peine d'être essayé.
csk

Réponses:


10

J'ai travaillé sur la mise en œuvre du modèle décrit dans la réponse de @ RajGovind à la création de lignes centrales à partir de polygones / enveloppes routières? ce qui est assez proche de ce que @geogeek a décrit dans sa réponse ici dans ce fil.

Vous pouvez télécharger le modèle sur Github https://raw.githubusercontent.com/anitagraser/QGIS-Processing-tools/master/2.12/models/polygon_to_centerline.model

entrez la description de l'image ici


J'ai essayé ce modèle et cela fonctionne, mais je n'ai pas réussi à trouver un moyen simple de garder les longues lignes médianes mais en supprimant les petites lignes latérales, car chacune des lignes latérales est composée de nombreuses fonctionnalités plus petites, et le la ligne médiane principale est également composée de nombreuses fonctions de ligne plus petites.
Jan

@Jan, veuillez poster cette question de suivi dans un nouveau fil de discussion pour que plus de gens la voient.
underdark

9

vous pouvez essayer cet algorithme:

get vertices from the polygons(poly_vertex).
-make voronoi using (poly_vertex) as input the result could be called(poly_voronoi).
-get lines from (poly_voronoi) => (poly_voronoi_lines).
-get the originale polygon contour (polygon_lines).
-remove (poly_voronoi_lines) touching  (polygon_lines) the result is supposed to be the center lines , but you may need further clean up.

je ne sais pas comment cela pourrait être implémenté sur Qgis

je souhaite que cela puisse aider


Sur quels autres programmes pouvez-vous faire cela? Je peux avoir accès à MapInfo et Arc si nécessaire
Alan Carr

cet algorithme, fonctionnera sûrement dans Arcgis et il pourrait aussi fonctionner dans Qgis en utilisant les polygones de Voronoi gis.stackexchange.com/questions/6971/thiessen-polygons-in-qgis
geogeek

6

il y a un bon outil avec le nom ET GeoWizards 10.2 pour les produits Esri, mais je ne sais pas si c'est une bonne solution ou non ...

vous pouvez obtenir des informations d' ici

centerLines

à côté de cela dans l'herbe, vous pouvez vérifier la fonction r.thin pour une utilisation de base ..

r.thin - Amincit les cellules non nulles qui dénotent des entités linéaires dans une couche de carte raster.

rthin J'espère que ça t'aide...


3

il suffit de trouver la longueur de l'ensemble

Quel devrait être exactement le résultat? Une approximation est un périmètre divisé par 2.

Pour obtenir un meilleur résultat: Vous pouvez mesurer manuellement certains polygones, puis déterminer la différence entre la mesure et le périmètre divisé par 2 . Appliquez ce facteur de correction à l'ensemble du jeu de données.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.