База данных страны/штата/города?

Возможный дубликат:
база данных стран и их городов< /а>

Хорошо, это нетехнический вопрос. Я создаю бизнес-справочник и хочу классифицировать объявления по местоположению. Вместо того, чтобы давать пользователям возможность ввести местоположение, я предоставлю им список местоположений, соответствующих формату Страна/Штат/Город. Я попробовал GeoWorldMap от GeoBytes. Вначале это выглядело многообещающе, и я чувствовал, что это именно то, что поможет выполнить работу, пока я не понял, что он предоставляет список из примерно 275 стран, хотя количество признанных стран составляет от 192 до 195. Так что я не уверен насчет дополнительные 80 стран. Когда я понял эту проблему, я зашел на их веб-сайт, чтобы немного подумать, и обнаружил, что их список регулярно обновляется. Так что это вызывает у меня вопрос. Можно ли найти точную базу данных, в которой перечислены все возможные местоположения? Что большинство разработчиков здесь используют для чего-то подобного?


person Naif Amoodi    schedule 01.08.2010    source источник
comment
Я думаю, что большинство разработчиков разрешит пользователю войти в локацию. Если вы не выполняете какое-то геокодирование (где вы используете это местоположение, выполняете какую-то географическую алгебру) и вам нужно связать метаданные с конкретным местоположением (и пользователь не может или не должен их предоставлять), вам не нужно загромождать базу данных всеми этими данными. Точно так же люди не захотят прокручивать огромный список местоположений, когда они могут просто ввести его.   -  person Adam Robinson    schedule 01.08.2010
comment
Прокрутка не будет проблемой, потому что я буду использовать AJAX. Я не буду заниматься геокодированием, но списки будут классифицированы по местоположению, поэтому требуется ассоциация. И поскольку правильная ассоциация имеет значение, вводу, предоставленному пользователем, нельзя доверять :( В прошлом я видел, как пользователи вводят значения, относящиеся к местоположениям. Возьмем, к примеру, страны. Они могут ввести США как США, США, Соединенные Штаты, Соединенные Штаты. Америки или просто Америки.То же самое для штатов.Они будут входить в Грузию как Джорджия или Джорджия.Еще одна проблема будет орфографические ошибки/опечатки и неправильное использование заглавных букв.   -  person Naif Amoodi    schedule 01.08.2010
comment
Похоже, этот вопрос лучше всего задать на gis.stackexchange.com.   -  person fmark    schedule 01.08.2010
comment
stackoverflow.com/questions/8346520/   -  person Somnath Muluk    schedule 08.06.2012
comment
Простой SQL для базы данных страны: infomazing.net/blog/   -  person Saqib Vaid    schedule 26.10.2015
comment
Вы можете получить дамп SQL для страны, штата и города по адресу sajeevsl.blogspot.in/2016/12/   -  person Chinjoo    schedule 06.12.2016
comment
Бесплатный список крупных городов см. на странице datahub.io/core/world-cities.   -  person AnthonyVO    schedule 04.03.2020


Ответы (1)


Отличный вопрос. Я думаю, что Yahoo! GeoPlanet может быть очень полезен для этого: они предоставляют довольно исчерпывающий список мест и иерархических отношений между ними, и вы можете либо загрузить список имен, либо использовать их API.

Другие географические справочники (это термин, который вы ищете) включают GeoNames, в котором также есть загружаемые данные. бесплатно. (Я уверен, что StackOverflow или даже поиск в Google могут дать вам больше вариантов в том же духе.)

Кроме того, если вы планируете создать пользовательский интерфейс, чтобы пользователи могли выбирать места из вашего списка, я предлагаю Freebase Suggest, плагин jQuery, который заставит пользователей выбирать из определенной категории (в вашем случае, скажем, стран) и предоставит приятный пользовательский интерфейс для выбора из того, что семантическая база данных Freebase считает правильным. Он даже предоставляет некоторый вики-подобный контекст, чтобы помочь с устранением неоднозначности.

person npdoty    schedule 01.08.2010
comment
Freebase Suggest — это круто, как и все остальное, но это немного сложно, если вы хотите определить, какие регионы включены в другие регионы для целей поиска. Например, если пользователь говорит, что находится в Боулдере, поиск людей в Колорадо, США, Северной Америке или во всем мире должен включать этого пользователя. Я предполагаю, что эти данные есть у Freebase, но для этого вам нужно использовать их API-интерфейсы веб-сервисов, и я подозреваю, что вы не сможете сделать это эффективно, не имея локальной копии иерархии регионов. - person MikeJ; 17.08.2010
comment
@MikeJ Чем сложнее ваш вариант использования, тем сложнее становится. Стоит отметить, что RDF, который Freebase предоставляет для местоположений, включает в себя свойства местоположения containedBy, поэтому должна быть возможность просматривать географические иерархии с помощью синтаксического анализатора RDF (для Боулдера Freebase имеет округ Боулдер, Колорадо и Соединенные Штаты, указанные в качестве контейнеров). Другой вопрос, подходит ли онтология местоположения Freebase для ваших целей; Я думаю, Yahoo! проделал хорошую работу с GeoPlanet по решению этих проблем. - person npdoty; 18.08.2010
comment
Нашел свой ответ здесь (gis.stackexchange.com/questions/603/), но искал этот ответ @ SO только для того, чтобы проголосовать! - person Tiago Cardoso; 01.04.2011