Adresse einmal in Google Maps geocodieren, in Datenbank speichern, geocodiertes Ergebnis von da an lesen

13

Ist es möglich, eine Adresse zu geocodieren, das Ergebnis in einer Datenbank zu speichern und das Ergebnis von da an zu lesen?

Ich verwende eine Google-Karte, die Hunderte von Adressen geocodiert, die offensichtlich das Geocodierungslimit erreicht haben. Nach der Geokodierung ist es sehr unwahrscheinlich, dass sich die Adresse erneut ändert. Daher ist es sinnvoll, das Geokodierungsergebnis in einer Datenbank zu speichern.

Ich verwende Wordpress als Plattform. Wenn möglich, möchte ich das geocodierte Ergebnis als Feld in der Datenbank speichern, das sich auf das jeweilige Unternehmen bezieht.

DER KUNDE HAT BESONDERS ANGEBOTEN, GOOGLE IM GANZEN PROJEKT ZU VERWENDEN, DASS YAHOO ODER ANDERE AUSSCHLIESSEN SIND.

UPDATE: Alle sagen, was ich verlange, verstößt gegen die Nutzungsbedingungen, aber macht nicht ihr eigenes Beispiel dasselbe - developers.google.com/maps/articles/phpsqlgeocode ?

rauben
quelle
6
Bitte lesen Sie die Nutzungsbedingungen 10.0.3 (a, b, c) developers.google.com/maps/terms. Sie dürfen den Inhalt nicht zum Erstellen einer unabhängigen Datenbank mit "Orten" oder anderen lokalen Auflistungsinformationen verwenden.
Mapperz
3
Yahoo PlaceFinder developer.yahoo.com/geo/placefinder bietet bessere Nutzungsbedingungen - Die Placefinder-API unterliegt nicht der oben genannten Einschränkung für das Speichern von zurückgegebenen Standortdaten.
Mapperz
@Mapperz Ok danke. Ist es möglich, in einer Google Fusion-Tabelle zu speichern und diese irgendwie mit WordPress zu verknüpfen?
Rob
Benötigen Sie die ZIP + 4-Mailingdaten? Wenn ja, ändert sich die Antwort. Senden Sie also etwas an die Adresse oder verwenden Sie nur die Geodaten für Standort und Position?
Jeffrey
1
Warte ... Ich bin mir ziemlich sicher, dass es auch mit der API von Yahoo immer noch eine Verletzung der Nutzungsbedingungen ist.
Matt

Antworten:

5

Gemäß den Nutzungsbedingungen von YahooMaps dürfen Sie die Daten, die Sie mithilfe der API erfassen, nicht speichern. (speziell viii) "SIE SOLLEN NICHT:"

(vi) benutze den Yahoo! Karten-APIs mit Standortinformationen, die weniger als 6 Stunden alt sind und von einem GPS-Gerät oder einem anderen Ortungsgerät stammen;

(vii) Verwenden Sie die Yahoo! Ordnet APIs mit Standortinformationen zu, die von einem GPS-Gerät oder einem anderen Ortungsgerät stammen, bei dem solche Informationen nicht direkt vom Endbenutzer in Ihre Anwendung oder Ihren Dienst hochgeladen wurden.

(viii) Speichern oder Zulassen, dass Endbenutzer Kartenbilder, Kartendaten oder geocodierte Standortinformationen von Yahoo! Maps-APIs für zukünftige Verwendung;

(ix) Verwenden Sie den eigenständigen Geocoder nur für die Anzeige von Yahoo! Karten oder Anzeigen von Punkten auf Yahoo! Karten;

(x) Veröffentlichen oder Anzeigen von geokodierten Standortinformationen mithilfe von Yahoo! Maps APIs;

