Mam mapę około 3000 wielokątów w ArcGIS 10. Szukam odległości między nimi. Wiem, jak to zrobić, używając współrzędnych szerokości i długości środka ciężkości, ale szukam najkrótszej linii prostej od najbliższej krawędzi jednego wielokąta do najbliższej krawędzi drugiego wielokąta. Jakieś pomysły?
9
Odległość od A do B jest taka sama jak B do A, a odległość od A do A wynosi zero, dlatego pół macierzy pozwoli ci zaoszczędzić trochę pracy.
IProximityOperator zwraca odległość od krawędzi. Poniższy kod wykorzystuje odwzorowanie azymutalne wyśrodkowane na środku ciężkości każdego wielokąta (powinno również działać z liniami). Jeśli wielokąty nie są zbyt złożone (lub jeśli masz dużo pamięci) ładowanie wszystkich geometrii do pamięci, ich rzutowanie byłoby szybsze. (To nie jest dokładnie testowane).
źródło
Obliczenia nie są czymś, co zapewnia natywnie ArcGIS, ale podałem rozwiązanie problemu w Shapely, który może pomóc, lub ten wątek na starych forach ArcGIS.
źródło
Myślę, że narzędzie przy bliskiej tabeli działałoby tak, jak chcesz:
Po prostu pozostaw pole wyszukiwania puste.
źródło