Jeg bruger Geopy . Jeg får følgende fejl for koden.

Jeg bruger den samme kode som på https://code.google.com/p/geopy/wiki/ReverseGeocoding

fra geopy importerer geocodere

g = geocoders.GeoNames() (place, point) = g.geocode("Palo Alto, CA 94306") print place >> "Palo Alto, US 94306" print point >> (37.418008999999998, -122.127375) (new_place,new_point) = g.reverse(point) print new_place >> 3998 Ventura Ct, Palo Alto, US 94306 print new_point >> (37.417850000000001, -122.12793000000001) 

Fungerer fint indtil udskrivningspunktet. Der opstår en fejl med g.reverse(point)

Traceback (most recent call last): File "<interactive input>", line 1, in <module> File "C:\Python27\lib\site-packages\geopy\geocoders\base.py", line 9, in reverse raise NotImplementedError NotImplementedError 

Eventuelle forslag?

Kommentarer

  • Hmmm, på OSX med version 0.95.1 af geopy i en virtualenv får jeg en NotImplementedErrorg.reverse(point) også. Jeg ' tænker at dette måske ikke har ' t gjort det fra dev til bagagerum endnu? Måske ønsker at komme med geopy-vedligeholderen.

Svar

Installerede du udviklingsgrenen, som den nævnte i det link, du har angivet?

Den omvendte geokodningsfunktion er i øjeblikket i en eksperimentel men stabil udviklingsgren , som du kan tjekke her:

svn checkout http://geopy.googlecode.com/svn/branches/reverse-geocode geopy

cd geopy / sudo

python setup.py installation

Du har muligvis for at slette din gamle geopy-installation.

Svar

Omvendt geokodning tilgængelig på geopy 0,97. Du kan downloade og installere ny version af geopy fra https://github.com/geopy/geopy eller klone git-arkivet.

git clone https://github.com/geopy/geopy.git cd geopy sudo python setup.py install 

Hvis du vil downloade og installere til Windows, kan du få en nyeste version fra https://github.com/geopy/geopy /archive/release-0.97.zip

Unzip og

cd geopy-release-0.97 python setup.py install 

At geolokalisere en forespørgsel til en adresse og koordinater:

 >>> from geopy.geocoders import GoogleV3 >>> geolocator = GoogleV3() >>> address, (latitude, longitude) = geolocator.geocode("175 5th Avenue NYC") >>> print(address, latitude, longitude) 175 5th Avenue, New York, NY 10010, USA 40.7410262 -73.9897806  

At finde adressen, der svarer til et sæt koordinater :

 >>> from geopy.geocoders import GoogleV3 >>> geolocator = GoogleV3() >>> address, (latitude, longitude) = geolocator.reverse("40.752067, -73.977578") >>> print(address, latitude, longitude) 77 East 42nd Street, New York, NY 10017, USA 40.7520802 -73.9775683  


Besvaret ved https://stackoverflow.com/a/20991832/2509803

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *