Question

J'écris une application avec Google App Engine en utilisant Python et je transforme une grande liste Wikipédia en une feuille de calcul, puis je saisis les lignes de la liste dans Emplacements.Par exemple ceci : http://en.wikipedia.org/wiki/List_of_North_Carolina_state_parks et je dois transformer le nom de chaque parc en adresse, j'imagine qu'ils ne seront pas exacts mais tant qu'ils sont presque corrects, ça me va.

Existe-t-il un moyen de le faire en utilisant Python côté serveur ?Je connais le service de géocodage de Google, mais tout est fait avec javascript et son débit est limité.

Existe-t-il un service capable de faire cela ?

MISE À JOUR:geopy est exactement ce que je cherchais.Je me demande quelle est la meilleure façon de gérer plusieurs résultats.Voici ma tentative :

        try:
             place, (lat, lng) = g.geocode(title+", North Carolina")
        except ValueError:
             geocodespot = g.geocode(title+", North Carolina", exactly_one=False)
             place, (lat, lng) = geocodespot[0]

Cela fonctionne très bien mais je me demande s'il existe de meilleures idées.

Était-ce utile?

La solution

Il y a le geopy bibliothèque.

Exemple (du page de démarrage):

from geopy import geocoders

g = geocoders.Google()
place, (lat, lng) = g.geocode("10900 Euclid Ave in Cleveland")
print "%s: %.5f, %.5f" % (place, lat, lng)
    10900 Euclid Ave, Cleveland, OH 44106, USA: 41.50489, -81.61027  

Autres conseils

Le géocodage Google ne nécessite aucune clé pour être utilisé.

Toutes les informations sur la version la plus récente sont disponibles :

https://developers.google.com/maps/documentation/geocoding/#ReverseGeocoding

il vous suffit de faire une demande à :

(exemple)http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false

puis utilise urllib

import urllib
// pull lat and lng from your parks database and construct a url like:
url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false'

resp = urllib.urlopen(url)
resp.read() // json string convert to python dict

Le tarif est limité, mais c'est un service gratuit.Tout n’est certainement pas fait avec javascript.Pourquoi est-il important que le débit soit limité si vous géocodez simplement une liste statique de parcs nc ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top