Spreadsheet

The simplicity of the calculation is easily demonstrated in a spreadsheet - easily adaptable to databases, scripts, websites, and applications.

Even when using a spreadsheet without base conversion functions, a code can be as easily created as:
=mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-1)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-1)),Base))+1,1)&mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-2)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-2)),Base))+1,1)&mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-3)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-3)),Base))+1,1)&mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-4)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-4)),Base))+1,1)&mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-5)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-5)),Base))+1,1)&mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-6)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-6)),Base))+1,1)&mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-7)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-7)),Base))+1,1)&mid(Alphabet,(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-8)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-8)),Base))+1,1)&"-"&mid(Checksum,MOD(sum((MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-1)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-1)),Base))*1+(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-2)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-2)),Base))*2+(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-3)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-3)),Base))*3+(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-4)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-4)),Base))*4+(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-5)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-5)),Base))*5+(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-6)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-6)),Base))*6+(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-7)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-7)),Base))*7+(MOD(INT(int((((North-Lat)/High)*(Base^Digits)))/Base^(Digits-8)),Base)*Base+MOD(INT(int((((Lon-East)/Wide)*(Base^Digits)))/Base^(Digits-8)),Base))*8),CheckBase)+1,1)
Comments