Am început să folosesc GeoPy și am fost rularea unor teste pentru a determina calitatea diferitelor geocodificatoare disponibile. Am observat că geocodorul Bing este mai precis decât Google (cel puțin în scopurile mele), dar în loc să returneze un cod poștal, Bing returnează <built-in function zip> mai degrabă decât codul poștal. Ai vreo idee despre de ce / modalități de a corecta acest lucru?

Iată codul meu de testare:

from geopy import geocoders g = geocoders.Google() b = geocoders.Bing("<DEV KEY HERE>") services = [g, b] def search_list(addylist): for address in addylist: for x in services: for place, (lat, lng) in x.geocode(address, exactly_one=False): print "%s: %s: %.9f, %.9f \n" % (x, place, lat, lng) addy1 = "513 N 36th Ave , Seattle" addy2 = "121 S First Street , La Conner" addy3 = "854 NE 58th St, Seattle" addylist = [addy1, addy2, addy3] search_list(addylist) 

Rezultatul meu este:

<geopy.geocoders.google.Google object at 0x18e75d0>: 513 36th Ave, Seattle, WA 98122, USA: 47.606811900, -122.287247300 <geopy.geocoders.google.Google object at 0x18e75d0>: 513 N 36th St, Seattle, WA 98103, USA: 47.651385400, -122.351573800 <geopy.geocoders.bing.Bing object at 0x18e76d0>: 513 N 36TH St, Seattle, WA <built-in function zip>, United States: 47.651340485, -122.351692200 <geopy.geocoders.google.Google object at 0x18e75d0>: 121 1st St, La Conner, WA 98257, USA: 48.391576600, -122.496045800 <geopy.geocoders.google.Google object at 0x18e75d0>: 121 N 1st St, La Conner, WA 98257, USA: 48.394719800, -122.494525700 <geopy.geocoders.bing.Bing object at 0x18e76d0>: 121 S 1ST St, La Conner, WA <built-in function zip>, United States: 48.391513824, -122.495391846 <geopy.geocoders.google.Google object at 0x18e75d0>: 854 NE 58th St, Seattle, WA 98105, USA: 47.670977000, -122.317815000 <geopy.geocoders.bing.Bing object at 0x18e76d0>: 854 NE 58TH St, Seattle, WA <built-in function zip>, United States: 47.670978546, -122.317817688 

Bing pare să fie mai consistent, returnând doar un singur rezultat corect, mai degrabă decât două rezultate. Singura problemă este că Bing nu pare să dorească să returneze un cod poștal, din anumite motive, mai degrabă returnează un șir care conține adresa și <built-in function zip>.

Comentarii

  • Nu pot ' să par să reproduc acest comportament – văd coduri poștale pentru fiecare exemplu de intrare. Poți posta mai multe informații despre sistemul dvs. de operare, versiunea python, versiunea geopy, etc …?
  • BTW, această întrebare pare mai potrivită pentru stackoverflow.com.
  • I ' m folosind Linux Mint 10, Python 2.7, GeoPy 0.94.1. Ce folosești? Ciudat că ' funcționează pentru tine, deci geocoders.Bing('DEV KEY').geocode('854 NE 58th St, Seattle') returnează suplimentul completat cu un cod poștal? PS, nu
  • Eu ' m rulează OS X Lion, Python 2.7.2, GeoPy 0.94.2 (că ' este ceea ce a dat jos PIP). Da, văd codurile poștale reale pentru rezultatele bing, nu < funcție încorporată zip >.
  • Bine, se pare că a fost problema. Am pus un prieten să conducă codul și a obținut aceleași rezultate ca și tine. Se pare că problema, oricare ar fi fost, a fost rezolvată în GeoPy 0.94.2. Dezinstalat 0.94.1, instalat 0.94.2 și ' este bine acum.

Răspuns

Nu sunt sigur dacă acest lucru vă va ajuta, dar puteți utiliza un furnizor de verificare a adresei care include geocodificare. Sunt „dezvoltator la SmartyStreets, doar un astfel de furnizor. Vedeți acest exemplu de răspuns JSON (derulați în jos).

Google și Bing sunt servicii excelente de aproximare a adreselor, dar aveți probleme cu acordurile lor de licență, în funcție de ceea ce încercați să realizați. Oferim un plan gratuit pentru totdeauna pentru clienții cu utilizare redusă și este absolut gratuit pentru organizații non-profit.

Comentarii

  • Hei, arată grozav, cred că ' voi încerca să încerc asta. ' ai dreptate, acest lucru este mai bun în ceea ce privește acordurile de licențiere pentru proiectul meu. Mulțumesc.
  • Din curiozitate, de unde provin datele dvs.?
  • Datele noastre provin de la USPS, cu care SmartyStreets este licențiat certificat CASS. en.wikipedia.org/wiki/Coding_Accuracy_Support_System

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *