Geohash: Difference between revisions

Content deleted Content added
Mihailp (talk | contribs)
add PicoLisp
Mihailp (talk | contribs)
Line 373: Line 373:
(setq *GBASE32 (chop "0123456789bcdefghjkmnpqrstuvwxyz"))
(setq *GBASE32 (chop "0123456789bcdefghjkmnpqrstuvwxyz"))
(de encode (Lat Lng Prec)
(de encode (Lat Lng Prec)
(let Lst
(let
(Base (circ (list -180.0 180.0) (list -90.0 90.0))
(mapcar
'((A B C)
Curr (circ Lng Lat)
(let M (/ (sum prog B) 2)
Lst
(if (> C M)
(make
(prog (set B M) 1)
(do (* 5 Prec)
(set (cdr B) M)
(let
0 ) ) )
(B (++ Base)
(range 1 (* 5 Prec))
C (++ Curr)
# Longitude, Latitude
M (/ (sum prog B) 2) )
(circ (list -180.0 180.0) (list -90.0 90.0))
(if (> C M)
(circ Lng Lat) )
(prog (set B M) (link 1))
(set (cdr B) M)
(link 0) ) ) ) ) )
(pack
(pack
(make
(make