Ich habe eine Karte mit ungefähr 3000 Polygonen in ArcGIS 10. Ich suche nach dem Abstand zwischen jedem von ihnen. Ich weiß, wie man es mit den Lat- und Long-Koordinaten des Schwerpunkts macht, aber ich suche nach dem kürzesten geraden Abstand von der nächsten Kante eines Polygons zur nächsten Kante des anderen Polygons. Irgendwelche Ideen?
9
Der Abstand von A nach B ist der gleiche wie der von B nach A, und der Abstand von A nach A ist Null. Daher erspart Ihnen eine halbe Matrix einige Arbeit.
IProximityOperator gibt die Entfernung von der Kante zurück. Der folgende Code verwendet eine azimutale Projektion, die auf dem Schwerpunkt jedes Polygons zentriert ist (sollte auch mit Linien funktionieren). Wenn die Polygone nicht zu komplex sind (oder wenn Sie viel Speicher haben), werden alle Geometrien schneller in den Speicher geladen und projiziert. (Dies wird nicht gründlich getestet).
quelle
Die Berechnung wird von ArcGIS nicht nativ bereitgestellt, aber ich habe eine Lösung für das Problem in Shapely angegeben, die möglicherweise hilfreich ist, oder diesen Thread in den alten ArcGIS-Foren.
quelle
Ich denke, das Near Table-Tool würde für das funktionieren, was Sie wollen:
Lassen Sie einfach den Suchradius leer.
quelle