Wie führen Sie eine Adressüberprüfung durch? [geschlossen]

88

Ist es überhaupt möglich, eine Adressvalidierung (physisch, nicht per E-Mail) durchzuführen? Es scheint, als würde die bloße Anzahl von Adressformaten, selbst in den USA, dies zu einer ziemlich schwierigen Aufgabe machen. Auf der anderen Seite scheint es eine Aufgabe zu sein, die für verschiedene Geschäftsanforderungen notwendig wäre.

Kevin Pang
quelle
22
Was auch immer Sie tun, wenn die Adresse ungültig erscheint, lassen Sie den Benutzer auswählen, dass sie tatsächlich gültig ist. Lehnen Sie sie nicht einfach ab, da der Prüfer sagt, dass sie ungültig ist.
Pim Jäger
Meinen Sie "Adressautovervollständigung" oder "Adressvalidierung"? Ich meine, kein Dienst wird jemals alle Veränderungen in der realen Welt erfahren. Jede Minute erscheinen Millionen neuer Adressen und alte werden abgerissen. Und ich spreche jetzt lokal in einem Bereich eines Planeten.
Jewgenij Afanasjew

Antworten:

27

Hier ist eine kostenlose und "außerhalb der Box" Möglichkeit, dies zu tun. Nicht 100% perfekt, aber es sollte offensichtlich nicht existierende Adressen ablehnen.

Senden Sie die gesamte Adresse an den Geokodierungs-Webdienst von Google . Dieser Dienst versucht, die genauen Koordinaten des Ortes zurückzugeben, an dem Sie ihn füttern, dh Längen- und Breitengrad.

Nach meiner Erfahrung erhalten Sie ein Ergebnis von 602 vom Dienst, wenn die Adresse ungültig ist. Es besteht definitiv die Möglichkeit von falsch positiven oder falsch negativen Ergebnissen, aber in Verbindung mit anderen Konsistenzprüfungen kann dies nützlich sein.

( Der Geokodierungs-Webdienst von Yahoo gibt andererseits die Koordinaten des Stadtzentrums zurück, wenn die Stadt existiert, der Rest der Adresse jedoch falsch ist. Möglicherweise nützlich, solange Sie das Feld "Präzision" in genau beachten das Ergebnis).

Tim Farley
quelle
4
Gibt es jemanden, der diese Methode tatsächlich auf einem Live-System verwendet hat?
Aston
27
Die Nutzungsbedingungen von Google und Yahoo verbieten die Verwendung ihres Geokodierungsdienstes, außer in Verbindung mit der Verwendung einer Karte, die dem Benutzer angezeigt wird. Finden Sie etwas ähnlicheres, wie Jonathan Oliver vorgeschlagen hat. Siehe: code.google.com/apis/maps/terms.html
Matt
1
Ich erhalte die 602 Ergebnisse nicht, wenn ich eine falsche Adresse eingebe.
HK1
9
Dies sollte wirklich NICHT die ausgewählte Antwort sein. Es verstößt gegen die Nutzungsbedingungen von Googles und überprüft Adressen nicht wirklich. Google verwendet eine Menge Intelligenz, um zu "erraten", welche Adresse Sie wollten, auch wenn die Informationen leicht abweichen. Google gibt auch einen Geocode zurück, wenn Sie 55 Main St eingeben und Google weiß, dass es eine 50 Main St und eine 60 Main St gibt. Es gibt einen erfolgreichen Geocode zurück, der die Entfernung im Durchschnitt berechnet, auch wenn eine 55 Main St dies nicht tut existieren. Sie müssen einen echten Validierungsdienst wie vorzugsweise USPS oder Experian oder SmartyStreets verwenden.
Jacurtis
1
Dies wäre eine wunderbare Blockchain-Anwendung, bei der jeder mit einem Knoten einen Beitrag leistet, indem er Teile einer sich ständig ändernden Datenbank speichert ...
decoder7283
19

