Did you know ... Search Documentation:
Pack weblog -- prolog/info/geohashing/geohashing.pl
PublicShow source

Tools for the sport of geohashing.

http://wiki.xkcd.com/geohashing/Main_Page

Because there are two zeros in graticules (if the fractional part of the hash longitude is 0.35, then the hash for +0 graticule is 0.35w and 0.35e for the -0 graticule. Thus So there's a bit of type here, with a graticule being a structure that handles all this.

 code_graticule(?Code:codes, ?Grat:graticule) is semidet
Attempts to convert codes to a graticule structure. Codes should look something like "-14,3" (the 14 deg N latitude, 3 deg E longitude graticule) "52, 0" (Cambridge, UK graticule) "52, -0" (Northampton, UK graticule)

@Code see above @Grat opaque graticule structure

 code_graticule(?CodeLat:codes, ?CodeLong:codes, ?Grat:graticule) is semidet
Attempts to convert a pair of codes to a graticule structure. Codes should look something like "-14" (the 14 deg coord) "0" (the 0 coord) " -0" (the -0 coord)

@Code see above @Grat opaque graticule structure

 globalhash(+Date:date, -Point:point) is semidet
find location of globalhash for this date
 minesweeper(+Date:term, +Grat:graticule, -Points:list) is det
given a date and graticule, returns a list of nine point(Lat, Long) structures for the 9 nearest hash points

note - at the poles returns a shorter list

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

 hash_point(Arg1, Arg2, Arg3)