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

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

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

1 ответ

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

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

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

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

Другие вопросы по тегам