Difference between revisions of "The Algorithm"
From Geohashing
imported>Tjtrumpet2323 |
imported>Tjtrumpet2323 m |
||
Line 7: | Line 7: | ||
* Strings of the current date (in yyyy-mm-dd format) and the daily opening price of the [[Dow Jones Industrial Average]] are concatenated, with a hyphen separating the two. | * Strings of the current date (in yyyy-mm-dd format) and the daily opening price of the [[Dow Jones Industrial Average]] are concatenated, with a hyphen separating the two. | ||
** '''West of -30° longitude:''' If there is no opening price for the Dow on the desired day, the opening price from its previous day of active trading is used instead. | ** '''West of -30° longitude:''' If there is no opening price for the Dow on the desired day, the opening price from its previous day of active trading is used instead. | ||
− | ** '''East of -30° longitude:''' Same as west, except the Dow's opening price for the previous day is used, even if a new one becomes available later in the day in your time zone (''i.e.'', Thursday uses Wednesday's open, Friday uses Thursday's open, and Saturday through Monday all use Friday's open). | + | ** '''East of -30° longitude:''' Same as west, except the Dow's opening price for the previous day is used, even if a new one becomes available later in the day in your time zone (''i.e.'', Thursday uses Wednesday's open, Friday uses Thursday's open, and Saturday through Monday all use Friday's open). ''(see [[30W Time Zone Rule]])'' |
− | |||
* The resulting string is then fed through the well-documented [[wikipedia:MD5|MD5]] cryptographic algorithm to generate as pseudo-random (yet easily verifiable) "hash" of 32 hexadecimal digits. | * The resulting string is then fed through the well-documented [[wikipedia:MD5|MD5]] cryptographic algorithm to generate as pseudo-random (yet easily verifiable) "hash" of 32 hexadecimal digits. | ||
* The "hash" is then split into two halves of 16 hexadecimal digits each. | * The "hash" is then split into two halves of 16 hexadecimal digits each. |
Revision as of 05:15, 24 May 2008
This time, we did invent the algorithm!
- Strings of the current date (in yyyy-mm-dd format) and the daily opening price of the Dow Jones Industrial Average are concatenated, with a hyphen separating the two.
- West of -30° longitude: If there is no opening price for the Dow on the desired day, the opening price from its previous day of active trading is used instead.
- East of -30° longitude: Same as west, except the Dow's opening price for the previous day is used, even if a new one becomes available later in the day in your time zone (i.e., Thursday uses Wednesday's open, Friday uses Thursday's open, and Saturday through Monday all use Friday's open). (see 30W Time Zone Rule)
- The resulting string is then fed through the well-documented MD5 cryptographic algorithm to generate as pseudo-random (yet easily verifiable) "hash" of 32 hexadecimal digits.
- The "hash" is then split into two halves of 16 hexadecimal digits each.
- Each half of the "hash" is prepended with a decimal point (so as to represent a hexadecimal fraction) and is converted to a base-10 fraction.
- The resulting decimal fractions are appended to the integral (lat,lon) values of any given graticule to produce that graticule's geohash target for the day.
Fractional hexadecimal to decimal calculation
Many online hex-to-dec converters do not support hexadecimal fractions. Here is one that does: