J'ai une couche de polygones de village qui compte plus de 6 000 000 enregistrements. J'ai calculé le centroïde de chaque village. Je veux trouver la distance entre le centroïde et le nœud le plus éloigné de chaque polygone. Vérifiez l'image ci-dessous pour référence. Les lignes noires sont les limites des polygones.
12
Réponses:
Il semble que vous travaillez avec MapInfo. Le "Calculateur de distance" (le trouver dans le gestionnaire d'outils) a de nombreuses options et je pense qu'il peut aussi gérer cette tâche. Il y a un article à ce sujet ici: http://web.pb.com/mapinfopro-jul-2013/Toolbox-Distance-Calculator
la source
En utilisant PostGIS, j'ai utilisé ST_ConvexHull pour simplifier le polygone pour un résultat plus rapide:
Obtenez le point le plus éloigné:
Et si vous souhaitez créer un cercle à partir du centroïde:
la source
Utilisation du prochain code PyQGIS :
et ce fichier de formes (avec 11 fonctionnalités):
J'ai obtenu une couche de mémoire où les polylignes étaient la distance entre le centre de gravité et le point le plus éloigné de chaque polygone (entité); comme on peut le voir sur l'image suivante:
Sur la console Python de QGIS, il a également été imprimé l'index de l'entité, l'index du point dans l'entité où la distance du centroïde est une distance maximale et, finalement, maximale.
la source
Comme il semble que vous utilisez MapInfo, voici une fonction MapBasic sur laquelle j'ai écrit il y a quelque temps pour un outil interne sur lequel je travaillais. Il prend un nœud source (votre point centroïde) et un objet région (le polygone) comme arguments et renvoie un objet point au nœud le plus éloigné du polygone à partir du point source.
la source