Calcul de la distance maximale entre le centre d'un polygone et la limite d'un polygone

9

J'ai un polygone prêt dans QGIS. Ce que je veux faire, c'est calculer la distance maximale possible en kilomètres du centre de gravité du polygone jusqu'à la limite de ce polygone.

J'ai besoin de deux choses:

  • Distance maximale possible parcourue depuis le centre de gravité du polygone jusqu'à leur limite
  • centre du polygone (Lat / Long)
GIS Data Butcher
la source

Réponses:

6

Pour obtenir le centroïde, vous pouvez utiliser Vector-> Geometry Tools-> Polygon Centroids. Ensuite, pour obtenir les coordonnées, vous pouvez soit ajouter quelques champs à la table attributaire et utiliser le calculateur de champ défini sur $ x et $ y respectivement pour chaque champ, soit utiliser le plug-in Capture de coordonnées.

Pour obtenir la distance maximale, vous devrez faire un peu plus de travail. Une approche très simple serait de convertir votre polygone en nœuds (Vector-> Geometry Tools-> Extract Nodes) puis d'utiliser l'outil de matrice de distance (Vector-> AnalysisTools-> Distance Matrix). Cela vous donnera la distance à chaque sommet du polygone et il vous suffit de tamiser le résultat pour obtenir la valeur la plus élevée. Pour améliorer la précision de cette approche, vous pouvez d'abord densifier vos sommets. Si vous vous assurez que votre jeu de données de point centroïde et de nœuds conserve un ID du polygone, cette opération devrait être simple.

Vous pouvez également utiliser la fonction PostGis ST_Distance_spheroid au lieu de la fonction QGIS Distance Matrix car cela vous donnera la distance linéaire sur un sphéroïde et vous évitera peut-être de reprojeter vos données. Malheureusement, la fonction ST_Distance ne vous donne que la distance minimale, donc dans tous les cas, vous devrez répéter tous les points pour un polygone donné.

MappaGnosis
la source
en fait, j'ai des points d'angle et un centroïde (lat / long) de polygone dans Excel .. comment pouvons-nous faire dans Excel .. tout pour la formule .. j'ai centroïde dans la colonne 'A' et Liste des points d'angle dans la colonne 'B'. Comment pourrais-je calculer max. Distance possible dans la colonne 'C.
GIS Data Butcher
la matrice de distance renvoie la distance en degrés. Je le veux au km. Je ne peux pas transformer ces données en n'importe quelle projection UTM particulière. car il couvre tout le pays de l'Inde. N'importe quelle astuce pour le faire.
GIS Data Butcher le
1
Vous devez faire un grand calcul de la distance du cercle. Recherchez sur ce site «Haversine».
MappaGnosis
2
(1) Sauf si le polygone est très grand, il n'est pas nécessaire de densifier les sommets: la distance maximale à la frontière doit se produire à l'un des sommets (en utilisant des calculs euclidiens). (2) À condition que le polygone reste dans un hémisphère, pourquoi ne pas calculer la distance la plus courte entre le polygone et l' antipode de son centre? Le ou les points du polygone où cette distance la plus courte est atteinte seront au maximum éloignés du centre. L'antipode est obtenu en annulant la latitude et en ajoutant 180 degrés (modulo 360) à la longitude; par exemple , l'antipode de (lon, lat) = (2,50) est à (-178, -50).
whuber