Four years ago I wrote about a way to encode the latitude and longitude of any point on the Earth's surface to 10m of accuracy with a 10 character code. Apart from a modification to the way the check digit is calculated, the code remains unchanged.
The idea is this: instead of giving people addresses, or coordinates, you can give them something like a post code for any point on the Earth's surface. This can then be entered into a GPS device and decoded. Thus a business can provide its 10:10 code and know that people will be able to find it.
I was reminded of this, this weekend when I took the Eurotunnel to France. On their web site they say:

Now those latitude and longitude values are very hard to enter, and, although in the UK post codes are pretty accurate, they are not universal (e.g. in France and the US there's no equivalent). In contrast the 10:10 code is global.
Here's some JavaScript code that calculates the 10:10 code:
The 10:10 code of the Eurotunnel terminal in the UK is: MED 8FV N9K5
PS. Many people have pointed out that there are existing systems like this, and existing patents. As far as I am aware, none of them include a check digit. For example, there's the Military Grid Reference System, the Natural Area Code, this Microsoft patent and Geohash. The check digit is critical because it reduces operator error when entering a location on a GPS device.
The idea is this: instead of giving people addresses, or coordinates, you can give them something like a post code for any point on the Earth's surface. This can then be entered into a GPS device and decoded. Thus a business can provide its 10:10 code and know that people will be able to find it.
I was reminded of this, this weekend when I took the Eurotunnel to France. On their web site they say:

Now those latitude and longitude values are very hard to enter, and, although in the UK post codes are pretty accurate, they are not universal (e.g. in France and the US there's no equivalent). In contrast the 10:10 code is global.
Here's some JavaScript code that calculates the 10:10 code:
The 10:10 code of the Eurotunnel terminal in the UK is: MED 8FV N9K5
PS. Many people have pointed out that there are existing systems like this, and existing patents. As far as I am aware, none of them include a check digit. For example, there's the Military Grid Reference System, the Natural Area Code, this Microsoft patent and Geohash. The check digit is critical because it reduces operator error when entering a location on a GPS device.
Comments
-- MV
... and, if there were a web service like bitly for location that put me on the map of my choice in the right place.
... and, as an extension to that idea, if QR barcodes could link to the service.
I would suggest two basic improvements...
1) Take into account that at higher latitudes, longitude need not be encoded as accurately.
2) don't combine latitude and longitude. Keep them separate, with a space in between. That way, a human reader can tell that two encoded points are near each other.
Q1: Where in the code the radius 10m is specified? Can we produce code with 500m radius?
Q2: Does this mean all points in a radius of 10m distance of a specific point will produce the same code?
so i think that the location at 51.09559,1.12207 maps to MEQ N6G 7NY5
secondly, c %= 29 you probably meant c %= base
so i think that the location at 51.09559,1.12207 maps to MEQ N6G 7NY5
secondly, c %= 29 you probably meant c %= base
Enclose Earth into a cube. Divide each face of the cube into a 8,000,000 by 8,000,000 grid. Project the location onto the cube. The square number is your code. There are 3.84E14 squares on the cube: that's also 10 characters in base 29 but it gives you a resolution better than 1 meter on the ground anywhere in the world.
Perhaps putting a grid over a Winkel Tripel projection would work better
- takes accuracy into consideration
- brings some sort of place hierarchy
- helps when the geocode of a place changes (earthquakes etc)
It's a long way for WOEIDS to become something that can be put into a GPS device, but using smart metadata is always better than, er, not that smart.
London is 44418.
http://developer.yahoo.com/geo/geoplanet/guide/concepts.html
When I converted the 1010-coordinate back to latlong for the eurotunnel terminal, I got a difference of 11.1m from the original coordinates...
I "proposed" a similar way of uniquely encoding locations in my utopian novel "The Vavilovian Conspiracy"
Free to download from www.lulu.com/blackbirdcraven
* arbitrary precision (to nearest 5 bits)
* lat/lon are interleaved
Bit interleaving in particular is useful because a geohash which is the prefix of another contains the other in its bounding box. Two geohashes which share prefixes are near each other. And so on.
This is great for search (e.g. google) and for use as a single database key for a location.
I've been thinking of, and attempting to create something like this, to extend the concept universally unique identifiers. (UUIDs)
By the way, I also get "MEQ N6G 7NY5".
12345-1234
Identifies a specific property and can be reversed to an address with the right database. However the ZIP+4 is very rarely used.
Currently, we have:
- decimal lat/lon
- d/m/s lat/lon
- UTM ( http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system )
- MGRS ( http://en.wikipedia.org/wiki/Military_grid_reference_system )
- Geohash ( http://geohash.org/ )
- "Natural Area Code" ( http://en.wikipedia.org/wiki/Natural_Area_Code )
Please, suggesting something like this and encouraging people to implement it is like coming out with a device that only charges over micro-USB. Just... don't.