Difference between revisions of "The Algorithm"

From Geohashing
imported>Tjtrumpet2323
imported>Tjtrumpet2323
m
Line 3: Line 3:
 
'''This time, we ''did'' invent the algorithm!'''
 
'''This time, we ''did'' invent the algorithm!'''
  
# The current date (in yyyy-mm-dd format) and the daily opening price of the [[Dow Jones Industrial Average]] are concatenated with a hyphen and fed through the [[wikipedia:MD5|MD5]] cryptographic algorithm to generate as pseudo-random string of 32 hexadecimal digits.
+
* The current date (in yyyy-mm-dd format) and the daily opening price of the [[Dow Jones Industrial Average]] are concatenated with a hyphen and fed through the [[wikipedia:MD5|MD5]] cryptographic algorithm to generate as pseudo-random string of 32 hexadecimal digits.
## If there is no opening price for the Dow, the opening price from its previous day of active trading is used instead.
+
** If there is no opening price for the Dow, the opening price from its previous day of active trading is used instead.
# The resulting string is split into two halves of 16 hexadecimal digits.
+
* The resulting string is split into two halves of 16 hexadecimal digits.
# Each half-string is prepended with a decimal point (so as to represent a hexadecimal fraction) and is converted to a base-10 fraction.
+
* Each half-string 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.
+
* The resulting decimal fractions are appended to the integral (lat,lon) values of any given [[graticule]] to produce that graticule's geohash target.
  
 
== Fractional hexadecimal to decimal calculation ==
 
== Fractional hexadecimal to decimal calculation ==
 
Many online hex-to-dec converters do not support hexadecimal fractions.  Here is one that does:
 
Many online hex-to-dec converters do not support hexadecimal fractions.  Here is one that does:
 
* [http://www.easysurf.cc/cnver17.htm#bf16tobf10 EasySurf.cc]
 
* [http://www.easysurf.cc/cnver17.htm#bf16tobf10 EasySurf.cc]

Revision as of 22:34, 23 May 2008

The Algorithm

This time, we did invent the algorithm!

  • The current date (in yyyy-mm-dd format) and the daily opening price of the Dow Jones Industrial Average are concatenated with a hyphen and fed through the MD5 cryptographic algorithm to generate as pseudo-random string of 32 hexadecimal digits.
    • If there is no opening price for the Dow, the opening price from its previous day of active trading is used instead.
  • The resulting string is split into two halves of 16 hexadecimal digits.
  • Each half-string 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.

Fractional hexadecimal to decimal calculation

Many online hex-to-dec converters do not support hexadecimal fractions. Here is one that does: