2009-03-25 17 views
53

Ich habe eine Aufgabe zur Validierung von Adressen, die in ein System eingegeben wurden, das ich gerade erstelle. Das System erfordert, dass die eingegebene Adresse mit einer gültigen Datenquelle verglichen wird. In Großbritannien stammt der Datensatz von der Royal Mail und ist teuer zu erreichen.Adressvalidierung mit Google Maps-API

Die benötigten Daten Postleitzahl Info für ganz Europa mit durch eine API in die Web-Anwendung zugegriffen zu starten.

Es gibt eine Reihe von Unternehmen, die diesen Service anbieten,

  1. QAS
  2. Capscan
  3. Postleitzahl überall

Diese alle bieten den Service ich brauche. Dies ist jedoch teuer und in einigen Fällen kein vollständiger Datensatz. z.B. nicht Irland

ich auch gefragt, ob es eine Möglichkeit wäre, die Google Maps API zu validieren diese Daten über Postleitzahl und Land zu nutzen.

Würde die Methode Google Maps möglich sein, oder muss ich die Linie eines dieser teuren Unternehmen nach unten gehen? Irgendwelche Gedanken darüber, welche Linie ich nehmen sollte.

Antwort

34

Die Antwort hängt wahrscheinlich, wie wichtig es für Sie Unterstützung und mögliche Anpassung für diesen Service erhalten soll.

Google kann das sicherlich tun. Schauen Sie in ihre XML- und Geocodierungs-APIs. Sie sollten in der Lage sein, eine XML-Nachricht zu erstellen, in der Google aufgefordert wird, die Kartenkoordinaten für eine bestimmte Adresse zurückzugeben. Wenn die Adresse nicht gefunden wird (ungültig), erhalten Sie eine entsprechende Antwort. Hier ist eine nützliche Seite: http://code.google.com/apis/maps/documentation/services.html#XML_Requests

Beachten Sie, dass die Google-Ziel in das Maps-API bereitstellt ist Adressen zum Plotten auf tatsächliche Karten. Während Sie die Daten für andere Zwecke verwenden können, sind Sie der Gnade von Google ausgeliefert, sollte eine ihrer Karten nicht genau Ihren gesetzlichen oder kommerziellen Adressen entsprechen. Wenn Sie für einen der von Ihnen genannten Dienste bezahlt haben, würden Sie wahrscheinlich Unterstützung erhalten, falls bestimmte Adressen nicht so funktionieren, wie Sie es erwarten.

Mit anderen Worten, man bekommt, was man bezahlt;). Wenn Sie jedoch Zeit haben, versuchen Sie es doch einmal, eine Google-basierte Lösung zu implementieren. Die API sieht ziemlich glatt aus, und sie ist schließlich kostenlos.

28

Googles geocoding api scheint zu wollen, dass Sie wollen, aber leider scheint diese Verwendung auch die terms of service der API zu verletzen. Insbesondere, dass die Vorgabe Sie können nicht

10,12 Gebrauch oder den Inhalt an, ohne eine entsprechende Google-Karte, es sei denn, Sie sind ausdrücklich erlaubt so in der Maps-APIs-Dokumentation zu tun, die Street View-API Dokumentation, oder durch schriftliche Genehmigung von Google (Sie dürfen Geocodes, die Sie über den Service erhalten haben, nur in Verbindung mit einer Google-Karte verwenden. Die Street View-API-Dokumentation erlaubt Ihnen jedoch ausdrücklich, Street View-Bilder ohne entsprechende Google-Karte anzuzeigen); oder

+0

@fgregg: etwas abseits des Themas, aber denkst du, dass das Speichern der Fahrstrecke zwischen 2 Punkten gegen die ToS ist? vorausgesetzt, dass beim Klicken auf einen Link in der Nähe tatsächlich eine Google-Karte angezeigt wird? – mpen

+1

Dies scheint jetzt 10.1.1 (g) zu sein. – Ricky

+2

Dies scheint nun 10,4 (d) – dhavald

22

Ich bin sowohl ein Web-Entwickler und ein ehemaliger Angestellter eines der Unternehmen, die Sie erwähnten. Ich verstehe völlig, woher du kommst. Adressen zu überprüfen scheint ein einfaches Problem zu sein, aber es ist ein Eisberg.Ich denke, ein Workaround zu den rechtlichen Beschränkungen der Google oder Yahoo! Google Maps APIs fordert Ihre Nutzer auf, ihre Adressen auf einer Karte zu bestätigen. Wenn ich in deinen Schuhen wäre, würde ich diesen Weg nicht gehen.

Der Grund, warum Adressenverifizierungsdienste so teuer sind, ist, dass sie Lizenzen und laufende Beziehungen mit mürrischen, bürokratischen Postbehörden (einschließlich der Royal Mail) erfordern. Leider sind die Postbehörden die besten (und oft auch einzigen) Datenquellen, anhand derer Adressen überprüft werden können. Es gibt also wirklich keinen anderen Weg, dies zu tun. Die Quintessenz ist, müssen Sie die Kosten für schlechte Adressen (in der Regel eine Frage der Mail-Volumen) gegen die Kosten der Software, um sie zu überprüfen. Irische Postdaten sind noch mehr Müll als irische Postformaten (die häufig Gebäudezahlen weglassen), also können Sie wenig über diese Adressen tun.

+1

