Получить штат/провинцию из данных геоназвания?

Я скачал эти базы данных для США и Калифорнии с сайта GeoNames. Дата выглядит так:

5881639 100 Mile House  100 Mile House      51.64982    -121.28594  P   PPL CA      02              0       917 America/Vancouver   2006-01-18
5881640 101 Mile Lake   101 Mile Lake       51.66652    -121.30264  H   LK  CA      02              0       917 America/Vancouver   2006-01-18
5881641 101 Ponds   101 Ponds       47.811  -53.97733   H   PNDS    CA      05              0       18  America/St_Johns    2006-01-18

Я хочу использовать эти данные для выбора города, но я хочу отображать рядом с ним провинцию или штат. Не похоже, что эти данные содержат эту информацию. Есть ли способ получить это? Или есть лучшая БД, которая включает это?


person mpen    schedule 27.01.2011    source источник


Ответы (2)


Вы используете данные в столбцах для кодов администратора. На самом деле это идентификаторы, которые ссылаются на таблицу кодов администратора (для кодов администратора доступны отдельные наборы данных), это очень просто.

Посетите форумы Geonames для получения дополнительной информации.

http://forum.geonames.org/

person nixon    schedule 27.01.2011
comment
См. дамп данных на сервере загрузки Geonames: admin1CodesASCII.txt - person Stijn de Witt; 30.05.2016

Используйте наборы данных здесь: geocoder.ca, которые включают название города и штата. /имя провинции в том же файле.

Если вы хотите придерживаться своих данных, вы можете использовать Google Geocoding API, как в первом ответе здесь:

Карты Google : как получить страну, штат/область/регион, город с заданным значением широты/долготы?

для получения информации на основе широты и долготы. Однако это будет много работы, особенно для сборщика городов.

person Andy Mikula    schedule 27.01.2011
comment
Эй, аджм. Вы знаете, что случилось с координатами? У них есть для Ванкувера 49.25398 123.1081, но когда я нахожу это на карте Google, я попадаю в Монголию. Они не ставили знак минуса (-) перед 123.1081. - person chobo2; 11.05.2013