Программно найти общие европейские названия улиц - PullRequest
1 голос
/ 11 февраля 2010

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

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

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

Спасибо большое,

Адам

Ответы [ 6 ]

2 голосов
/ 11 февраля 2010

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

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

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

1 голос
/ 27 апреля 2012

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

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

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

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

1 голос
/ 11 февраля 2010

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

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

1 голос
/ 11 февраля 2010

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

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

0 голосов
/ 11 февраля 2010

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

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

0 голосов
/ 11 февраля 2010

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

...