2017-09-14 35 views
0

J'ai un fichier .csv avec des profils Twitter, y compris des informations telles que le nom d'utilisateur, le nom, la description, etc. Une colonne est geolocation. Dans ce texte, l'utilisateur peut avoir un pays (Royaume-Uni), une ville ou une ville (Cambridge), une adresse réelle (5 Tyrian Place, WR5 TY1), un état (Californie, Californie) ou quelque chose d'idiot (c'est-à-dire à l'ouest de l'enfer).Géolocalisation: Comment dériver le pays en utilisant une adresse/une ville/un lieu?

Existe-t-il une méthode API/bibliothèque/automatique pour prendre cette information et dériver le pays? Par exemple, si l'emplacement est Cambridge, la sortie doit être RU, si l'adresse est au Royaume-Uni, la sortie doit être UK, etc.

Répondre

0

Google dispose d'un service de géocodage inversé auquel vous pouvez accéder via l'API Google Maps:

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

Ils vous permettent de faire 2500 demandes gratuites par jour. Une caractéristique intéressante est qu'il vous donnera la latitude, la longitude, l'état, le pays, etc pour des choses comme "Golden Gate Bridge" et "The Big Apple". Les utilisateurs de Twitter entrent toutes sortes de phrases (sarcastiques) pour leur localisation - comme "West of Hell", "Mars", etc - et Google va également inverser le géocode. Cependant, cela peut ne pas être très utile.

Comme autre niveau de vérification, vous pouvez comparer le fuseau horaire de l'utilisateur ("utc_offset"), s'il est présent, à l'endroit où Google retourne. C'est un peu compliqué et vous devez comparer les limites de latitude du fuseau horaire à la latitude et à la longitude dans la réponse de Google.