Es gibt nicht viel Neues hinzuzufügen, aber ich habe viel Erfahrung in der Praxis in GIS und Geokodierung von einem früheren Job. Folgendes erinnere ich mich:
Wenn Ihre Anwendung "von Zeit zu Zeit" benötigt wird, würde ich auf jeden Fall die Geocodierungs-APIs von Google oder Yahoo empfehlen. Lesen Sie jedoch deren Lizenzbedingungen sorgfältig durch.
Ich weiß, dass die Google Maps-API im Allgemeinen auch für kommerzielle Webseiten leicht zu lizenzieren ist, aber in einer Pay-to-Access-Situation nicht verwendet werden kann. Mit anderen Worten, Sie können damit einen Dienst bewerben oder bereitstellen, der die Werbeeinnahmen steigert. Sie können jedoch keine Gebühren für den Zugriff auf Ihre Website erheben oder diese sogar hinter ein Kennwortsystem stellen.
Trotz dieser Einschränkungen sind beide eine ausgezeichnete Wahl, da sie ihre Straßendatenbanken häufig aktualisieren. Die meisten kostenlosen Backend-Tools und -Bibliotheken verwenden Census- und TIGER-Straßendaten, die nur selten aktualisiert werden. Daher ist es weniger wahrscheinlich, dass Sie Adressen in schnell wachsenden Gebieten oder neuen Unterteilungen erfolgreich geocodieren.
Die meisten Dienste beschränken auch die Anzahl der Geokodierungsabfragen, die Sie pro Tag durchführen können. Daher ist es in Ordnung, Adressen von beispielsweise Neukunden nachzuschlagen, die Ihrer Datenbank hinzugefügt werden. Wenn Sie jedoch einen Stapeljob ausführen, von dem Tausende von Adressen gespeist werden Wenn Sie Ihre Datenbank in den Geocoder einbinden, werden Sie abgeschaltet.
Ich glaube, dieser wurde noch nicht erwähnt, aber ESRI verfügt über ArcWeb-Webdienste , die Geokodierung enthalten, obwohl diese nicht sehr billig sind. Das letzte Mal, als ich sie benutzte, kostete es ungefähr 1,5 Cent pro Suche, aber Sie mussten einen bestimmten Betrag im Voraus bezahlen, um loszulegen. Der Hauptvorteil ist wiederum, dass die von ihnen verwendeten Straßendaten zeitnah auf dem neuesten Stand gehalten werden und Sie die Daten in kommerziellen Situationen verwenden können, die Google nicht zulässt. Der ArcWeb Dienst wird auch dazu dienen , hochauflösende Satelliten- und Luftbilder bis à la Google Maps, wieder pro Anfrage festgesetzt.
Wenn Sie Ihre eigenen Daten erstellen oder Zugriff auf viel genauere Daten haben möchten, können Sie Abonnements für GIS-Daten von Unternehmen wie TeleAtlas erwerben , aber das ist nicht billig. Sie können nur Daten im Wert eines Bundesstaates oder Landkreises kaufen, wenn Ihre Anforderungen extrem lokal sind. Es gibt mehrere Datenebenen - nur GIS-Funktionen, GIS plus detaillierte Straßen, all das plus Geocodedaten, all das plus Verkehrsfluss- / Richtungs- / Geschwindigkeitsbegrenzungen für das Routing. Natürlich steigt der Preis, wenn Sie die Stufen hinaufsteigen.
Schließlich enthält der Wikipedia-Artikel über Geokodierung einige gute Informationen zu den Algorithmen und Techniken. Auch wenn Sie dies nicht in Ihrem eigenen Code tun, ist es hilfreich zu wissen, welche Art von Fehlern und Genauigkeit Sie von verschiedenen Arten von Datenquellen erwarten können.