Hier gibt es eine Reihe guter Antworten, aber die meisten gehen davon aus, dass der Benutzer eine "API" -Lösung wünscht, bei der er Code schreiben muss, um eine Verbindung zu einem Dienst eines Drittanbieters herzustellen und / oder den USPS auf dem Bildschirm zu kratzen. Dies ist alles gut und schön, sollte jedoch in die mit der Implementierung verbundenen Geschäftsanforderungen und -kosten einbezogen und dann gegen den gewünschten Nutzen abgewogen werden.

Abhängig von den Geschäftsanforderungen und der Art und Weise, wie die Daten in das System empfangen werden, ist eine Echtzeit-Adressverarbeitungslösung möglicherweise die beste Wahl. Wenn eine Echtzeitlösung erforderlich ist, sollten Sie die Lizenzvereinbarung und die technischen Einschränkungen der Google Maps / Bing / Yahoo-APIs berücksichtigen. Sie begrenzen normalerweise die Anzahl der Anrufe, die Sie pro Tag tätigen können. Die USPS-Web-Tools-API ist identisch, außerdem wird eingeschränkt, wie / warum Sie ihr System verwenden können und wie Sie die Daten danach verwenden dürfen.

Gleichzeitig gibt es eine Handvoll großartiger Dienstleister, die eine statische Adressliste problemlos verarbeiten können. Im Wesentlichen geben Sie dem Dienstanbieter eine CSV- oder Excel-Datei, er bereinigt sie und gibt sie an Sie zurück. Es ist ein einmaliger Deal ohne langfristige Verpflichtung oder Verpflichtung - normalerweise.

Vollständige Offenlegung: Ich bin der Gründer von SmartyStreets. Wir führen eine Adressüberprüfung für Adressen in den USA durch. Wir sind in der Lage , eine Liste mit CASS zu zertifizieren, und bieten auch eine Webdienst-API zur Adressüberprüfung an . Wir haben keine versteckten Gebühren, Verträge oder irgendetwas. Sie nutzen unseren Service, bis Sie ihn nicht mehr benötigen und weggehen können. (Im Gegensatz zu Mobilfunkunternehmen, die einen Vertrag benötigen.)

Jonathan Oliver
quelle
1
Perfekt, genau das, wonach ich gesucht habe. Und lassen Sie mich sagen, dass Sie Stil haben, Sir. Gut aussehende Seite.
Cory Mawhorter
2
Wir verwenden SmartyStreets und es ist großartig.
JerSchneid
17
Die Kosten für SmartyStreet für 1.000 Suchvorgänge betragen 30 US-Dollar. Sparte Ihnen einen Klick.
William Entriken
1.000 Lookups = 66 $ für internationale
Robert Sinclair
Eigentlich hat der USPS eine REST - Schnittstelle für diese ... aber, und dies ist ein sehr großer aber ... wenn Sie diese Sache mit einem Skript traf eine Datenbank voller Adressen überprüfen sie werden Sie verbieten. Sie können die Eingabe von Benutzerdaten damit validieren, damit sie in einem Webformular verwendet werden können, in dem die API-Treffer nach dem Zufallsprinzip zeitlich festgelegt werden. Stellen Sie einfach sicher, dass Ihr Formular Bot-Schutz bietet, sonst erhalten Sie in kurzer Zeit Ihren API-Zugriff auf DoS'd. Auch das ist nur für US-Adressen gut.
Neil Davis
15

USPS hat einen Adressreiniger online , den jemand in den Webservice eines armen Mannes geschabt hat . Wenn Sie dies jedoch häufig genug tun, ist es besser, ein USPS-Konto zu beantragen und den eigenen Webservice aufzurufen .

