J'essaie de comprendre comment créer un polygone qui relie tous les points de terminaison d'un fichier de formes contenant un ensemble de polyilnes avec pythonscript dans ArcGIS, j'ai du mal à le faire car l'ordre des nœuds dans le polygone est important. Je veux réaliser le polygone gris dans l'image à partir des lignes vertes
10
Réponses:
PAS:
Calculer les points centraux des sections:
Construit leur arbre couvrant minimum euclidien, le dissout et le tampon de calcul, la distance égale à la moitié de la longueur de section la plus courte:
Créez des points d'extrémité de section et calculez leur chaînage (distance le long de la ligne) à la limite du tampon (version polyligne fermée du tampon):
Triez les points finaux dans l'ordre croissant à l'aide du champ de chaînage. Points ci-dessous étiquetés par leur FID:
Créez un polygone à partir d'un ensemble ordonné de points:
Scénario:
Je sais que c'est un vélo, mais c'est le mien et j'aime ça
la source
Je poste cette solution pour QGIS ici car c'est un logiciel gratuit et facile à implémenter. Je n'ai considéré que la «branche» droite de la couche vectorielle polyligne; comme cela peut être observé à l'image suivante (12 caractéristiques à la table des attributs):
Le code (algorithme dans une compréhension de liste python d'une ligne), à exécuter sur la console Python de QGIS, est:
Après avoir exécuté le code:
il a été produit une couche de mémoire de polygone (avec 11 entités à sa table d'attributs). Ça marche bien.
la source
Vous pouvez sélectionner les points d'extrémité qui participeront à un polygone, créer un TIN à partir de ces points uniquement. Convertissez le TIN en polygones, dissolvez les polygones. L'astuce pour automatiser ce processus consiste à décider quels points contribuer à chaque polygone. Si vous avez des lignes avec des directions valides et que ces lignes partagent toutes un attribut commun, vous pouvez écrire une requête à exporter, par exemple les sommets d'extrémité en utilisant des sommets de ligne vers des points, puis sélectionnez par attribut les points qui ont la valeur d'attribut commune.
Mieux serait d'extraire / sélectionner les points, de lire les valeurs x, y à l'aide d'un curseur, d'utiliser les valeurs x, y pour écrire un nouveau polygone. Je ne peux pas voir une image jointe dans votre message, mais si l'ordre des points est important, une fois que les valeurs x, y sont stockées dans une liste Python, triez-les. http://resources.arcgis.com/EN/HELP/MAIN/10.1/index.html#//002z0000001v000000
la source
En développant le commentaire @iant, la géométrie la plus proche de votre instantané est la forme alpha (coque alpha) des extrémités. Heureusement, de nombreux sujets bien reçus ont déjà reçu une réponse sur GIS SE. Par exemple:
Créer un polygone complexe à partir d'une couche de points en utilisant uniquement des points de limite dans ArcGIS
Que sont la définition, les algorithmes et les solutions pratiques pour la coque concave?
Pour résoudre votre problème, utilisez d'abord Feature To Point pour extraire les points finaux. Utilisez ensuite l'outil python de ce lien pour calculer la coque concave.
la source