Программно найти общие европейские названия улиц

Я занимаюсь разработкой веб-формы для немецких и французских пользователей. В этой форме пользователи должны будут вводить названия улиц несколько раз.

Я хочу минимизировать раздражение для пользователя и предложить функцию автозаполнения, основанную на общих названиях улиц во Франции и Германии.

Есть идеи, где я могу получить список без роялти?

Огромное спасибо,

Адам

6 ответов

Решение

Должны ли ваши пользователи вводить одно и то же название улицы несколько раз? Потому что вы могли бы легко предотвратить это, кодируя что-то, что заполняло поля.

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

[РЕДАКТИРОВАТЬ] Вы можете взглянуть на OpenStreetMap с их превью Planet.osm (или посмотреть здесь для дампа, содержащего данные только для Европы). Это в основном база данных OSM со всей имеющейся у них картографической информацией, включая названия улиц. Это все в формате XML, и улицы, кажется, хранятся как пути. Существуют инструменты (например, Osmosis) для извлечения данных и помещения их в базу данных, или вы можете написать что-нибудь, чтобы пропустить данные и отфильтровать названия улиц для вашей базы данных.

Вы могли бы начать с вытягивания имен через API Google (просто найдите, например, широта / длинная внешняя граница - Парижа и перейти к центру) - но, поскольку Google ограничивает использование API, это, вероятно, займет очень много времени.

Однажды я связался с Братиславой по поводу списка названий улиц, и они отправили его мне как XLS. Может быть, вы могли бы попытаться сделать это для ваших любимых городов.

Начните с http://en.wikipedia.org/wiki/Category:Streets_in_Germany и http://en.wikipedia.org/wiki/Category:Streets_in_France. Возможно, вы захотите убедиться, что авторские права на Википедию не являются более защищенными, чем подходящие для ваших нужд.

Редактировать (объединено с моим собственным комментарием): Конечно, чтобы ответить на "программную" часть вашего вопроса: выяснить, как сделать паук и почистить эти страницы категории Википедии. Вежливым занятием было бы кэшировать его, а не нажимать на него каждый раз, когда вам нужно получить список улиц; Обновления один раз в месяц или около того должно быть достаточно, так как информация вряд ли существенно изменится.

Мне нравится предложение Тома ван Энкеворта, но я бы немного конкретнее обратился к ссылкам Planet.osm, потому что большинство из них требует использования какого-либо инструмента для работы с поддерживаемыми форматами (pbf, osm xml и т. Д.).

На самом деле, посмотрите на следующую ссылку http://download.gisgraphy.com/openstreetmap/

Все файлы там в формате.txt, и если вы хотите использовать только названия улиц, просто извлеките второе поле (название), и все готово.

Как к вашему сведению, я не использовал французские файлы в моем проекте, но добыча немецких файлов привела (после нормализации) к чуть более 380К уникальным записям (~6 МБ)

@dusoft может быть на что-то - может быть, кто-то на правительственном уровне может помочь? Я не думаю, что простой список названий улиц не может быть защищен авторским правом, и никакие лицензионные платежи не взимаются. Если это так, может быть, вы могли бы даже собрать некоторые картографические данные из чего-то вроде TomTom?

"Deutsche Post" предлагает список всех названий улиц в Германии:
http://www.deutschepost.de/dpag?xmlFile=link1015590_3877

Они не упоминают цену, но я считаю, что это не бесплатно.

Другие вопросы по тегам