Mark Brackett
quelle
17
Um niemandem das Sodbrennen zu ersparen und drei Tage später ein Ablehnungsschreiben zu erhalten, darf fast niemand den USPS-eigenen Adressvalidator verwenden. Das ist der Grund, warum der Kerlbildschirm es an erster Stelle abgekratzt hat. Es ist streng auf gemeinnützige Organisationen beschränkt.
Nicholas Piasecki
5
Der USPS erlaubt nicht, dass diese Daten für andere Zwecke als zum Versenden eines Briefes oder Pakets verwendet werden. Mit anderen Worten, Sie müssen eine E-Mail an die Adresse senden, nach der Sie suchen.
16
Der USPS ermöglicht die kommerzielle Nutzung, wenn Sie Ihre Datenbanken nicht weiterverkaufen oder bereinigen. Wir haben uns für ein Konto qualifiziert und verwenden es, um ALLE Adressen zu überprüfen / reparieren, die über unsere Webformulare eingehen.
Marklark
2
Oder beabsichtigen, irgendwann zu mailen. Meinem Unternehmen wurde zunächst der Zugriff auf die USPS-API verweigert, aber nachdem wir unseren Verwendungszweck geklärt hatten (und festgestellt hatten, dass wir die API nicht zum Reparieren alter Daten verwenden würden), wurden wir genehmigt.
Marklark
4
Sie können die USPS-API nur verwenden, wenn Sie eine Adresse überprüfen, um ein Mailing durchzuführen oder Sendungen auszuführen : Secure.shippingapis.com/registration - Wenn Sie keine Mailings durchführen oder über USPS versenden , suchen Sie eine alternative API, die dies tut hat keine Lizenzbeschränkungen.
Matt
9

Ich verweise Sie auf meinen Blog-Beitrag - Eine Lektion in Adressenspeicherung . Ich gehe auf einige der Techniken und Algorithmen ein, die bei der Adressvalidierung verwendet werden. Mein Schlüsselgedanke ist: "Sei nicht faul mit der Adressenspeicherung, es wird dir in Zukunft nur noch Kopfschmerzen bereiten!"

Es gibt auch eine andere StackOverflow-Frage, die diese Frage stellt. Berechtigt Wie sollen internationale geographische Adressen in einer relationalen Datenbank gespeichert werden .

BenAlabaster
quelle
8

Bei der Entwicklung eines internen Adressüberprüfungsdienstes in einem deutschen Unternehmen, für das ich früher gearbeitet habe, habe ich verschiedene Möglichkeiten gefunden, um dieses Problem anzugehen. Ich werde mein Bestes tun, um meine Ergebnisse unten zusammenzufassen:

Kostenlose Open Source Software

Der erste Ansatz, den jemand verfolgen würde, ist eindeutig ein Open-Source-Ansatz (wie openstreetmap.org ), was niemals eine schlechte Idee ist. Aber ob Sie dies wirklich gut und zuverlässig nutzen können oder nicht, hängt sehr davon ab, wie sehr Sie sich auf die Ergebnisse verlassen müssen.

Adressen sind eine unglaublich variable Sache. Die Überprüfung von US-Adressen ist keine leichte, aber erträgliche Aufgabe. Wenn Sie sich jedoch für Europa entscheiden, insbesondere für Großbritannien mit seinem umfangreichen Postleitzahlensystem, fehlen dem Open-Source-Ansatz einfach Daten.

Webdienste / APIs

Software der Enterprise-Klasse

Geld schafft es natürlich. Aber nicht jedes Unternehmen oder jeder Entwickler kann ~ 0,15 USD pro Adressensuche ausgeben (das sind 150 USD für 1.000 API-Anfragen) - ein sehr teures Geschäftsmodell, das die überwiegende Mehrheit der Adressvalidierungs-APIs implementiert hat.

Was ich am Ende integriert habe: Streetlayer-API

Da ich nicht bereit war, den programmatischen Ansatz der manuellen Überprüfung von Adressdaten zu übernehmen, kam ich schließlich zu dem Schluss, dass ich eine API mit einem Preisschild benötigte, das meinen Chef nicht dazu bringen würde, mich zu entlassen und dennoch solide und zuverlässig zu liefern internationale Verifizierungsergebnisse.

Kurz gesagt, ich habe schließlich eine von apilayer erstellte API namens "streetlayer API" integriert. Ich war leicht von einer einfachen JSON-Integration, überraschend genauen Validierungsergebnissen und deren entwicklerfreundlichen Preisen überzeugt. Außerdem sind 100 Anfragen / Monat völlig kostenlos.

Hoffe das hilft!

