Геолокация: как определить страну по адресу/городу/месту?

У меня есть файл .csv с профилями Twitter, включая такую ​​информацию, как имя пользователя, имя, описание и т. д. Один столбец — geolocation. В этом тексте у пользователя может быть страна (например, Великобритания), город (например, Кембридж), фактический адрес (5 Tyrian Place, WR5 TY1), штат (например, Калифорния, Калифорния) или что-то еще ( то есть, к западу от ада).

Есть ли API/библиотека/автоматический способ получения этой информации и получения страны? Например, если местоположение находится в Кембридже, вывод должен быть Великобритания, если адрес находится в Великобритании, вывод должен быть Великобритания и т. д.


person Aventinus    schedule 14.09.2017    source источник


Ответы (1)


У Google есть служба обратного геокодирования, к которой вы можете получить доступ через их Maps API:

https://developers.google.com/maps/documentation/geocoding/start

Они позволяют делать 2500 бесплатных запросов в день. Одна приятная особенность заключается в том, что он даст вам правильную широту, долготу, штат, страну и т. Д. Для таких вещей, как «Мост Золотые Ворота» и «Большое Яблоко». Пользователи Твиттера вводят всевозможные (саркастические) фразы для обозначения своего местоположения — например, «К западу от ада», «Марс» и т. д. — и Google также реверсирует геокодирование. Хотя, это может быть не очень полезно.

В качестве другого уровня проверки вы можете сравнить часовой пояс пользователя ("utc_offset"), если он присутствует, с местом, которое возвращает Google. Это немного сложно и требует, чтобы вы сравнивали границы широты часового пояса с широтой и долготой в ответе Google.

person Jonas    schedule 14.09.2017