0
Отвечен

Почему geoname_id не проставлен для Казахстана и Белоруссии

Пользователь 42627 2 года назад обновлен Эльза Хайдарова 1 год назад 13

Здравствуйте.

Подскажите, почему geoname_id, не проставлен для городов из того же Казахстана и Белоруссии? Есть ли в планах заполнять это поле для всех городов в разных странах?

Спасибо

Ответ

Ответ

Спасибо за идею.

Идентификаторы для Беларуси, России, Узбекистана и Казахстана возвращаются в data.fias_id. Для остальных стран – в data.geoname_id. Да, идентификаторы разные, но сохранять их можно как строку, так и возвращает их Дадата.

+1
На рассмотрении

Здравствуйте.

Адреса Беларуси, Узбекистана и Казахстана берём из OpenStreetMap, для них возвращаем идентификатор по этому справочнику в data.fias_id. Для остальных стран поле geoname_id заполнено.

Есть в планах соединить данные из OpenStreetMap и geonames для этих стран? Просто это позволило бы привязаться к  geoname_id, как к уникальному id (number) и использовать его у себя в приложении.

Нет, возвращается идентификатор по справочнику, который служит источником. Для российских адресов, например, geoname_id тоже не заполняется.

Но ваш ответ я понял, соединять данные вы не будете и в планах такого нет.

Спасибо.

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

В ближайших планах нет. Возможно, в будущем это поменяется. Расскажите подробнее, пожалуйста, почему важно именно geoname_id использовать в качестве идентификатора?

Я думаю над одним проектом и в нём мне необходимо дать возможность пользователю выбрать из какого он города. Я не хочу ограничиваться только РФ и мне на данном этапе не нужна детализация до улицы или дома. Мне достаточно только город или населённый пункт. В связи с этим я не могу использовать идентификаторы fias, потому что для РФ там GUID, а для того же города из Казахстана, используется запись relation:1288730, что ну совсем разное. Поэтому я и подумал, что geoname_id, может стать тем самым уникальным идентификатором, который я могу использовать у себя. Возможно Вы мне подскажите другой путь, опираясь на свой опыт. Спасибо

Пользователь вручную будет вводить город и выбирать нужный из Подсказок? Для чего на этом этапе идентификатор?

Да всё верно именно так, но после этого, он нажмёт кнопку сохранить в приложении, что приведёт к сохранению данных в  БД и чтобы это сделать, мне необходимо на что-то ссылаться, на какой-то id. Какой id одного типа (number, guid) я могу использовать одинаково как для города из Белоруссии, России и Казахстана?

Какой id одного типа (number, guid) я могу использовать одинаково как для города из Белоруссии, России и Казахстана?

Сейчас такого нет. 

То есть дело именно в разных типах, верно? Какие в вашем случае проблемы из-за этого возникают?

)) Пока никаких. Пока я подбираю какие источники смогут мне подойти. Кстати, вы как вариант, могли бы создать свой dadata_id как geoname_id, который бы можно было использовать. Не факт, что это просто сделать, но всё же, как идея. Таким образом, пользователи вашего сервиса имели бы уникальный ключ но уже от вашего сервиса. ))

Спасибо за общение, буду думать...

Ответ

Спасибо за идею.

Идентификаторы для Беларуси, России, Узбекистана и Казахстана возвращаются в data.fias_id. Для остальных стран – в data.geoname_id. Да, идентификаторы разные, но сохранять их можно как строку, так и возвращает их Дадата.

Сервис поддержки клиентов работает на платформе UserEcho