Wie würde ich eine Adresse oder Stadt in einen Breiten- / Längengrad umwandeln? Gibt es kommerzielle Outfits, bei denen ich diesen Service "mieten" kann? Dies wird in einer kommerziellen Desktop-Anwendung auf einem Windows-PC mit Vollzeit-Internetzugang verwendet.
70
Antworten:
Google verfügt über eine Geokodierungs-API, die für die meisten Standorte, für die Google Maps-Daten verfügbar sind, recht gut zu funktionieren scheint.
http://googlemapsapi.blogspot.com/2006/06/geocoding-at-last.html
Sie bieten Online-Geokodierung (über JavaScript):
http://code.google.com/apis/maps/documentation/services.html#Geocoding
Oder Backend-Geokodierung (über eine HTTP-Anfrage):
http://code.google.com/apis/maps/documentation/services.html#Geocoding_Direct
Die Daten werden normalerweise von Google Maps selbst verwendet. (Beachten Sie, dass es einige Ausnahmen gibt, z. B. in Großbritannien oder Israel, wo die Daten aus einer anderen Quelle stammen und von leicht reduzierter Qualität sind.)
quelle
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.
quelle
Yahoo! Karten-Webdienste - Geokodierungs-API Geokodiert Postleitzahlen in Großbritannien im Gegensatz zur Google-API genau.
Leider hat Yahoo diesen Service abgelehnt. Sie können http://developer.yahoo.com/geo/placefinder/ für den Service von Yahoo besuchen
quelle
API has been deprecated
Versuchen Sie Folgendes : http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false
Weitere Informationen hier: http://code.google.com/apis/maps/documentation/geocoding/
quelle
Nachdem ich zuvor meine eigene Lösung dafür entwickelt habe, kann ich das Geo :: Coder :: US Perl-Modul von ganzem Herzen empfehlen . Laden Sie einfach alle Volkszählungsdaten herunter und erstellen Sie mit dem mitgelieferten Importer die Berkeley-Datenbank für Ihr Land. Zeigen Sie mit dem Perl-Skript darauf. Verwenden Sie die integrierte Adressanalyse des Moduls, und schon haben Sie es: Ein Offline-Geokodierungssystem!
quelle
Wenn Sie eine Adresse oder ein Objekt in ein Lat / Long konvertieren, wird dies als Geokodierung bezeichnet.
Es gibt viele Geokodierungslösungen. Das Lösungsrecht für Ihr Projekt hängt von der Akzeptanz der Lizenzbedingungen für jede Geokodierungslösung ab. Sowohl Microsoft Virtual Earth als auch Google Maps bieten Lösungen an, die unter sehr restriktiven Lizenzen kostenlos verwendet werden können ...
https://developers.google.com/maps/documentation/javascript/tutorial
quelle
Versuchen Sie es mit diesem Code, ich arbeite so mit Adressen:
Es ist ein Link, in dem Sie mit der GET-Methode eine Anfrage senden und lat und lng erhalten. http://maps.google.com/maps/api/geocode/json?address=YOUR ADDRES & sensor = false
Zum Beispiel: http://maps.google.com/maps/api/geocode/json?address=W Main Street, Bergenfield, NJ 07621 & sensor = false
1. Erstellen Sie Ihre GET-Methode.
2. Erstellen Sie eine Methode für die Sendeanforderung
3. Rufen Sie die Methode getLatLng auf
4. Analysieren Sie JSONObject
Das Ergebnis ist jetzt JSONObject mit Informationen zu Adresse und Sprache. Analysieren Sie JSONObject (Ergebnis) mit gson () . Verwenden Sie danach lat, lng.
Wenn Sie Fragen zum Code haben, fragen Sie.
quelle
sensor=false
das?Sie möchten eine Geokodierungsanwendung. Diese sind entweder online oder als Anwendungs-Backend verfügbar.
Online-Bewerbungen:
Backend-Anwendungen:
quelle
Mit Maptsraction ( http://www.mapstraction.com ) können Sie zwischen einer beliebigen Anzahl von Geokodierungsdiensten wählen. Dies kann hilfreich sein, wenn Sie große Mengen ausführen müssen, da ich weiß, dass Google nur eine begrenzte Anzahl von Aufgaben pro Tag ausführen kann.
quelle
Virtual Earth macht es. Es gibt auch einen Webservice unter geocoder.us
quelle
Sie können auch den OpenStreetMap NameFinder (oder den aktuellen Nominatim ) ausprobieren , der Open-Source-Wiki-ähnliche Straßendaten für (möglicherweise) die ganze Welt enthält.
quelle
Sie können Bing-Maps-Seifendienste verwenden, bei denen Sie auf den Reverse-Geocode-Dienst verweisen können, um Lat / Long von der Adresse hier zu finden. Dies ist der Link http://msdn.microsoft.com/en-us/library/cc980922.aspx
quelle
Yahoo! Maps Web Services - Geokodierungs-API
quelle
Sie können die MapPoint-Webdienste von Microsoft verwenden.
Ich habe einen Blogeintrag zum Konvertieren einer Adresse in einen GeoCode (lat / long) erstellt.
quelle
Ich dachte, ich würde noch einen zur Liste hinzufügen. Texas A & M bietet hier einen recht günstigen Service: http://geoservices.tamu.edu/Services/Geocode/
Eine gute Option, wenn Sie einen ziemlich großen Satz von Adressen zum Geocodieren haben und keine 10.000 an Google oder Microsoft senden möchten. Wir haben die zurückgegebenen Daten immer noch in einer Google Map verwendet.
quelle
Sie fragen nach Geocoder. Google stellt hierfür eine API zur Verfügung. Dies gilt auch für einen anderen Anbieter.
Sie können die Demo der Implementierung in My Current Location .net sehen
quelle
Der USC WebGIS Geocoder ist kostenlos und bietet mehrere APIs. Sie können auch eine Datenbank für die Online-Stapelverarbeitung hochladen.
quelle
Wenn Sie eine einmalige Lösung benötigen, können Sie Folgendes versuchen: https://addresstolatlong.com/
Ich habe es für eine lange Zeit benutzt und es hat ziemlich gut für mich funktioniert.
quelle