Algorisme

From Geohashing
L'Algorisme

This page in English / Aquesta pàgina en anglès The Algorithm

No és necessari entendre l'algorisme per a poder practicar el geohashing.

L'algorisme

  • Concatena en una cadena la data d'avui (naturalment en format yyyy-mm-dd, el qual hauria de ser l'únic format que fessis servir) amb el valor d'obertura del Dow Jones Industrial Average (tal com fiura a finance.google.com) separant els dos amb un guió simple.
    • Oest de la longitud -30º: Si encara no hi ha cap valor d'obertura del DJIA en el dia en qüestió, s'utilitza el valor d'obertura del dia anterior, o el valor més recent. Per tant, en Dissabte i Diumenge s'usa el valor d'obertura del Divendres (ja que la borsa no obre en dies festius).
    • Est de la longitud -30º: Igual que a l'oest, excepte que s'usa el valor d'obertura del DJIA del dia anterior, o el valor més recent, encara que durant el dia estigui disponible el valor d'aquell dia en la teva franja horària. És a dir, el Dijous s'usa el valor d'obertura del Dimecres, el Divendres el valor del Dijous, i pel Dissabte, Diumenge i Dilluns s'usa el valor d'obertura del Divendres. (vegeu 30W Time Zone Rule (en anglès))
    • Quan hi ha un dia festiu, s'utilitza el valor d'obertura més recent.
  • La cadena resultant es fa passar per un algorisme criptogràfic ben documentat, el MD5 que genera un "hash" pseudo-aleatori (fàcilment verificable) de 32 dígits hexadecimals.
  • Aleshores es parteix el "hash" en dues meitats de 16 dígits hexadecimals cada una.
  • Cada meitat del "hash" és precedida per un punt decimal (per tal de representar una fracció hexadecimal) i és convertit en una fracció decimal (base-10).
  • Les fraccions decimals resultants són sumades als valors integrals (lat,lon) de la gratícula en qüestió, per a produïr les coordenades del geohash de la gratícula d'aquell dia.

Eines d'ajuda


Implementacions

Si no vols fer els càlculs tu mateix, no cal que els facis. Hi ha una llista de referències d'implementacions que pots trobar en aquesta pàgina (en anglès).