Wie oft ändert Google die Geokoordinaten für eine bestimmte Adresse?

8

Ich habe die Adresse "50 Hurt Plaza Southeast, Atlanta, GA 30303" zweimal geokodiert.

Einmal am 28. Juli 2014, als ich die Koordinaten erhielt: (33.754208, -84.387272)

Und heute wieder, 18. August 2014, und bekam die Koordinaten: (33.754129, -84.38721).

Sollte ich damit rechnen, dass Google seine Geokoordinaten für bestimmte Adressen im Laufe des Jahres aktualisiert?

Es ist mir ein Anliegen, weil ich die Identität von Gebäuden in der Datenbank, mit der ich arbeite, durch Vergleichen der Geokoordinaten bestätige, und das wird nicht so gut funktionieren, wenn sie im Fluss sind.

Beachten Sie, dass die obigen Ergebnisse auf die sechste Dezimalstelle gerundet wurden.

Peter Berg
quelle
1
Ich denke, die einzige Antwort, die Sie erhalten, ist, wann immer sie bessere (neuere) Daten erhalten . Der Google-Datensatz ist erstaunlich, normalerweise etwas ungenau, aber dennoch eine großartige Informationsquelle. Aktualisierungen werden ständig durchgeführt, aber der Datensatz ist so groß, dass die Genauigkeit insgesamt nicht angegeben werden kann. Ich bin der Meinung, dass Sie einem Geschenkpferd nicht in den Mund schauen - Sie kaufen die Daten nicht, also sind Sie nicht in der Lage, sich darüber zu beschweren. Wenn es wirklich statisch sein muss, kaufen Sie die Daten und pflegen Sie die Datenbank selbst.
Michael Stimson
1
Selbst wenn wir wüssten, wie oft Google seine Kartendaten aktualisiert, lautet die eigentliche Frage: "Kann ich Koordinaten verwenden, um Adressen / Gebäude zu identifizieren?" es sei denn, ich lese die Frage falsch?
Matt

Antworten:

9

Ja, rechnen Sie immer mit schwankenden Koordinaten.

Obwohl das Gebäude wahrscheinlich nicht auf der Erdoberfläche zu verschieben ist, unter Verwendung von Koordinaten als Bezeichner / Schlüssel für Adressen , da der Datensatz eine schlechte Idee ist , geht von unten Sie verschieben:

  • Genauigkeit ist eine Frage der Definition. Ist eine Adresse am genauesten an ihrem Briefkasten, ihrer größten Struktur oder der Haustür befestigt? Welche Haustür? Vielleicht die Auffahrt?

  • Dezimalgenauigkeit ist ein weiteres Problem. Ist 33.754208das gleiche wie 33.754209? Dies kann durch Runden behoben werden, aber dann verlieren Sie an Präzision. Das Hinzufügen von Dezimalgenauigkeit ist ein Luxus, den Sie möglicherweise nicht haben. Unabhängig davon, wie genau Ihre Dezimalzahl ist, sind sie wahrscheinlich unterschiedlich (insbesondere wenn man bedenkt, wie Computer Float-Typen vergleichen), selbst wenn sie "gleich" sind. Zu diesem Zeitpunkt sind Sie vollständig auf Implementierungsdetails auf niedriger Ebene angewiesen.

  • Wenn Sie den Datensatz nicht steuern und ein physisches Attribut verwenden, um etwas einzugeben, können Sie nicht garantieren, dass sich der Schlüssel nicht ändert. Dies ist jedoch ein Problem, da Ihre Datenbank erwartet, dass die Kennung eindeutig und konstant ist. Was ist mit Kollisionen mit einem anderen Datenpunkt, selbst wenn Sie es aktualisieren?

Selbst wenn Sie den Datensatz besitzen, sind Sie den ersten beiden Problemen ausgesetzt. Definitionen und Implementierungen ändern sich. Sie könnten Ihre Koordinatendaten niemals aktualisieren, auch nicht für eine bessere "Genauigkeit", aber die Adressen ändern sich immer noch, ob Sie es mögen oder nicht, wodurch Ihr Cache ungültig wird.

Was Sie jedoch tun können, ist, den Schlüssel zu besitzen . Verwenden Sie keine Koordinaten als Bezeichner. Weisen Sie stattdessen einen Schlüssel zu, der garantiert für Ihre Anwendung ( oder möglicherweise für die ganze Welt ) eindeutig ist, und lassen Sie ihn niemals ändern.

Bei SmartyStreets beschäftige ich mich viel mit Geokodierungsadressen. Diese Adresse ist beispielsweise ein Gebäudestandard. Es fehlt eine sekundäre Nummer (Wohnung / Suite). Obwohl unsere Daten auf Blockebene (in der Nähe des Daches) vorliegen, wie wäre ihre Koordinate, wenn wir so genau wie möglich werden könnten? Im Moment weisen wir es zu, 33.75425, -84.38721das nur wenige Meter von Google Maps entfernt ist. Sollte es eine andere Koordinate sein, wenn es sich um die Lobby oder eine Einheit in diesem Gebäude handelt? Die Antwort auf diese Frage kann sich ändern, wodurch sich der zugrunde liegende Datensatz ändert. Und was ist mit Einheiten, die direkt übereinander liegen (Sie können einen Punkt in einem Gebäude festlegen, aber welche Etage haben Sie gemeint)? Google geht offensichtlich genau dieselben Fragen durch, und wenn sich die Antworten ändern, ändern sich auch die Koordinaten.

Aus diesem Grund empfehlen wir immer, dass Personen der Adresse einen Schlüssel geben, den sie steuern, um sie eindeutig zu identifizieren, und ihn niemals ändern.

Warum?

Adressen sind ein Chaos. Sie können sich auch ändern, insbesondere wenn Sie anfangen, die philosophischen Fragen zu stellen: "Was bedeutet eine Adresse wirklich? Stellt sie ein Gebäude oder einen Bewohner dar? Oder eine Mailbox?" und wenn Sie anfangen zu bedenken, dass Adressen zeitlich begrenzt sind, was bedeutet, dass sie sich mit der Zeit ändern, wird es noch hässlicher.

Wir hören auch von Leuten, die versuchen, die Adressen zu hashen oder den Lieferpunkt-Barcode als Kennung zu verwenden. Tun Sie das nicht, denn selbst in einem standardisierten Format können sich Adressen ändern und sind dennoch "dieselbe" Adresse. Und der Barcode für den Zustellpunkt, der fälschlicherweise für eine Adresse als eindeutig angesehen wird, ist doppelt schuldig: Er ändert sich und ist nicht unbedingt eindeutig. Cool was?

Lassen Sie Ihre Datenbank so wenig wie möglich von der tatsächlichen Adresse und den Koordinaten abhängen.

Matt
quelle
1
Ich mag deine Philosophie, was ist eine Adresse ? Wie messen Sie in Wahrheit die Genauigkeit? Sicherlich gegen genauere Daten, aber wie stellen Sie fest, dass ein Datensatz genauer ist als ein anderer? Vermessungsmessungen basieren auf Beobachtungen und sind an Benchmarks gebunden, die Jahrzehnte alt sein können und mit den modernen Geräten dieser Zeit kombiniert werden. Ihr Tipp zum "Besitzen des Schlüssels" ist eine sehr gute Idee - solange sich die Schlüssel nicht ändern. Oder erstellen Sie Ihre Anwendung umgekehrt mit dem Wissen, dass der Adressspeicherort nicht statisch ist. Verlassen Sie sich also nicht darauf.
Michael Stimson