Domanda

http://maps.google.com/maps/geo ? servizio web per geocode alcuni indirizzi.

Il problema che ho è che un indirizzo di piena non significa necessariamente dare una geocode più precisa.

per esempio passando Llantysilio, Denbighshire, Regno Unito è molto più accurata rispetto Llantysilio, Llangollen, Denbighshire, Regno Unito

L'attributo accuratezza nella XML non sembra molto utile per decidere quale indirizzo scegliere.

Come sono altre persone affrontato questo problema? C'è un buon modo per scegliere il miglior geocodifica che funziona la maggior parte / tutto il tempo?

* Modifica Un po 'di info extra - quando ho messo l'indirizzo più piena la prima riga dell'indirizzo viene ignorato e il geocoder salta a un altro, ma esatto, l'indirizzo che è una via centrale si trova nella linea supplementare aggiunto l'indirizzo. In questo esempio, raccoglie Castle Street nelle Llangollen mezzo, apparentemente trascurando Llantysilio.

Modifica per kdgregory: ecco i due richieste API che ho usato (manca chiave API non sembra essere un problema):

http://maps.google.com/maps/geo?q=Llantysilio,+Denbighshire,+UK&sensor=false&output=xml

http://maps.google.com/maps/geo?q=Llantysilio,Llangollen,++Denbighshire,+UK&sensor=false&output=xml
È stato utile?

Soluzione 5

Alla fine ho concluso che ci sono troppi puntini strani in coerenza indirizzo con webservice geocodifica di Google nel Regno Unito, ma alla fine sono riuscito a trovare un modo di usare codici di avviamento postale, invece, che è molto più preciso: come è fatto

Altri suggerimenti

Si deve interpretare la precisione di un mio amico. Di solito ci sono 2 parti con una precisione, prima l'indirizzo macthing. La seconda parte è la parte importante. È possibile eseguire il geocoding qualcosa a un livello di precisione degli Stati Uniti, o un livello di città, codice postale baricentro, il livello della strada interpolati o di un livello effettivo pacchi di precisione. Il primo esempio è un 4 e la seconda è 9. Per questo servizio più alto è migliore.

Precisione Valore Descrizione 0 accuratezza sconosciuta. 1 livello di precisione Paese. 2 Regione (stato, provincia, prefettura, etc.) livello di precisione. 3 Sub-regione (provincia, comune, ecc) livello di precisione. 4 Città (città, paese) livello di precisione. 5 CAP (codice postale) livello di precisione. 6 Street livello di precisione. 7 Intersezione livello di precisione. livello di precisione 8 Indirizzo. 9 Premessa livello di precisione (nome, il nome della proprietà, centro commerciale, ecc costruzione).

E 'probabilmente bene notare che Google non segue le specifiche XAL , ma piuttosto li implementa in un sottoinsieme.

Quindi, questo significa che non sarà necessariamente in grado di fare:

place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName

Perché un paese e la località secondaria possono essere forniti, mentre una zona amministrativa non è.

I dati restituiti è identificato con un indicatore di accuratezza che vi dà un'idea parente di quello che ci si può aspettare per i dati. Quindi, è possibile memorizzare oggetti e recidere parti dell'indirizzo completo che utilizzano questa variabile e cercare di geocoding in modo tale - Non è raccomandato però.

In genere, un indirizzo completo è (senza l'arteria) è un buon modo di trovare la posizione generale. È possibile utilizzare alcuni dei logica ponderata preferenziale Google fornisce per perfezionare l'indirizzo.

es. Utilizzare il setViewPort o SetCountryCode per dare le ricerche un po 'più precisione.

Ricordate, Geocoding non è una scienza . Non si può pretendere risultati coerenti.

Un geocode response.Placemark [0] mediante gmap è possibile controllare ciò che hai, e prendere il livello o provare di nuovo. Ho scelto di default nell'ordine

place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName

Potrebbe essere più logicamente nominato come visto sopra. Gmaps 3 lavora in qualche modo incompatibile con v2.

Si può provare un brutto hack che consiste nel geocoding vostro adresse completo e tutti i sottoinsiemi delle parole tuo indirizzo contiene, si ottiene un sacco di codici geografici che si utilizzano per ottenere i indirizzi ad essi correlati con lo strumento geocoding inverso. Una volta che hai un sacco di indirizzi si confrontarli con quello che per primo ha dato, poi si prende la geocodifica più preciso ... Molte le richieste, molte iterazioni cresce con ogni parola si aggiunge al tuo indirizzo, e un brutto lavoro, ma può essere divertente per fare alcune statistiche ^^

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top