J'ai une carte d'environ 3000 polygones dans ArcGIS 10. Je cherche à trouver la distance entre chacun d'eux. Je sais comment le faire en utilisant les coordonnées lat et longue du centroïde, mais je recherche la distance en ligne droite la plus courte entre le bord le plus proche d'un polygone et le bord le plus proche de l'autre polygone. Des idées?
9
La distance de A à B est identique à B à A, et la distance de A à A est nulle, donc une demi-matrice vous fera économiser du travail.
IProximityOperator renvoie la distance à partir du bord. Le code ci-dessous utilise une projection azimutale centrée sur le centroïde de chaque polygone (devrait également fonctionner avec les lignes). Si les polygones ne sont pas trop complexes (ou si vous avez beaucoup de mémoire) charger toutes les géométries en mémoire et les projeter serait plus rapide. (Ce n'est pas testé à fond).
la source
Le calcul n'est pas quelque chose qu'ArcGIS fournit nativement, mais j'ai donné une solution au problème dans Shapely qui peut aider, ou ce fil sur les anciens forums ArcGIS.
la source
Je pense que l' outil de table proche fonctionnerait pour ce que vous voulez:
Laissez simplement le rayon de recherche vide.
la source