9 ms·
Open Location Code
- hasperdi 8y agoI remember that there is another project that is similar to this. They divided the whole world in to grids and assign a code to each one.
- Cthulhu_ 8y agoYeah, that's what3words (https://what3words.com/ https://what3words.com/), which (IMO) makes for easier to remember words. It's available in multiple languages too, for the non-english speaking world.
- cr3ative 8y agoIt appears not to be "open" and can in some circumstances cost money, though.
- estsauver 8y agoI do work in rural Kenya, and the big problem what 3 words has is that the words are totally randomly allocated around the world. A REALLY important attribute of addresses is that they can be vague. "He's on High and 23rd", "I live on Monroe", "Near Jomo Kenyatta Airport", etc. The biggest mistake what 3 words made was not making the first two words be a geocoding of the approximate area and the last word could provide additional precision. It looks like google plus codes fixed this which is actually a huge improvement.
- sandGorgon 8y agocould you explain this a bit more ? not able to understand the implication of this design flaw
- mcny 8y agoThis is what I understood: Imagine your address is "massive heart will" but your next door neighbor's address is "correct position delay".
- estsauver 8y agoKnowing your neighbors address tells you nothing about your own address. To be able to get your address, you need a smart phone, and at that point you could just send me a pin with your exact latitude and longitude. Approximate locations are dramatically more useful for navigating in much of the rural developing world. "How do I get to village X" will have an answer for 10 miles around. "How do I get to X lat/lng?" will be met with a shrug, both from google maps which will suggest you drive through a field and from anyone you ask. If you can make something that works at the village level, you can bootstrap people getting their location. If the first word provided approximately "country" level information, the second provided approximately 1km bands (what you get if you evenly divide the three little words partitions), and the third gave you the 3m resolution grid, people without addresses could know their approximate address from others. Basically, there's a bootstrapping problem and a usefulness problem. Right now, no one knows their 3 little words number. To become useful, most people need to know their 3 little words. How do you cross that gap? One way would be to have it be useful to know "2 words" or some approximate identifier for your region and then after locating you approximately, your service provider can tell you your last word.
- thelittlenag 8y agoThis is a general problem with solutions in the space. Part of the niceness of say geohashes is that they telescope down. The startup I'm involved with has developed what we call a geohash phrase. The core idea is to map English (or whatever language) words to the characters of a geohash. We usually map a word two-characters at a time, giving us 10-bits of precision for each additional word. So your location might be something like: "The big dog walks near the red house." What is nice is that the phrase telescopes. So you can be vague when you want and only provide say the first three words of your location.
- JulianMorrison 8y agoIt's beautiful except that (1) it could vanish instantly and irreparably if they went bust, because it's not a public database and (2) I'd rather not have a single corporate entity be a gatekeeper of my ability to locate things.
- mtmail 8y agoIt's somewhere in their FAQ but they pleaged that the dataset becomes open/free if the company goes bust.
- JulianMorrison 8y agoThat may not be in their power to grant if it counts as a valuable asset.
- anc84 8y agoAnd it is (falsely[0]) patented, proprietary and generally deemed a bad thing by programmers and geofolk all around. Some previous criticisms: https://news.ycombinator.com/item?id=8614198 https://news.ycombinator.com/item?id=8614198 https://news.ycombinator.com/item?id=17423251 https://news.ycombinator.com/item?id=17423251 https://news.ycombinator.com/item?id=15579017 https://news.ycombinator.com/item?id=15579017 [0]: https://news.ycombinator.com/item?id=15580809 https://news.ycombinator.com/item?id=15580809
- tgsovlerkhgsel 8y agoUnfortunately (or fortunately, since it's rather controversial), they made it proprietary, which means it's basically dead regardless of merit. Also, I believe that they require large dictionaries, which makes it hard for apps to support it on low-end mobile. Wikipedia says ~10 MB for their database.
- JulianMorrison 8y agoTheir own site says 20mb
- numair 8y agoI’m not so sure 6GCRPR6C+24 is a great replacement for an address, but maybe I just don’t know. Although I could memorize my own address, I’d have a hard time memorizing my friends’ addresses. Yes, nobody knows each other’s phone numbers anymore, but those were a very temporary relic from a very short span of time (the telephone era). Humans have always known each other’s addresses, and have always spent a lot of time telling each other their locations in the form of a spoken address. On a more technical note, I am guessing this works super-well for auto-completion, but didn’t see any example of that in the README... All of the various geonaming systems seem very Esperanto at the moment. I think we (as in all of us, the global community) could build upon Google’s effort to come up with a much more human-friendly system to provide easy global addressing. Yes, the address format system is way too localized and breaks down at both scale and small distances; whatever that code was at the beginning of my post (I’ve already forgotten it, and I’m too lazy to re-paste it) is just not nearly as easy to remember as “100 Ocean Drive” or whatever. I also have no clue how I might represent the building next door.
- topher515 8y agoThere's a feature that vastly improves the human usability for Plus Codes. The least-precision, first-four characters can be omitted and replaced with the City / Region name: e.g., "Nairobi PR6C+24". Considering that uniquely identifies just a few square meters of space on Earth that seems pretty good.
- esolyt 8y agoThat makes sense. "9C3XFWG3+2G" is barely any shorter than using coordinates, but "FWG3+2G, London" is significantly easier to read or write down than coordinates.
- sloppycee 8y agoWhich London? https://en.wikipedia.org/wiki/London_(disambiguation) https://en.wikipedia.org/wiki/London_(disambiguation)
- paulvs 8y agoA shoutout to Rober Dam who built Xaddress, "Give 7 billion people an instant physical address": http://xaddress.org/ http://xaddress.org/
- sn41 8y agoI have asked this question to a member of the Google maps team, and have not gotten a precise answer. Is there some scheme which can distinguish between floors of a building? This is very useful, for example, store locations inside malls. The LatLong scheme does not seem to be enough. I'm guessing that it will have to be 3D, but I have never heard of a standard location scheme which incorporates this information.
- fredley 8y agoWhat's wrong with just using floor names, e.g. "First floor"?
- sn41 8y agoYes, this is the current solution. I am a bit dissatisfied that it is not a "uniform" address scheme. It would be nice if an app can guide you to the exact store on the exact floor based on one location code.
- tylerhou 8y agoFloors can be weird; I’m not sure how you’d handle a hotel skipping the 13th floor, for instance. Also, are floors 0 indexes or 1 indexed? It therefore probably shouldn’t be built into the protocol.
- JulianMorrison 8y agoSmall hack: You can Google a code, and it finds it on the map, already :-D
- dzhiurgis 8y agoAnd it does it incorrectly according to their own spec. It's supposed to be a square, not a point.
- k_ 8y agoI wish delivery services (mainly food delivery) would accept directions using this, like "Appartment block entry at XXXX+XX with entry code YYYY, building entry XXXX+XX with door code ZZZZ" (with code parsing somehow). They keep getting things wrong for my location, but things like that (= simple and integrated with maps) would make it easy.
- mscasts 8y agoThis is really cool, but not really that much easier than coordinates. The good thing about coordinates is that you can choose the kind of granularity you want. But kudos to Google for doing this.
- nmca 8y agoThese support truncation better than coordinates. With coordinates, truncation indicates a different location, with these it indicates a larger area.
- tiredwired 8y agoI want an address that a drone can use to drop a package on my 3rd floor patio.
- bufferoverflow 8y agoWhy wouldn't they use 36 (Letters+digits) to break it down in a 6x6 area instead? Much more precise at the same length. At 6 length, you're already down to the kilometer precision at the equator. At 9 length you're down to 4 meters. And that's with a dumb grid division, which is very uneven on the globe, the cube projection is probably a better way to deal with it.
- tonyg 8y agoThe larger the alphabet, the larger the risk of glyph confusion. Here's the alphabet they chose: // The character set used to encode the values. var CODE_ALPHABET_ = '23456789CFGHJMPQRVWX'; It omits easily-confused glyphs like "0oOD", "1lLI" etc.
- awirth 8y agoThis is an interesting alphabet, even Base58 (Bitcoin addresses) have "o" and "1". There's some information on how they generated it here in the spec[1]. The characters that are used in Open Location Codes were chosen by computing all possible 20 character combinations from 0-9A-Z and scoring them on how well they spell 10,000 words from over 30 languages. This was to avoid, as far as possible, Open Location Codes being generated that included recognisable words. The selected 20 character set is made up of "23456789CFGHJMPQRVWX". [1]: https://github.com/google/open-location-code/blob/master/docs/olc_definition.adoc#open-location-code https://github.com/google/open-location-code/blob/master/doc...
- richthegeek 8y agohttps://github.com/google/open-location-code/wiki/Evaluation-of-Location-Encoding-Systems https://github.com/google/open-location-code/wiki/Evaluation... One of the design decisions was to avoid ambiguous characters, so that cuts out at least 9 (I1L 0OB8).
- kiriakasis 8y agoOthers have noted ambiguous character, but an equally important factor was to avoid swear words in all the languages that use the Latin alphabet (or have a latinized form like Russian, Chinese and others) It is almost impossible to make words out of the allowed characters
- tonyg 8y agoWhat's neat about this is its simplicity; its unencumbered nature; and its independence from any particular mapping or ontology beyond "a rectangularish portion of the surface of a sphere". One neat application is for biologists recording locations of field samples.
- Double_a_92 8y agoIn my first naïve thought this seems trivial. "Just" map WGS84 coordinates to a less clunky identifier. What am I missing?
- ascorbic 8y agoQuite a bit, it seems. https://github.com/google/open-location-code/wiki/Evaluation-of-Location-Encoding-Systems https://github.com/google/open-location-code/wiki/Evaluation...
- Double_a_92 8y agoThis is all I found about it: > Cheap GPS devices have existed for at least 14 years [etrex], and yet latitude and longitude coordinates are still not widely used by people to specify locations. We think that this shows latitude and longitude have too many disadvantages to be adopted for a street addressing solution. But still, isn't their solution just a "wrapper" around gps coordinates? How is it different than encoding 2 decimal numbers into a short text identifier?
- deleted 8y ago[deleted]
- nabla9 8y agoReinventing the wheel without any clear advantage. Plus codes don't seem to have any advantage over widely used MGRS (Military Grid Reference System). https://en.wikipedia.org/wiki/Military_Grid_Reference_System https://en.wikipedia.org/wiki/Military_Grid_Reference_System
- chronial 8y agoI find them a lot more human-friendly, but I guess that's subjective. The example from the wiki page you linked: MGRS: 4QFJ12345678 Plus Code: 835M+Q7 Honolulu
- dzhiurgis 8y agoWait a second. So 835M+Q7 is not a full identifier? You need to specify city too? Ain't that gonna cause problems?
- arghwhat 8y agoIt's a referenced plus-code, which "saves" 4 digits. Instead of being a true location like the full plus code, coordinates, or MGRS, a referenced plus-code requires a referenced location to resolve (think "124 meters north of the postal office"), and the precision becomes entirely dependent on the precision of the services used to resolve the reference location (i.e. Google Maps might consider the exact location for "Honolulu" to be somewhere else on the island of Honolulu than Bing Maps).
- ZiiS 8y agoThis doesn't seem to work in the UK. The closest box to my house partially covers three homes, and would be interpreted as my neighbour's.
- vonuebelgarten 8y agoSo, did they just reinvent the Maidenhead locator ( https://en.wikipedia.org/wiki/Maidenhead_Locator_System https://en.wikipedia.org/wiki/Maidenhead_Locator_System ) or any of the previous systems?
- nmca 8y agoThere's a pretty solid evaluation of the new system in terms of the old ones at: https://github.com/google/open-location-code/wiki/Evaluation-of-Location-Encoding-Systems https://github.com/google/open-location-code/wiki/Evaluation... Indeed maidenhead seems to be the strongest of the previous approaches, they rejected it because it can include words.
- nmca 8y agoHave people here heard of "what3words"? It's a similar encoding scheme that is much more human-memorable (for English speakers, at least). The same spot, to +-1.5m is universe.renovated.upon as opposed to 6GCRPR6C+24
- AndrewDucker 8y agoProprietary. Charges for business use.
- kiriakasis 8y ago> for English speaker. Almost all English speaker do not need these codes. Also the complexity of the implementation is not trivial.
- arnoooooo 8y agoFor those wondering why they invented yet another grid coding system, here's their justification : https://github.com/google/open-location-code/wiki/Evaluation-of-Location-Encoding-Systems https://github.com/google/open-location-code/wiki/Evaluation... The XKCD on competing standards comes to mind…
- OnlyRepliesToBS 8y ago'open'
- Syzygies 8y ago"Codes that are similar are located closer together than codes that are different." I dug hoping to find out how they handle boundary effects, and gave up. The numbers 0.999999 and 1.000000 are far apart in Hamming distance but close in position. What bounds are achievable for the maximum Hamming distance between two nearby locations, in any such system? Do they approach the theoretical limit here, or is "that are similar" a crock that only sometimes holds? For example, for a base 12 location code one could overlay a dodecahedron onto the earth, then rotate it by a low-discrepancy sequence of quaternions for successive digits. This would have very nice bounds for the maximum Hamming distance between nearby locations, at the expensive of efficiency: each successive digit subdivides the location by far less than a factor of 12. As locations approach each other, vanishingly few rotations will distinguish them. One can imagine easy fixes for this scheme, but what is the theory? Do they have a theory? Do they implement it?
- thelittlenag 8y agoI'm involved with a startup that I believe has a wonderful solution to this and other related problems. Our website: http://qalocate.com/ http://qalocate.com/ Our platform: http://qalocate.bamsaas.com/wp-content/uploads/2018/12/QA-Locate-Platform-Overview.pdf http://qalocate.bamsaas.com/wp-content/uploads/2018/12/QA-Lo... The biggest issue with solutions like this isn't that they aren't clever, or even that they aren't better than say a geohash or lat/lon, but that they have the wrong target. Computers don't really care since its just as easy to parse a geohash, a lat/lon, or an open location code. The tricky bit is when humans get involved. Its humans that have way more limitations when it comes to using complex systems. And frankly, humans still use addresses because the system co-evolved with us and our needs. Addresses solve the problem well enough, and have "outs" for when they don't work. For a bit more in-depth discussion on this see: http://qalocate.bamsaas.com/2018/04/04/addresses-are-complicated/ http://qalocate.bamsaas.com/2018/04/04/addresses-are-complic... So if we want to replace addresses, then we really have to think outside the box. Fortunately, the web has done a lot of the heavy pushing by introducing all kinds of new, useful, and exploitable semantics that we can apply in other domains. Humans are pretty good at using names for things. When computers were first networked, we soon replaced IP addresses with names. Thus was DNS born. We then combined that with another id, and soon we had email. We believe that a similar system can be used for locations. No one really cares about the exact geohash or lat/lon of a location, or the niftyness of your coordinate system. Instead, what we need are memorable names. So why not just use names? That's what LNS (http://qalocate.bamsaas.com/wp-content/uploads/2018/12/QA-Locate-Location-Naming-System-LNS%E2%84%A2.pdf http://qalocate.bamsaas.com/wp-content/uploads/2018/12/QA-Lo...) is. It works very similarly to DNS and allows one to link arbitrary names to exact coordinate locations, structures, or even regions. For example, I can have "thelittlenag.frontdoor" if I want to point someone to the exact coordinate of my front door. If I want drone deliveries, then maybe I tell Amazon to use "thelittlenag.deliverydrone". The lawn guy can use "thelittlenag.propertyboundaries" to figure where my property lines start and end. And "thelittlenag.house" and "thelittlenag.gardenshed" can logically reference as entities(!) the two structures we have on our property. PM me if you have any questions.
- qcodes 8y agoI too have developed and patented a location encoding system. Perhaps we could work together. i don't know how to PM you. If I make a contact request on your website, will that work.
- KboPAacDA3 8y agoPerhaps there's an underlying psychological advantage to using Plus Codes. This past week I had to manually transfer coordinates of various locations from one handheld google machine to another google machine. It was less tedious to use the Plus Codes.
- jpmoyn 8y agoHow is this any different or better than current geo-hashing solutions?
- code_scrapping 8y agoHAM radio locator grid does pretty much the same thing, with I would say roughly the same precision. example: http://k7fry.com/grid/?qth=JN17EB67UN http://k7fry.com/grid/?qth=JN17EB67UN I only knew of the 6-character location code, which is typically used when identifying yourself, but it seems there's the expanded version of up to 10 characters. What I don't understand is the usage scenario. Plus codes are not human-friendly like street addresses, so I'm assuming they're meant for machine processing. But there you have all these other systems like HAM location codes or MGRS, that I don't see added value.
- tracker1 8y agoAside, if you ever have to do location based matching, having an index on hashes for rough locations with neighboring locations in multiple passes will often be faster than geo indexing.