Расстояние между точками ГИС - PullRequest
3 голосов
/ 15 марта 2010

У меня есть большое количество координат ГИС (широта, долгота), и я хотел бы получить расстояние между ними. Есть ли сервис, который рассчитает для меня кратчайший путь? Я знаю о картах Google, но мне бы хотелось что-то, что я мог бы использовать из Python, и это могло бы обрабатывать большой пакет запросов одновременно.

Я ищу расстояние, поэтому прямое расстояние не подойдет.

Спасибо

Ответы [ 4 ]

1 голос
/ 18 апреля 2011

Итак, я беру это на основании вашего вопроса и опубликованных ответов, которые вы спрашиваете, какую программу использовать? Если вы можете найти способ получить копию бесплатно или дешево (например, на работе, в школе и т. Д.), Я бы порекомендовал ArcGIS 9.x. У этого есть свои особенности, но это очень поддержано сообществом пользователей, и есть много форумов и книг помощи / обучения, доступных для этого. Кроме того, они приняли Python в качестве официального языка сценариев для программы (Sweeeet!).

Другой вариант, который дешевле, это GRASS. Это бесплатная, мощная и многоплатформенная ГИС-программа с открытым исходным кодом. Возможно, у него немного более крутая кривая обучения, чем у ArcGIS, но я слышал об этом очень хорошо, учитывая, что это бесплатная программа.

Этот веб-сайт содержит информацию о бесплатных ГИС-программах с открытым исходным кодом (FOS) http://opensourcegis.org/ и может предоставить вам полезную информацию о других ваших возможностях.

Я не могу сказать, задавали ли вы вопрос о том, как измерить расстояние между двумя точками и найти кратчайшие расстояния в ГИС-программе, или если вы только что упомянули, что это то, что вам нужно сделать. В любом случае, ArcGIS хорошо подходит для этих задач. Некоторые из инструментов ArcToolbox в ArcGIS уже содержат команды, которые помогут вам найти оптимальные маршруты транспортировки. Эта ссылка позволяет вам изучить некоторые из доступных инструментов Справка ArcToolbox . У большинства инструментов в ArcToolbox также есть опция пакетной обработки с графическим интерфейсом. Измерение расстояний между точками на индивидуальной основе в ArcGIS легко, и если вам нужно измерить кучу пар точка-точка, вы можете написать быстрый скрипт на Python, который легко сделает это за вас.

Я думаю, что ответил на все ваши вопросы. Не стесняйтесь, дайте мне знать, если я что-то пропустил или это не имеет смысла. Надеюсь, это поможет, приятель.

1 голос
/ 15 марта 2010

Проверьте OpenStreetMap. Вы можете скачать их картографические данные и хранить их в своей локальной системе. http://wiki.openstreetmap.org/wiki/Routing обсуждает различные системы маршрутизации для своих данных.

Вам известно, что проблема с коммивояжером не завершена?

1 голос
/ 16 марта 2010

с использованием Qgis :

  • Используйте текстовый плагин с разделителями для импорта данных
  • сохранить импорт в виде файла формы
  • Открытьфайл формы
  • с помощью плагина ftools, вычислить матричное расстояние
0 голосов
/ 15 марта 2010

Если у вас есть взаимосвязи между точками, вы можете использовать алгоритм Дейкстры для «кратчайшего пути из одной точки» или алгоритм Флойда для вычисления кратчайшего пути «всех пар».

Ни один из них не особенно сложен, однако они предполагают, что вы знаете длину дорог между точками. Эти данные понадобятся вам для расчета пройденного расстояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...