найти расстояние между двумя адресами Великобритании - PullRequest
1 голос
/ 16 марта 2010

Мне нужно написать приложение, которое должно рассчитать приблизительное расстояние вождения между двумя британскими адресами; Я думаю, что я могу использовать Google следующим образом:

http://maps.google.com/maps/nav?q=from:London%20to:Dover

Однако кто-нибудь знает, каков дневной / месячный лимит запросов к базе данных с одного IP-адреса?

Мне нужно внедрить в коммерческое приложение (грузовые перевозки), есть ли надежная альтернатива? Я могу потратить немного денег; но "некоторые";

Язык разработки / платформа: C #, .NET

С уважением,

Ответы [ 7 ]

5 голосов
/ 16 марта 2010

Вы можете использовать базу данных OpenStreetMaps и сделать расчет самостоятельно, но это потребовало бы некоторого кодирования.

2 голосов
/ 17 марта 2010

Вы можете использовать openstreetmap с pgrouting в postgis, если вам важны только приблизительные оценки. Если вы просто делаете город с городом, то вам действительно не нужно беспокоиться о геокодировании, так как города давно известны.

Если ваш сервис ограничен Англией, я бы сохранил большую таблицу БД с комбинациями для попарного расстояния 5000 лучших городов. Вычислите его один раз в автономном режиме, используя pgrouting, а затем вызовите его, когда поступит запрос. Это сделает приложение намного быстрее для большинства ваших пользователей.

Все основные игроки карты имеют API-интерфейсы маршрутизации (Yahoo, Bing, MapQuest, Nokia). Вы также можете посмотреть на deCarta для того же вида услуг. Они долгое время были движком LBS позади Yahoo и Google.

[обновить], если вы просто делаете это для приблизительной оценки, вам действительно нужно выполнить маршрутизацию или вы можете просто сделать расстояние по прямой. Прямая линия гораздо проще решить. Вам просто нужны последние значения для центров городов без данных по уличной сети или для расчета маршрутов.

1 голос
/ 06 апреля 2010

По состоянию на 1 апреля The Ordnance Survey опубликовало много своих данных, включая продукт Code-Point, для бесплатной загрузки со своего веб-сайта . Он также был отражен MySociety , который включает преобразование в координаты WGS84 (т. Е. Те, которые используются устройствами GPS), из которого тогда было бы довольно тривиально вычислить большие расстояния между двумя точками - достаточно тривиально что он может быть частью запроса SQL, если у вас есть точки в базе данных.

Если вам нужно быть более точным в отношении фактических расстояний пробега, вы также можете загрузить данные Меридиана и реализовать довольно простой алгоритм маршрутизации (здесь Джакстра может иметь смысл)

0 голосов
/ 05 июня 2011

Я решил проблему с помощью Google Maps и написал собственный API с помощью Newtonsoft JSON.

Я еще нигде не публиковал решение в блоге (скоро).

ЕслиКто-нибудь заинтересован в получении кода, пожалуйста, пингуйте меня.

0 голосов
/ 18 марта 2010

Как насчет 2-5 пенсов за запрос, оплата по факту, через postcodeanywhere.co.uk . Они работают с АА, поэтому их данные, вероятно, довольно точны и полны.

Может сэкономить вам время на разработку (что также означает деньги). Проверьте с помощью бобовых счетчиков, стоит ли 2 пенса за цитату. Если нет, то вы можете запустить X самых популярных поездок через их службу и кэшировать результаты (возможно, нарушите их условия, проверьте сначала).

0 голосов
/ 16 марта 2010

Обычно большинство шейп-файлов дороги имеют поля begin_address / end_address для каждого сегмента дороги, где вы можете интерполировать адреса. Суть в том, что у вас есть проблема с ГИС, проявляющаяся в сборе и организации адресных данных, на мой взгляд, проблема с NP более простая.

Посмотрите на postgis . Вы можете конвертировать файлы форм в него. IRC комната #postgis на irc.freenode.net очень полезна, поэтому есть список рассылки.

0 голосов
/ 16 марта 2010

Вы можете легально использовать Карты Google в коммерческих определенных типах приложений. Они предоставляют вам лицензию и ключ API для встраивания в код вашей страницы. Есть, конечно, некоторые ограничения. Смотри http://code.google.com/apis/maps/terms.html.

[Отредактировано для уточнения. Вы можете использовать его, если вы не зарабатываете на нем деньги напрямую, что и было целью ОП.]

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