Вычислить расстояние между полигоном и точкой вдоль пути

10

Я очень новичок в ArcGis и пытаюсь понять, как это сделать.

По сути, это то, что я пытаюсь сделать:

У меня есть карта Канады, и в ней есть полигоны, представляющие районы (каждый размером с муниципалитет). У меня также есть пункты, описывающие местоположение каждого аэропорта в Канаде и сеть дорог по всей Канаде. Что мне нужно сделать, это найти расстояние от каждой области до ближайшего аэропорта по дороге.

Я уже пытался найти центр тяжести каждого многоугольника, потому что я думал, что смогу использовать это для вычисления расстояния между двумя точками вдоль дороги. Но потом я понял, что центроид не обязательно связан с дорогой (особенно в северной части Канады), поэтому я не могу это использовать.

Я был бы очень признателен за рекомендации относительно того, как мне этого добиться, так как я очень новичок в ArcGIS и не нашел много, чтобы помочь мне (не путая меня) онлайн.

BadgerBeaz
источник
1
Рассматривали ли вы строить центроиды разъемы ? Стратегии интеграции ГИС Emme / 2 часто используют их. В канадской компании, возможно , Inro aleady имеет набор данных для этого. Это может быть проще импортировать их, чем создавать свои собственные.
Кирк Кайкендалл
@KirkKuykendall Честно говоря, похоже, что это будет сложно и не "стоит моего времени" (не хочу показаться грубым), чтобы сделать это один раз. Я ищу путь только через ArcMap. Я ценю ваш комментарий и идеи, хотя.
BadgerBeaz
Да, это было бы значительное усилие. Если кто-то (например, Inro) уже сделал это, это может быть не сложно. Я думаю, что вам нужна линия, соединяющая каждый центроид с серединой каждой из основных сторон многоугольника, а не только один разъем. Являются ли многоугольники, у которых отсутствует центроидная связь, достаточно прямоугольными?
Кирк Кайкендалл

Ответы:

5

Для маршрутизации по дорожной сети требуется нечто большее, чем простая линейная привязка, поэтому я боюсь, что это не тривиальная задача без какого-либо дополнения для маршрутизации, такого как Network Analyst . Наличие у вас Network Analyst будет зависеть от вашей лицензии.

Если у вас нет Network Analyst, у вас есть три варианта, как я вижу.

  1. Первый заключается в реализации алгоритма A * в ArcPy и эффективном простом инструменте сетевого анализа. Это вполне выполнимо, если вы знаете Python, но ваш комментарий выше предполагает, что это не тот подход, к которому вы стремитесь.
  2. Используйте PostGis и PgRouting . Опять же, это не ArcGIS и не совсем тривиально (так что вам может быть не интересно), но у нашего собственного Подземья есть отличное руководство здесь: http://underdark.wordpress.com/2011/02/07/a-beginners-guide -производство / .
  3. Используйте линейные ссылки вместе с продуманной серией правок и выборов, чтобы упростить дорожную сеть, чтобы у вас была только одна линия от каждой области до ближайшего аэропорта. Честно говоря, это, вероятно, будет более трудной работой, дающей менее надежные результаты с небольшим количеством вариантов повторяемости, чем любой из других вариантов. Не видя данных, трудно описать, как я поступил бы по этому поводу, но в основном вам потребовалось бы много вторичной информации для устранения огромных участков дорожной сети (земельные участки плюс некоторые разумные предположения о типе дороги, по которой будет следовать путешественник). и отбор дорог, основанный на массивном буферизованном векторе от центра тяжести до аэропорта, может быть началом ... но это уже становится очень неприятным ...)
MappaGnosis
источник
0

Вы можете попробовать ET Geowizards. У этого есть множество точечных, ломаных, многоугольных инструментов, один из которых, вероятно, помог бы выполнить эту задачу. Это дополнение к ArcGIS с множеством бесплатных функций. Веб-сайт ET Geowizards

sirgeo
источник