Frank
quelle
Gute Antwort, leider wird die Streetlayer-API nächste Woche (am 03.07.2017) heruntergefahren. Gibt es Alternativen für weniger als 15 Cent pro Anfrage?
Chris
1

Ich habe die Dienste von http://www.melissadata.com genutzt. Ihr "Adressobjekt" funktioniert sehr gut. Es ist teuer, ja. Wenn Sie jedoch die Kosten für das Schreiben Ihrer eigenen Lösungen, die Kosten für schmutzige Daten in Ihrer Anwendung, zurückgegebene Mailer - Umsatzverluste und dergleichen - berücksichtigen, können die Kosten gerechtfertigt werden.

Taptronic
quelle
1

Sie können auch versuchen, dass die Data Quality-Lösungen von SAP, die sowohl auf einer Serverplattform als auch auf einer Serverplattform verfügbar sind, eine große Anzahl von Anforderungen verarbeiten oder als einbettbares SDK, wenn Sie sie mit Ihrer Anwendung in Bearbeitung ausführen möchten. Wir verwenden es in unserer Anwendung und es ist sehr robust und skalierbar.

James Cheng
quelle
1

Wie auf reddit zu sehen :

$address = urlencode('1600 Pennsylvania Avenue, Washington, DC');
$json = json_decode(file_get_contents("http://where.yahooapis.com/geocode?q=$address&flags=J"));
print_r($json);
Xeoncross
quelle
1

Sie können die API "IdentifyAddress" von Pitney Bowes unter https://identify.pitneybowes.com/ ausprobieren.

Der Dienst analysiert und vergleicht die Eingabeadressen mit den weltweit bekannten Adressdatenbanken, um ein standardisiertes Detail auszugeben. Es korrigiert Adressen, fügt fehlende Postinformationen hinzu und formatiert sie in dem von der zuständigen Postbehörde bevorzugten Format. Ich verwende auch zusätzliche Adressdatenbanken, um verbesserte Details bereitzustellen, einschließlich Adressqualität, Adresstyp, Transliteration (z. B. vom chinesischen Kanji in lateinische Zeichen) und ob eine Adresse auf der Ebene der Räumlichkeiten / Häuser, der Straße oder der Stadt validiert ist von Referenzinformationen.

Sie finden viele Beispiele und SDK auf der Website und ich fand es sehr einfach zu integrieren.

Parag Mittal
quelle
0

Es gibt Unternehmen, die diesen Service anbieten. Servicebüros, die sich mit Massenmailing befassen, bereinigen eine gesamte Mailingliste auf das richtige Format, was zu einem Rabatt auf das Porto führt. Der USPS verkauft Datenbanken mit Adressinformationen, mit denen benutzerdefinierte Lösungen entwickelt werden können. Sie haben auch Listen von zugelassenen Anbietern, die diese Art von Software und Service anbieten.

Es gibt einige (aber nicht viele) Pakete mit APIs zum Einbinden der Adressüberprüfung in Ihre Software.

Sie haben jedoch Recht, dass es ein ziemlich böses Problem ist.

http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm

Jason
quelle
0

Wie bereits erwähnt, gibt es viele Dienste. Wenn Sie die gesamte Adresse wirklich überprüfen möchten, empfehle ich dringend, einen Dienst vom Typ Webdienst zu verwenden, um sicherzustellen, dass Änderungen von Ihrer Anwendung schnell erkannt werden.

Zusätzlich zu den oben aufgeführten Diensten verfügt webservice.net über diesen Dienst zur Überprüfung der US-Adresse. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24

Mitchel Sellers
quelle
0

Wir haben Erfolg mit Perfect Address gehabt .

Ihre Datenbank enthält alle US-amerikanischen Straßennamen und Straßennummernbereiche. Dient auch als ziemlich anständiger Parser für Freiform-Adressfelder, wenn Sie das Glück haben, über diese Art von Daten zu verfügen.

Jason DeFontes
quelle
Sehr interessant ... ihre uralt aussehende Website lässt mich fragen, ob sie überhaupt noch im Geschäft sind oder zuverlässig?
Anthony Griggs
Es ist schon eine Weile her, seit ich in der Firma war, in der wir das benutzt haben. Sieht nicht so aus, als hätten sie sich stark verändert, aber sie behaupten immer noch, aktuelle Daten zu haben.
Jason DeFontes
0

