Olen vasta aloittamassa GeoPy-sovellusta ja olen suoritetaan joitain testejä erilaisten käytettävissä olevien geokooderien laadun määrittämiseksi. Olen huomannut, että Bingin geokooderi on tarkempi kuin Googlen (ainakin minun tarkoitukselleni), mutta postinumero palauttamisen sijaan Bing palauttaa <built-in function zip>
kuin postinumero. Onko ajatuksia miksi / tavoista korjata tämä?
Tässä on testikoodini:
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)
Tulokseni on:
<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 näyttää olevan johdonmukaisempi ja palauttanut vain yhden oikean tuloksen kahden tuloksen sijaan. Ainoa asia on, että Bing ei näytä haluavan palauttaa postinumero, jostain syystä, pikemminkin se palauttaa merkkijonon, joka sisältää osoitteen ja <built-in function zip>
.
Kommentit
Vastaa
Etkö ole varma, auttaako tämä, mutta voit käyttää osoitekirjaustarjoajaa, joka sisältää geokoodauksen. Olen SmartyStreetsin kehittäjä, juuri tällainen palveluntarjoaja. Katso tämä esimerkki JSON-vastauksesta (vieritä alaspäin).
Google ja Bing ovat hyvät osoitteen lähentämispalvelut, mutta voit joutua vaikeuksiin heidän lisenssisopimustensa kanssa sen mukaan, mitä yrität saavuttaa. Tarjoamme ilmaisen ikuisen suunnitelman vähäisen käytön asiakkaille, ja se on täysin ilmainen voittoa tavoittelemattomille.
Kommentit
- Hei, tämä näyttää hienoa, luulen, että ' yritän antaa tälle menon. Sinä ' olet oikeassa, tämä on parempi lisenssisopimusten kannalta Kiitos.
- Mistä tietosi ovat uteliaisuuden vuoksi?
- Tietomme tulevat USPS: ltä, jonka kanssa SmartyStreets on CASS-sertifioitu lisenssinsaaja. fi.wikipedia.org/wiki/Coding_Accuracy_Support_System
geocoders.Bing('DEV KEY').geocode('854 NE 58th St, Seattle')
palauttaa lisäosan täydellisenä postinumerolla? PS, ei