Hier ist eine kleine detaillierte Frage zum Parsen / Geokodieren von Adressen, die meiner Meinung nach für viele Benutzer interessant sein sollte.
Daher bin ich im Wesentlichen neugierig zu wissen, ob jemand Erfahrung mit der Installation, Erstellung oder Erweiterung eines OpenSource-Geokodierungs- und / oder Adresskorrektur-Tools hat.
Ich bin mir des Geocoders bewusst: US 2.0-Initiativen, von denen ich denke, dass sie von Geocommons gepflegt werden, aber ich bin mir nicht sicher, ob es bessere Alternativen oder andere Open Source-Tools gibt, ob ihr System effektiv erweitert werden kann oder ob es Entwicklungen gibt, die mir möglicherweise nicht bekannt sind.
Meine Ziele sind wie folgt:
- Ich benötige ein hochpräzises Tool, mit dem Standortdaten, die von Benutzern aus einem einzigen Eingabefeld eingegeben werden, automatisch in Echtzeit und mit dem höchstmöglichen Volumen analysiert und / oder standardisiert werden können.
- Eingabedaten sind eine oder mehrere der folgenden Adresskomponenten: Postleitzahl, Landkreis, Stadt, Straße, Adresse, Bundesland.
- Eingabedaten müssen auch in der Lage sein, in unserer benutzerdefinierten Geonamen-Datenbank nachzuschlagen. Beispielsweise kann er den Namen einer Nachbarschaft oder eines Nicht-USPS-Standortnamens eingeben, die natürlich keine Standardadressvariablen sind.
Angesichts dieser Ziele bin ich mir der Tatsache bewusst, dass jeder Benutzer seine Daten in verschiedenen Formaten eingibt, wenn er ein einzelnes Formularfeld für eine solche Suche erhält, während der andere Faktor im Allgemeinen in Rechtschreibfehler gerät.
Neben der Verwendung der Volkszählungsdatenbank als Kern für die gültigen Adressen / Bereiche (alles, was Geocoder: US meiner Meinung nach tut, glaube ich, dass eine Art von Fähigkeit, bekannte "Aliase" zu definieren, ideal für bekannte Rechtschreibfehler von Straßennamen wäre. Gleiches gilt für Dinge wie ein Benutzer, der Ave im Vergleich zu Ave. im Vergleich zu Avenue eingibt. Denken Sie nicht, dass solche Alias-Funktionen mit dem Tool Geocoder: US vollständig möglich sind.
Während die oben genannten Elemente in der Tat die meisten Probleme lösen können, denke ich, dass eine Art effektiver Fuzzy-Matching existieren muss, wenn die Eingabe nicht mit einem ausreichend hohen Alter von% übereinstimmen kann.
Wenn Eingabedaten basierend auf einigen angenommenen Regeln effektiv in einzelne Elemente zerlegt werden können und dann eine Art "Match Score" -Komponente zum Fuzzy Match verwendet wird, müssten alle nicht übereinstimmenden Elemente auf den Elementen basieren, die bereits mit einem High "abgeglichen" wurden Grad.
Zum Beispiel: Ich gehe davon aus, dass die Geokodierung so effektiv wie möglich ist. Wir müssen zuerst einzelne Datenelemente aus dem Eingabefeld extrahieren, um den "Bereich" einzugrenzen, für den der Benutzer Ergebnisse finden möchte. Meiner Ansicht nach bedeutet dies, dass eine 5-stellige Nummer als Postleitzahl angenommen werden kann, wenn es ein anderes Element wie einen Städtenamen gibt, das mit der Postleitzahl übereinstimmt, die Annahme, dass wir den "Bereich" korrekt haben ... Als nächstes verwenden wir den Rest Daten, um zu versuchen, eine vollständige, teilweise oder unscharfe Übereinstimmung zu finden, Punkte zu erzielen und mögliche Ergebnisse aufzulisten.
Auf jeden Fall - ich würde mich sehr freuen, wenn hier jemand Ratschläge geben könnte, zusammen mit Ratschlägen, Leistungsstatistiken oder bevorstehenden Entwicklungen, von denen er weiß, dass sie meine Richtung ändern könnten (wie die Verwendung von Postgis 2.0 als Mittel für verbesserte Matching-Funktionen).