Skip to content

Instantly share code, notes, and snippets.

@O1O1O1O
Created July 15, 2016 07:02
Show Gist options
  • Save O1O1O1O/0cb9eecd8358d965628a78e224f83ce0 to your computer and use it in GitHub Desktop.
Save O1O1O1O/0cb9eecd8358d965628a78e224f83ce0 to your computer and use it in GitHub Desktop.
Excerpt from my ideas notebook in 2006 describing a system for generating word based locations

051. Word based locations

Keywords: software, service, patent

Opportunity

This is an evolution of idea #043 with the realization that availability of GPS location will soon be almost universal to anyone with a cellphone, hand held computing device or laptop. The problem remains that the answer to the question "where are you" can still be a problem to communicate. Only a small percentage of the earth's surface can be accurately identified by a street address - for the rest we must rely on ad-hoc relative location such as "near the big tree a mile past the Foo exit of the freeway Bar". Or when off-road even more ad-hoc. The alternative is to revert to the use of the canonical latitude and longitude system. Unfortunately to locate some one accurately with latitude and longitude requires up to five decimal places of accuracy (1 meter resolution), combined with one to three leading digits each of latitude and longitude and a +/- or N/S E/W indicator. That makes for a lot of information to transfer probably requiring 15 to 20 separate words to say - the chances of relay such information accurately the first time, let alone remembering it, are slim. Additionally entering that many digits into a device requires a lot of key presses.

Solution

Provide a word based encoding of latitude, longitude (and altitude) such that any point on the earth's surface can be identified to 1 meter resolution using a sequence of 5 words - or less to block level without altitude. This is possible because a dictionary of 4096 words provides 12 bits of information so five words can relay 60 bits of information - or 1.15x10^18 unique values. The surface area of the earth is (approximately - assumes a sphere) 5.11x10^12 square meters so each individual square meter can be address with far less than sixty bits - the value is more like log(5.11e12)/log(2) bits = about 42 (seriously, forty two). That leaves 18 bits for 16 bits of altitude (16 bits addresses 65 kilometer altitude range to one meter accuracy - more than enough!) and 2 check bits. Or you can leave off altitude and use fewer words (four 12 bit words is still 48 bits) or a smaller dictionary - say five 10 bit words, or you could go with lower resolution and smaller dictionaries.

Notes

Simon - problems to solve are choosing an appropriate dictionary of 1024 or 4096 common, easily spoken, non-ambiguous words. This will minimize transmission errors and facilitate voice recognition opportunities allowing rapid programing of a GPS location finding device by saying just few words. Also (suggestion by John) many people may expect a system where adjacent areas have a similar encoding. This means that within a city places within a few blocks will have mostly the same encoding which will require tweaking the system. Since a single 12 bit word could address a 4 kilometer square it may be beneficial to use a system where the latitude and longitude are two words each but the first word has more bits so that last one maps to a suitable "local" locater of sufficient resolution. Thus anywhere in a 4km radius could be located to 1 meter accuracy by saying just two words, or conversely any 4km area could be located with just two words. Remember these locations will be unambiguous on the ENTIRE PLANET! Implementation of the encoding is relatively simple - the idea can be monetized as a licensable patent or a set of software libraries to add on to any device. Consideration of internationalization problems will likely yield more patent variations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment