2009-05-18 10 views
6

Un po 'correlato a this question, ma in assenza di una risposta specifica su QuickBooks in particolare, qualcuno sa di un parser di indirizzi per Java? Qualcosa che può prendere informazioni sull'indirizzo non strutturato e analizzare la riga dell'indirizzo 1, 2 e il codice postale della città e il paese?Analizzatore di indirizzo postale Java

risposta

8

So che il servizio web di Google Maps è ottimo a questo scopo. Quindi, se vuoi usarlo, potresti risparmiare un sacco di sforzi.

Il vero problema qui è che è necessario un database mondiale di nomi di città/paesi/province per analizzare in modo efficace gli indirizzi NON STRUTTURATI.

Ecco come costruisco un URL per l'utilizzo da parte di Google Maps in C#:

string url = "http://maps.google.com/maps/geo?key=" + HttpUtility.UrlEncode(this.apiKey) + "&sensor=false&output=xml&oe=utf8&q=" + HttpUtility.UrlEncode(location); 
+9

Attenzione a questo. La TOS di Google vieta le query automatizzate. –

4

potrebbe desiderare di leggere questa domanda Stack Overflow: "Parse usable Street Address, City, State, Zip from a string". Nessun codice Java reale per fare il lavoro (solo alcuni VB), ma c'è qualche discussione sul problema e maggiori informazioni sull'alternativa che John Gietzen menziona, sull'uso di un servizio web per interpretarlo per voi.

1

Vedere www.address-parser.com, offrono un servizio Web per l'analisi degli indirizzi internazionali.

+0

Grande scoperta, grazie! Vorrei che offrissero un'API Java (per motivi pratici, un servizio web non funzionerebbe bene in questo scenario). – Yishai

+1

Per un prodotto commerciale, date un'occhiata a http://www.melissadata.com. Offrono un'API Java che non ho provato. È JNI un wrapper attorno al loro prodotto basato su C. – Dave

2

Il progetto Murale ha un parser di indirizzo: https://mural.dev.java.net/. Non ho capito come estrarlo dal motore Mural più grande, ma funziona sulla base di alcuni test molto limitati.

5

Il SourceGorge JGeocoder ha un parser di indirizzo che potrebbe essere utile. Vedi http://jgeocoder.sourceforge.net/parser.html.

+0

Proprio quello che stavo cercando. Si noti che non è super robusto - Ho passato il codice solo una stringa di indirizzo (nessuna città) e ho ottenuto un'eccezione di puntatore nullo. Tuttavia, è gratuito e con licenza gratuita. – mooreds

Problemi correlati