Dies stimmt mit dem überein, was ich in den Nutzungsbedingungen von Google, Bing, MapQuest und Yahoo gesehen habe. Der Grund dafür ist, dass sie direkt davon profitieren, dass sie die Ergebnisse dem Endbenutzer präsentieren können. Wenn ihr Logo und "Karten von Google" nicht angezeigt werden, erhalten sie keine "Straße Gutschrift" oder Belichtung. Somit ist ihr Anreiz, die Dienstleistung zu erbringen, weg. Sie machen es Ihnen sehr leicht, den Dienst zu nutzen (extrem einfach), aber sie setzen auch angemessene Grenzen. Solange Sie ihre Daten verwenden, um Geld für sie zu verdienen (auch wenn sie nur bekannt werden), halten Sie sich an die Nutzungsbedingungen. Wenn Sie versuchen, diese Begriffe zu umgehen, laufen Sie Gefahr, jederzeit abgeschnitten zu werden. Keine glückliche Geschichte, wenn Ihr Service auf ihrem Service basiert .

Ich habe die FME-Workbench noch nie verwendet. Sie sieht sehr leistungsfähig aus (und ist gleichzeitig komplexer als erforderlich), unterliegt jedoch weiterhin den Nutzungsbedingungen der Datenanbieter. Vergleichen Sie den FME-Workflow mit dieser einfachen HTTP-Anforderung an die LiveAddress-API von SmartyStreets:

https://api.qualifiedaddress.com/street-address/?street=1600+Ampytheatr+Pkway+Mountain+Vew+ca&auth-token=23350695

Es verwendet die folgende Adresse, standardisiert sie (einschließlich offensichtlicher Rechtschreibkorrektur), überprüft, ob sie verfügbar ist, geokodiert sie und unterteilt sie in die verschiedenen Komponenten, die sie als JSON-Stream ausgeben. (Wenn Sie JSON nicht lesen, können Sie die Ausgabe in einen JSON-Formatierer einbinden, um besser lesbare Ergebnisse zu erzielen. Sie können auch Ihre eigenen Daten für Testzwecke in der URL-Zeichenfolge verwenden.)

1600 Ampytheatr Pkway Mountain Vew, CA.

wird

1600 Amphitheatre Pkwy Mountain View, CA 94043-1351

Es gibt eine Reihe von kommerziellen APIs, die Adressüberprüfungen durchführen. SmartyStreets ist zufällig diejenige, an der ich mein Auto jeden Morgen abstelle. (Cdyne, StrikeIron, QAS sind einige andere, die einen ähnlichen Service anbieten.) Diese kommerziellen Services bieten Ihnen die Verwendung ihrer Daten, die nicht durch zu restriktive Nutzungsbedingungen gebunden sind. Grundsätzlich können Sie den resultierenden Datensatz für fast alles verwenden, was nicht direkt konkurriert.

Sie haben Recht, dass sich die Geokodierungsdaten nicht sehr häufig ändern und dass sie mit Sicherheit lokal oder in Ihrer Datenbank zwischengespeichert werden können, um die Anzahl der Anforderungen an den Server zu minimieren. Gute Idee.

Jeffrey
quelle
Die Daten werden alle 6 Stunden aktualisiert und sollen mit Yahoo Maps verwendet werden - Hauptbestandteil >> Verwenden Sie das Yahoo! Karten-APIs mit Standortinformationen, die weniger als 6 Stunden alt sind und von einem GPS-Gerät oder einem anderen Ortungsgerät stammen;
Mapperz
@Mapperz Die Aktualität und Eingabequelle der Adressdaten war nicht das Hauptproblem in den Nutzungsbedingungen. Ich habe diese lediglich zitiert, um dem wichtigsten Punkt Kontext hinzuzufügen: "SIE SOLLEN NICHT" (viii) Speichern oder Ermöglichen, dass Endbenutzer Kartenbilder, Kartendaten oder geocodierte Standortinformationen von Yahoo! Maps-APIs für zukünftige Verwendung. Es spielt keine Rolle, wie frisch oder veraltet die Daten sind.
Jeffrey
@ Jeffrey Ich habe keine andere Wahl, als die Dienste von Google durchgehend zu nutzen. Dies ist eine spezielle Anforderung des Kunden. Dies schließt die Verwendung von Yahoo oder etwas anderem aus.
Rob
@ Teamworksdesign.com Hervorragend, das erspart Ihnen viel Umschauen und jetzt können Sie sich in den Code vertiefen. Glück!
Jeffrey
5

Nach vielem Graben zeigt Google tatsächlich, wie man Geocode-Ergebnisse in einer Datenbank speichert. Da es ein aktuelles Tutorial von Google dazu gibt, gehe ich davon aus, dass dies nicht gegen die von so vielen erwähnten Nutzungsbedingungen verstößt.

