Вопрос

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

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

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

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

Адам

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

Решение

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

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

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

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

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

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

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

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

Мне нравится предложение Тома ван Энкеворта, но я был бы немного конкретнее, просто заглянув внутрь ссылок 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

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

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