Oblicz odległość między wielokątem a punktem wzdłuż ścieżki

10

Jestem bardzo nowy w ArcGis i próbuję wymyślić, jak to zrobić.

Zasadniczo to właśnie próbuję zrobić:

Mam mapę Kanady i na niej wielokąty reprezentujące obszary (każdy o wielkości gminy). Mam również punkty opisujące lokalizację każdego lotniska w Kanadzie i sieć dróg w całej Kanadzie. Muszę znaleźć drogę z każdego obszaru do najbliższego lotniska.

Próbowałem już znaleźć środek ciężkości każdego wielokąta, ponieważ pomyślałem, że mogę go użyć do obliczenia odległości między dwoma punktami wzdłuż drogi. Ale potem zdałem sobie sprawę, że środek ciężkości niekoniecznie jest połączony z drogą (szczególnie w północnych częściach Kanady), dlatego nie mogę tego użyć.

Byłbym naprawdę wdzięczny za pewne wskazówki, jak to osiągnąć, ponieważ jestem bardzo nowy w ArcGIS i nie znalazłem wiele, aby mi pomóc (bez mylenia mnie) w Internecie.

BadgerBeaz
źródło
1
Czy rozważałeś budowę łączników centroid ? Często wykorzystują je strategie integracji GIS Emme / 2 . Jako kanadyjska firma, być może Inro Aleady ma do tego zestaw danych. Ich importowanie może być łatwiejsze niż tworzenie własnych.
Kirk Kuykendall
@KirkKuykendall Szczerze mówiąc, wydaje się, że byłoby to skomplikowane i nie „warte mojego czasu” (nie chcę brzmieć niegrzecznie) tylko po to, aby to zrobić. Szukam sposobu, aby przejść przez ArcMap. Doceniam twój komentarz i pomysły.
BadgerBeaz
Tak, to byłby znaczny wysiłek. Jeśli ktoś (jak Inro) już to zrobił, może to nie być trudne. Myślę, że chciałbyś linii łączącej każdy środek ciężkości ze środkiem każdego dużego boku wielokąta - nie tylko jednego łącznika. Czy wielokąty, które nie mają połączenia z centroidem, są dość prostokątne?
Kirk Kuykendall

Odpowiedzi:

5

Trasa po sieci drogowej wymaga czegoś więcej niż zwykłego liniowego odniesienia, więc obawiam się, że nie jest to trywialne zadanie bez jakiegoś dodatku do routingu, takiego jak Network Analyst . To, czy masz Network Analyst, będzie zależeć od Twojej licencji.

Jeśli nie masz Network Analyst, masz trzy opcje, tak jak ja to widzę.

  1. Pierwszym z nich jest zaimplementowanie algorytmu A * w ArcPy i efektywne stworzenie prostego narzędzia do analizy sieci. Jest to całkiem wykonalne, jeśli znasz Pythona, ale powyższy komentarz sugeruje, że nie byłoby to podejście, które Cię interesuje.
  2. Użyj PostGis i PgRouting . Ponownie, nie jest to ArcGIS i nie jest całkowicie trywialne (więc możesz nie być zainteresowany), ale nasz własny Podmrok ma doskonały samouczek tutaj: http://underdark.wordpress.com/2011/02/07/a-beginners-guide -to-pgrouting / .
  3. Użyj liniowego odniesienia wraz z inteligentną serią zmian i wyborów, aby uprościć sieć dróg, dzięki czemu masz tylko jedną linię z każdego obszaru do najbliższego lotniska. Szczerze mówiąc, prawdopodobnie będzie to trudniejsza praca, dająca mniej niezawodne wyniki z małą opcją powtarzalności niż którakolwiek z pozostałych opcji. Bez obejrzenia danych trudno jest opisać, jak bym to zrobił, ale w zasadzie potrzebowałbyś wielu dodatkowych informacji, aby wyeliminować ogromne połacie sieci drogowej (działki oraz pewne rozsądne założenia dotyczące rodzaju drogi, którą podróżowałby podróżnik a podselekcja dróg oparta na zbuforowanym wektorze z centroidu obszaru na lotnisko może być początkiem ... ale robi się już bardzo nieprzyjemnie ...)
MappaGnosis
źródło
0

Możesz spróbować ET Geowizards. Ma mnóstwo narzędzi punktowych, polilinicznych i wielokątnych, z których jedno prawdopodobnie pomogłoby w realizacji tego zadania. Jest to dodatek do ArcGIS z wieloma darmowymi funkcjami. Strona internetowa ET Geowizards

Sirgeo
źródło