2009-06-27 6 views
1

Ich habe kleine Datenbank von Unternehmen und ihre Adressen. Mit der Google Geocode API konnte ich eine Genauigkeit von 80% erreichen. Wenn ein Unternehmen eine einfache Adresse in einer Straße hat, macht Google normalerweise gute Arbeit. Viele Unternehmen haben jedoch ungerade Adressen, die je nach Datenbank unterschiedlich dargestellt werden. Beispiel:Geocode nicht-Standard-Business-Adressen

Royal Copenhagen 
Manly 1 
Shop 2A, The Corso (Wharf End) 
Manly NSW 2095 
(02) 9977 1618‎ 

Google Geocoder findet keine gute Adresse für diesen Standort. Allerdings, wenn ich Google for 'Royal Copenhagen, Manly NSW 2095', kann ich einfach die Adresse finden, und der Stift die richtige Stelle:

2 The Corso 
Manly New South Wales 2095, Australia 
(02) 9977 1618‎ 

Gerade jetzt, ich habe meine Geokodierung Programm verschiedene Kombinationen der Adressfelder in Versuch versuchen, die beste Lage zu bekommen . Beachten Sie, dass in Google Maps entering the phone number and city sehr gute Ergebnisse liefert, der Geocoder jedoch sehr unterschiedliche Ergebnisse liefert.

Hat jemand Erfolg gehabt, Datenbanken wie diese programmatisch zu geocodieren?

Antwort

2

ich fand ich die Google AJAX Search API für meine Zwecke nutzen könnten. Es ist ein Design, das innerhalb von JavaScript verwendet werden kann, aber es ist möglich, call directly from Python. Für eine Suche wird eine Liste übereinstimmender Geschäfte und ihrer geokodierten Standorte zurückgegeben.

2

Es ist möglich, dass das Google-API für diesen Zweck nicht ausreichend anspruchsvoll ist.

Früher habe ich einmal ein kommerzielles Produkt für die Geokodierung. Das Produkt enthält einen monatlich aktualisierten DVD-Stapel mit Geokodierungsdaten für so viele Länder wie Sie möchten. Dies war kein triviales System, aber es hat seine Parsing- und Geokodierungsdaten von den Postbehörden von Ländern auf der ganzen Welt erhalten und könnte daher auf dem neuesten Stand bleiben. Die Theorie war, dass jede Adresse, die es erlauben würde, einen Brief zuzustellen, geparst und geocodiert werden könnte.

ich nicht empfehlen dieses Produkt. Ich werde Ihnen den Namen nur so nennen, dass Sie ihre Konkurrenten suchen und finden können. Das Produkt war Trillium.

3

Persönlich verwende ich YAHOO's geocoder für die long/lat Informationen und ich verwende Googles API, um die Daten zuzuordnen. Ich stieß auf das gleiche Problem, bei dem Google einfach nicht der Aufgabe von komplizierteren Adressen gewachsen war, aber die Yahoo API hat mehr Flexibilität. Ich habe auch eine sehr kleine Anwendung und es ist kein Problem mit beiden, aber Ihre Laufleistung kann variieren.

+0

Funktioniert Yahoo für Adressen außerhalb der USA? –

+0

yeah, ich konnte die Adresse konvertieren, die das OP benötigt –

+0

Beachten Sie, dass dies die Bedingungen von Yahoo verletzt. :) –

0

google nur jene Adresse geocodiert können, die da drin Datenbank ist, ist es nicht dynamisch

, wenn Sie dies ich denke, tun wollen, dass yopu eine Anwendung zu schreiben, die geografische Breite und Länge und speichern, um Ihre Datenbank zu finden dann wird es leicht sein .......... :)