Algorithmus
From Geohashing
Revision as of 12:01, 29 June 2014 by imported>Q-Owl (→Der Algorithmus)
This page in English / Diese Seite auf Englisch: The Algorithm
Der Algorithmus
- Eingangswert ist eine Zeichenkette, die aus den folgenden Komponenten besteht:
- Das aktuelle Datum im Format YYYY-MM-DD
- Ein Bindestrich
- Der Eröffnungskurs (Opening) des Dow Jones Industrial Average, laut finance.google.com.
- Anschließend wird unterschieden, ob man sich östlich oder westlich des Längengrads 30°W (-30.0) befindet.
- westlich: Wenn kein Eröffnungskurs für den gegebenen Tag existiert (z. B. an Wochenenden und Bank holidays), wird der Eröffnungskurs vom letzten Börsentag genommen.
- östlich: Hier wird stets der Eröffnungskurs mindestens vom Vortag genommen, auch wenn im Laufe des Tages ein neuer Eröffnungskurs bekannt wird. (Durch die Zeitverschiebung kann das sonst erst spät im Abend passieren, oder z. B. um 15:30 MEZ) D. h., dass der Hash vom Mittwoch den Kurs vom (New Yorker) Dienstag verwendet, der vom Montag den vom Freitag, usw.
- Die Zeichenkette wird anschließend mit der bekannten md5-Funktion kodiert. Dies erzeugt einen pseudo-zufälligen "Hash"-Wert mit (in Hexadezimalnotation) 32 Zeichen.
- Der "Hash" wird anschließend in zwei Teile zu je 16 Hexadezimal-Zeichen geteilt.
- Die Hälften des Hash stellen die Nachkommastellen der Breiten- und Längengrade (in dieser Reihenfolge) der gesuchten Koordinate dar. Dazu werden sie üblicherweise wieder dezimal notiert.
- Die ganzzahligen Teile der gesuchten Koordinate können beliebig gewählt werden, so dass das Ergebnis in der Nähe des Geohashers liegt. So entsteht über die Welt verteilt eine Vielzahl von "rechteckigen" Planquadraten (Graticules) - und jedes enthält ein Geohashing-Abenteuer.
Berechnungshilfen
- Online-MD5-Rechner (engl.)
- Hexadezimal -> Dezimal
- Dow Jones-Quellen
- finance.google.com
- Mehr unter Dow Jones Industrial Average.
Implementierungen
Du musst die Berechnungen nicht selbst durchführen, wenn du nicht willst. Unter Implementations (engl.) ist eine Liste von zahlreichen praktischen Implementierungen zu finden.