rauben
quelle
4

Verwenden der FME-Workbench für die Massen-Geokodierung über die Yahoo PlaceFinder-API

50.000 Anfragen pro 24 Stunden:

Bildbeschreibung hier eingeben

Schlüsselkomponente ist der HTTPFetcher

Dieser Screenshot ist eine stark modifizierte Version des frei verfügbaren Arbeitsbereichs " Erstellen von Webdiensten" http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace

Änderungen:

Eingabe mehrerer Adressen (CSV ist die schnellste)

Die Qualität jeder geokodierten Übereinstimmung wird aufgezeichnet (über 87 ist gut).

Elevation von einem anderen Service hinzugefügt (geonames gtop30 dem)

Validieren und Filtern von fehlerhaften Adressen, die untersucht werden sollen.

(Ich werde versuchen, in den FME Store zu gelangen, nachdem ich mir die Vereinbarung / Bedingungen angesehen habe.)

Mapperz
quelle
Ich wäre sehr daran interessiert, auch Ihren Arbeitsbereich zu sehen, da dies auch in einige meiner Programmziele fällt ...
DEWright
Das sieht nach einem großartigen Workflow aus, aber denken Sie daran, dass das Speichern der Ergebnisse mit Sicherheit einen Verstoß gegen die Nutzungsbedingungen darstellen würde.
Jeffrey
nur wenn Sie es länger als 6 Stunden speichern ... oder es in Verbindung mit Yahoo Maps verwenden, um die Standorte anzuzeigen
Mapperz
Die Verwendung von PlaceFinder erfordert nicht die Verwendung von Yahoo! Karten oder Yahoo! Maps APIs.Eddie Babcock Yahoo! Geo Technologies developer.yahoo.com/forum/PlaceFinder-General-Discussion/…
Mapperz
@Mapperz Nun, in den Nutzungsbedingungen heißt es: "SIE MÜSSEN NICHT:" {auch in Großbuchstaben} "Endbenutzer können Kartenbilder, Kartendaten oder geocodierte Standortinformationen aus den Yahoo! Maps-APIs für eine zukünftige Verwendung speichern oder speichern." Es sieht ziemlich klar aus, dass die Absicht, die Daten zu "speichern", gegen die Nutzungsbedingungen verstößt. Aber es ist sicherlich der Interpretation überlassen. Wenn ich eine kommerzielle App erstellen würde, würde ich sicherstellen wollen, dass meine Interpretation mit der Interpretation der Datenanbieter übereinstimmt, da sie (in diesem Fall Yahoo) den ultimativen Kill-Schalter haben.
Jeffrey
4

Die kurze Antwort auf Ihre erste Frage lautet " Ja". Solange Sie den Kartendienst von Google verwenden , können Sie die Ergebnisse speichern. Es ist deutlich (nach ein paar erneuten Lesevorgängen) in ihrem ToS und ihrer Geokodierungs-API geschrieben.

Sie sollten sich darüber im Klaren sein, dass Sie wie bei vielen anderen gängigen Geocodierungsdiensten auch dazu verpflichtet sind

  1. Verwenden Sie die von Google erfassten und zwischengespeicherten Daten nur mit ihren Kartierungsdienstprogrammen
  2. Wenn dies ein internes und kein externes öffentlich zugängliches Dienstprogramm ist, müssen Sie sich als gewerblicher Kunde registrieren, um es legal nutzen zu können.

Beachten Sie sorgfältig # 1 ... sehr kritische Unterscheidung, Sie können zwischenspeichern, aber sie möchten nicht, dass Sie lat / long (zum Beispiel) für das Mapping-Dienstprogramm eines anderen verwenden, sei es eine andere Website oder ein "Homebrew" (obwohl dies so sein soll) Ehrlich gesagt bin ich mir nicht sicher, wie jemand verfolgen kann, wo Lat / Long-Daten verwendet werden.

alle Einschränkungen und sonstigen Beschränkungen, wie in den Nutzungsbedingungen und anderen maßgeblichen Dokumenten angegeben.

user15518
quelle