zu sein. Auch für kleine Unternehmen, die an einer US-Validierung interessiert sind, können Sie einige der USPS-Webdienste kostenlos nutzen (https://www.usps.com/business/webtools. htm). – Adam

+4

Beachten Sie, dass die USPS-API-Bedingungen den Dienst effektiv auf Unternehmen beschränken, die über USPS versenden: "Der Benutzer stimmt zu, die USPS-Website, APIs und USPS-Daten zu verwenden, um nur USPS-Versandtransaktionen zu ermöglichen." Wenn Sie per UPS oder Fedex versenden möchten oder Ihr Unternehmen eigene Lkw/Fahrer entsendet - wie auch meine - müssen Sie eine teure Drittpartei einsetzen. – HiredMind

+0

natürlich könnten Sie ein Dokument pro Jahr mit USPS versenden, dann sind Sie ein Kunde! – Dawesi

2

Validieren Sie es gegen FedEx's API. Sie haben eine API, um Etiketten aus XML-Code zu generieren. Der Prozess beinhaltet einen Schritt, um die Adresse zu validieren.

+7

Sofern Sie nicht mit FedEx versenden, verstoßen Sie gegen [ihre Nutzungsbedingungen] (http://www.fedex.com/cgi-bin/global_legal.cgi?cc=us&sc=/legal/). – Matt

+0

... und ihre Adresse Validierung Datenbank saugt. – ColinM

0

Die Google-Basis (kostenlos) bietet keine Adressverifizierung (Geocodierung), da es keine britische Postleitzahllizenz gibt.

Dies bedeutet, dass Postleitzahlsuchen sehr ungenau sind. Die Proximity-Suche ist sehr schlecht, selbst bei Stadtsuchen, die Orte oft nicht erkennen.

Deshalb hat Google eine Premier- und eine Enterprise-Lösung, die immer noch teurer und nicht so gut ist wie Business-Mapping-Spezialisten wie bIng und Via Michelin, die auch APIs haben.

Als ein freiberuflicher Entwickler würde ein so seriöses Unternehmen Google nutzen, da das System schwach ist und wirklich eine verwässerte Lösung bietet.

1

Ich weiß, dass dieser Beitrag ein bisschen alt ist, aber wenn jemand es noch relevant findet, sollten Sie sich die kostenlosen Geocoding-Dienste des USC College ansehen. Dies umfasst die Adressvalidierung über Ajax und statische Aufrufe. Der einzige Haken ist, dass sie eine Verbindung zurückfordern und nur Zuteilungen von 2500 Anrufen anbieten. Mehr als fair. https://webgis.usc.edu/Services/AddressValidation/Default.aspx

+2

Ich habe versucht, das zu verwenden, und die Daten sind extrem alt. Die AJAX-Version ist seit einiger Zeit auch kaputt. –

5

Eine andere Option ist YADDRESS.

+0

nur USA? Fehlgeschlagen an meiner Geschäftsadresse (UK) und enthält kein Feld "Land" in der zerlegten Adresse. –

+0

Richtig, nur USA. –

5

Die Antwort hängt davon ab, wie viel Vertrauen Sie in die Daten setzen und wie Ihre Daten verwendet werden. Wenn Sie es zum Beispiel für den Versand oder Versand verwenden, möchten Sie sicher sein, dass die Daten korrekt sind. Wenn Sie es nur als einen anderen Betrugsverhinderungsmechanismus verwenden, können Sie möglicherweise ein gewisses Maß an Fehlern in die Daten einfließen lassen.

Wenn Sie einen Grad an echter Genauigkeit wollen, müssen Sie mit einem Service gehen, der echte Adressüberprüfung durchführt, und Sie werden dafür bezahlen müssen. Wie von Adam erwähnt, scheint die Adressverifizierung und -validierung zunächst einfach und einfach zu sein, aber es ist ein schwarzes Loch, das mit Herausforderungen behaftet ist und, sofern Sie nicht mit einigen zugrunde liegenden Daten arbeiten, praktisch unmöglich ist, dies alleine zu tun. Vertrauen Sie mir, Sie sparen Geld, indem Sie einen Service nutzen. Sie können diesen Weg auch selbst gehen, um zu erleben, was ich meine, aber ich kann Ihnen garantieren, dass Sie das Licht sehen werden, sozusagen nach nur ein paar Stunden (oder Tagen) des Drehens Ihrer Räder.

Ich sollte erwähnen, dass ich der Gründer von SmartyStreets bin. Wir machen address validation und Verifizierungsadressen und wir bieten dies auch für die USA und international an. Gerne beantworte ich persönlich Ihre Fragen zum Thema Adressbereinigung, Standardisierung und Validierung.

+0

OP und jeder, der dies liest, jetzt, da es einige Jahre nach diesem Q veröffentlicht wurde. Ich habe den Service von smartystreets getestet. Es scheint sehr anständig zu sein, sowohl für die Überprüfung der US- als auch der Intl-Adresse. Ich kann nicht für die Richtigkeit ihrer Daten bürgen (wie würde ich das bestätigen?), Aber ich habe keinen Grund zu denken, dass es ein Problem sein könnte. Sie sind ein kommerzieller Betrieb, von dem ich anmaße, dass er jede erdenkliche Maßnahme ergreifen wird, um genaue Daten zu liefern, da das Geschäft davon abhängt. – inspirednz

0

Sie könnten die CDYNE-PAV-I-API in Betracht ziehen, die internationale Adressen validiert. international-address-verification Sie decken über 240 Länder ab und sollten daher alle Länder abdecken, für die Sie eine Validierung anstreben.

+5

Beachten Sie, dass dieser Service seit März 2013 eingestellt wurde. –