Angeblich ist es möglich, dies von Google Maps oder einem solchen Dienst zu erhalten. (Nur US-Adressen sind nicht gut genug.)
web-services
api
geolocation
geocoding
street-address
Ola Eldøy
quelle
quelle
Neben dem oben genannten Google-Geokodierungs-Webdienst gibt es auch einen Konkurrenzdienst von Yahoo . In einem kürzlich durchgeführten Projekt, in dem die Geokodierung mit Benutzerinteraktion durchgeführt wird, habe ich Unterstützung für beide aufgenommen. Der Grund dafür ist, dass ich festgestellt habe, dass der Umgang mit dunkeleren Orten, insbesondere außerhalb der USA, sehr unterschiedlich ist. Manchmal hat Google die beste Antwort, manchmal Yahoo.
Ein Punkt, den Sie beachten sollten: Wenn Google wirklich glaubt, nicht zu wissen, wo sich Ihr Standort befindet, wird ein 602-Fehler zurückgegeben, der auf einen Fehler hinweist. Yahoo hingegen gibt den Standort des Zentrums dieser Stadt zurück, wenn es eine Stadt / Provinz / ein Bundesland / usw. aus Ihrer schlechten Adresse herausschälen kann. Sie müssen also auf die Ergebnisse achten, um zu sehen, ob sie wirklich das sind, was Sie wollen. In einigen Ergebnissen gibt es Zusatzfelder, die Sie darüber informieren: Yahoo nennt dieses Feld "Präzision" und Google nennt es "Genauigkeit".
quelle
Wenn Sie dies tun möchten, ohne sich auf einen Dienst verlassen zu müssen, laden Sie die TIGER Shapefiles aus der US-Volkszählung herunter .
Sie sehen die Straße nach, an der Sie interessiert sind und die mehrere Segmente hat. Jedes Segment hat eine Startadresse und eine Endadresse, und Sie interpolieren entlang des Segments, um herauszufinden, wo auf dem Segment Ihre Hausnummer liegt.
Dadurch erhalten Sie ein Lon / Lat-Paar.
Beachten Sie jedoch, dass bei Onlinediensten zahlreiche Adressüberprüfungen und -korrekturen erforderlich sind, die Sie ebenfalls duplizieren müssen, um gute Ergebnisse zu erzielen.
Beachten Sie auch, dass kostenlose Daten zwar nicht so schön sind, aber nicht perfekt - die neuesten Straßen sind nicht vorhanden (möglicherweise in den von Google verwendeten Daten), und die Straßen können aufgrund von Ungenauigkeiten bei der Umfrage um einen gewissen Betrag von ihrem tatsächlichen Standort abweichen. Aber für 98% der Geokodierungsanforderungen funktioniert es perfekt, ist kostenlos und Sie steuern alles, um Abhängigkeiten in Ihrer App zu reduzieren.
Openstreetmaps hat das Ziel, alles auf der Welt abzubilden, obwohl sie nicht ganz da sind, lohnt es sich, den Überblick zu behalten, da sie ihre Daten unter einer CC-Lizenz bereitstellen
Viele (die meisten?) Anderen Länder werden jedoch nur von der Regierung oder von Diensten kartiert, für die Sie eine Gebühr zahlen müssen. Wenn Sie nicht sehr viele Daten geocodieren müssen, reicht es möglicherweise aus, Google, Yahoo oder einige der anderen kostenlosen weltweiten Kartendienste zu verwenden.
Wenn Sie viele Daten geocodieren müssen, können Sie Kartendaten von einem großen Anbieter wie Teleatlas am besten leasen.
-Adam
quelle
Sie können auch den OpenStreetMap NameFinder ausprobieren , der Open-Source-Wiki-ähnliche Straßendaten für (möglicherweise) die ganze Welt enthält. NameFinder wird Ende August nicht mehr existieren, aber Nominatim ist sein Ersatz.
quelle
Google verlangt, dass Sie eine Google-Karte mit ihren Daten mit maximal 2,5.000 (bisher 25.000) HTTP-Anforderungen pro Tag anzeigen. Nützlich, aber Sie müssen die Nutzung beobachten.
Sie haben
http://groups.google.com/group/Google-Maps-API/web/resources-non-google-geocoders
(Google hat dies inzwischen entfernt. Wenn Sie ein Duplikat oder einen Cache sehen, werde ich darauf verlinken.)
... in dem ich GeoNames gefunden habe, das sowohl eine herunterladbare Datenbank als auch einen kostenlosen Webdienst und einen kommerziellen Webdienst enthält.
quelle
Mit den Nutzungsbedingungen von Google können Sie die Geokodierungs-API kostenlos verwenden, wenn Ihre Website wiederum für Verbraucher kostenlos ist. Wenn nicht, müssen Sie eine Lizenz für die Enterprise Maps erwerben.
quelle
Zur Verwendung mit Drupal und PHP (und leicht zu ändern):
quelle
Sie können sich hier die Google Maps API-Dokumente ansehen, um damit zu beginnen:
http://code.google.com/apis/maps/documentation/services.html#Geocoding
Es scheint auch etwas zu sein, das Sie mit Live Maps für internationale Adressen tun können:
http://virtualearth.spaces.live.com/blog/cns!2BBC66E99FDCDB98!1588.entry
quelle
Sie können dies auch mit den MapPoint-Webdiensten von Microsoft tun.
Hier ist ein Blog-Beitrag, der erklärt, wie: http://www.codestrider.com/BlogRead.aspx?b=b5e8e275-cd18-4c24-b321-0da26e01bec5
quelle
R Code zum Abrufen des Breiten- und Längengrads einer Adresse
quelle
Wenn Sie dies in Python tun möchten:
Beachten Sie, dass Google Anforderungen zu drosseln scheint, wenn mehr als eine bestimmte Menge angezeigt wird. Daher möchten Sie in Ihrer HTTP-Anforderung einen API-Schlüssel verwenden.
quelle
Ich hatte einen Stapel von 100.000 Datensätzen als Geocode und stieß auf das Limit der Google API (und da es sich um eine interne Unternehmens-App handelte, mussten wir auf ihren Premium-Service upgraden, der mehr als 10.000 US-Dollar beträgt).
Also habe ich stattdessen Folgendes verwendet: http://geoservices.tamu.edu/Services/Geocode/BatchProcess/ - sie haben auch eine API. (Die Gesamtkosten betrugen ca. 200 $)
quelle
Sie können dies in JavaScript für Städte wie Kohat versuchen
quelle
In Python mit Geopy wird PyPI verwendet, um die Breite, Länge, Postleitzahl usw. abzurufen. Hier ist der funktionierende Beispielcode.
In Nominatim - Einige Adressen funktionieren nicht, deshalb habe ich gerade MapQuest ausprobiert .
Es wird korrekt zurückgegeben. Mapquest bietet 15000 kostenlose Transaktionen pro Monat. Es reicht mir.
Beispielcode:
Ich hoffe es hilft.
quelle
Ich weiß, dass dies eine alte Frage ist, aber Google ändert den Weg, um Längen- und Breitengrade regelmäßig zu ermitteln.
HTML Quelltext
JavaScript-Code
quelle