Die Validierung einer gültigen Adresse ist eine Sache.

Wenn Sie jedoch versuchen, zu bestätigen, dass eine bestimmte Person an einer bestimmten Adresse lebt, ist Ihre einzige Garantie eine Testmail an die Adresse, und selbst das ist nicht sicher, ob die Person organisiert ist oder jemanden an dieser Adresse kennt.

Andernfalls könnten die Leute einfach eine beliebige zufällige Adresse angeben, von der sie wissen, dass sie existiert, und das würde Ihnen nichts bedeuten.

Das Beste, was Sie für sofortige Ergebnisse tun können, ist, den Benutzer aufzufordern, eine fotografierte / gescannte Kopie des Kopfes seines Kontoauszugs oder einen anderen Nachweis des jüngsten Wohnsitzes zu senden, da er zumindest dann härter arbeiten muss, um ihn zu vergessen, und Das Schmieden dieser Dinge lässt sich mit einer grundlegenden Ebene der bildforensischen Analyse leicht erkennen.

Kent Fredric
quelle
0

Es gibt keine globale Lösung. Für jedes Land ist es bestenfalls ziemlich schwierig.

In Großbritannien kontrolliert das PostOffice die Postanschriften und kann (zu einem Preis) Adressinformationen zu Validierungszwecken bereitstellen.

Regierungsbehörden führen auch eine umfangreiche Liste von Adressen, die zentral im NLPG (National Land and Property Gazetteer) zusammengefasst sind.

Die tatsächliche Validierung anhand dieser Listen ist sehr schwierig. Die meisten Leute wissen nicht einmal genau, wie ihre Adresse im PostOffice gespeichert ist. Einige Unternehmen wissen nicht einmal, welche Nummer sie in einer bestimmten Straße haben.

Am besten wenden Sie sich an ein Unternehmen, das sich auf solche Dinge spezialisiert hat.

Kramii
quelle
0

Für unsbasierte Adressdaten hat mein Unternehmen GeoStan verwendet . Es hat Bindungen für C und Java (und wir haben eine Perl-Bindung erstellt). Beachten Sie, dass es sich um ein kommerzielles Produkt handelt und nicht billig ist. Es ist jedoch recht schnell (~ 300 Adressen pro Sekunde) und bietet Funktionen wie CASS-Zertifizierung (USPS-Rabatt für Massenpost), DPV-Kennzeichnung (Delivery Point Verification) und LON / LAT-Geokodierung.

Es gibt ein Perl-Modul Geo :: PostalAddress , das jedoch Heuristiken verwendet und nicht über die anderen für GeoStan genannten Funktionen verfügt.

Bearbeiten: Einige haben erwähnt, dass Sie es selbst tun sollten. Wenn Sie sich dazu entschließen, ist der US Census Tiger Data Set eine gute Informationsquelle , die viele Informationen über die USA enthält, einschließlich Adressinformationen.

Kyle Burton
quelle
0

Yahoo hat auch eine Placemaker-API. Es ist nur für Standorte gut, hat aber eine universelle ID für alle Standorte der Welt.

Es sieht so aus, als ob es keinen Standard in der ISO-Liste gibt .

Elzo Valugi
quelle
0

NAICS.com bringt eine API heraus, die alle Arten von wichtigen Geschäftsdaten einschließlich der Straße hinzufügt. Dies würde im laufenden Betrieb geschehen, wenn die Formulare Ihrer Website verarbeitet werden. https://www.naics.com/business-intelligence-api/

Jillian Baker
quelle
0

Der Dienst Fixaddress.com ist verfügbar und bietet folgende Dienste:

1) Adressvalidierung.

2) Adresskorrektur.

3) Korrektur des Adresszaubers.

4) Richtige Adressen phonetische Fehler.

Fixaddress.com verwendet USPS- und Tiger-Daten als Referenzdaten.

Für weitere Informationen besuchen Sie bitte den folgenden Link:

