определение расстояния между двумя адресами в Великобритании

StackOverflow https://stackoverflow.com/questions/2454169

  •  20-09-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

С уважением,

Это было полезно?

Решение 7

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

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

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top