http://www.fixaddress.com/

Rakesh Chaudhari
quelle
0

Zu Beginn kann es hilfreich sein, zu unterscheiden, was Sie unter Adressüberprüfung verstehen. Möchten Sie eine Adresse geolokalisieren und sicherstellen, dass sie tatsächlich vorhanden ist? Versuchen Sie sicherzustellen, dass eine Adresse E-Mails empfängt? Vollständige Offenlegung, ich arbeite für ein Unternehmen namens Service Objects und wir bieten APIs an, mit denen diese beiden Szenarien angegangen werden können. Wir bekommen oft Fragen von unseren Kunden zur Unterscheidung zwischen einer physischen Adresse und einer Postanschrift (die manchmal unterschiedlich sein kann), und ich denke, das wäre eine wichtige Unterscheidung, die hier getroffen werden muss. Während Google Maps ein sehr nützliches Geolocation-Tool ist, wird es nicht viel dazu beitragen, eine Adresse tatsächlich zu validieren und Ihnen Informationen zu geben, die darüber hinausgehen, wo die gmaps die Adresse "denkt". Wir haben einige Blogs, die helfen können, diese Themen zu identifizieren und weiter zu erklären:

Postanschrift vs. physische Adresse: Was ist der Unterschied?

DOTS-Adressvalidierung im Vergleich zu Google Maps: Was ist der Unterschied?

Um Ihre Frage zu beantworten, können Sie die Adressvalidierung mit den richtigen Tools und maßgeblichen Datenquellen durchführen. Wir arbeiten an Lösungen dafür in Form von APIs, die helfen, Adressen zu lokalisieren und Adressen zu validieren. Ersteres würde helfen, eine Adresse tatsächlich zu finden, und letzteres würde helfen, festzustellen, ob eine Adresse für Mailingzwecke gültig ist. Wenn Sie interessiert sind, gibt es Links zu beiden unten

Adressüberprüfung

Adress-Geokodierung

Service Objects Engineering
quelle
-1

Für US-Adressen können Sie einen gültigen Status anfordern und überprüfen, ob die Postleitzahl gültig ist. Sie könnten sogar überprüfen, ob die Postleitzahl im richtigen Zustand ist, aber darüber hinaus glaube ich nicht, dass Sie viele Tests durchführen könnten, die nicht viele falsche Negative liefern würden.

Was versuchen Sie zu tun - einfache Fehler zu vermeiden oder eine Art Identitätsprüfung durchzusetzen?

Rob Walker
quelle
Sie müssen kostenpflichtige Dienste von Drittanbietern nutzen.
mmcdole
Sie müssen keine Tools von Drittanbietern verwenden. Der USPS verfügt über Webdienste, die dies tun.
Brian D Foy
Wenn die von Ihnen ausgeführte Aufgabe darin besteht, "sicherzustellen, dass diese Adresse für die lokalen Postdienste akzeptabel ist", kann der USPS in den USA als zweite Partei angesehen werden (was den Kunden, der die Adresse übermittelt hat, jedoch zu einer Art Partei macht) dritte Seite).
Tripleee
-1

APIs können eine entscheidende Rolle beim Parsen und Normalisieren von Straßenadressdaten spielen. Dies ist nützlich, um Postanschriften in großen Mengen für die Postzustellung von Unternehmen wie USPS und den Paketversand von Unternehmen wie UPS und FedEx zu erkennen und zu überprüfen. Sie funktionieren so, dass der Adressvalidierungsdienst eine analysierte Straßenadresse mit Werten zurückgibt, die auf den USPS-Standard normiert sind. Weitere Informationen finden Sie in diesem Beitrag: https://www.tomtom.com/blog/maps/what-is-address-validation/

Tiago
quelle
1
Ihre Antworten scheinen von guter Qualität zu sein, aber es besteht die Möglichkeit, dass Sie als Spam gekennzeichnet werden, da alle Ihre bisherigen Antworten einen Link zu tomtom.com enthalten . Wenn Sie es noch nicht wissen, möchten Sie vielleicht lesen: Wie man kein Spammer ist
Ardent Coder