top | item 18092279

Plus codes: addresses for everyone

111 points| fs111 | 7 years ago |plus.codes | reply

81 comments

order
[+] crazygringo|7 years ago|reply
I've never been clear on what plus codes are for... or if anyone is adopting them.

Wikipedia says:

> Open Location Codes are a way of encoding location into a form that is easier to use than showing coordinates in the usual form of latitude and longitude. They are designed to be used like street addresses, and may be especially useful in places where there is no formal system to identify buildings, such as street names, house numbers, and post codes.

They don't seem all that much more useful than lat/lon for displaying/copying/pasting...

But for replacing addresses, there's no obvious 1-1 correspondance between a plus code and a building. A large building may span 20 or more plus codes, so which one would you use? Multiple homes might lie in the same one. Another house might be halfway in one and halfway in another. Even the front door can be right on the boundary.

Is there anywhere in the world where it's used for postal delivery, or anything practical at all?

[+] firasd|7 years ago|reply
I think it can be useful for communicating emergency location... but yes it seems like you would need your GPS on in which case it's better if your phone just texts or otherwise shares the location with whomever needs it. Maybe it's good for sharing location verbally over a call.
[+] evv|7 years ago|reply
The purpose of pulse codes are explained on the very first line of the linked page. (emphasis mine)

> A plus code is like a street address for people or places that don't have one.

Not everybody has a stable living situation at a building with a fixed address. Yet it's extremely important for people to be able to receive mail or packages, especially for people attempting to lift themselves out of poverty.

This system doesn't look like a replacement to the existing address system, they can both be used. But as you point out, it won't matter much until people start to adopt this as a standard.

[+] zimzam|7 years ago|reply
As someone who lives in Manhattan, there are many buildings that have entrances on 2-3 different streets: having an address that specifies where the entrance actually is is a feature.
[+] adrianmonk|7 years ago|reply
> But for replacing addresses, there's no obvious 1-1 correspondance between a plus code and a building. A large building may span 20 or more plus codes, so which one would you use?

This same situation already exists for street numbers and doesn't present a big problem.

Redevelop a single-family house into a duplex and you may need to split an address. The usual solution is to add onto it, so that 1234 Elm Street because 1234A Elm and 1234B Elm.

Or redevelop a block of houses into a single, large apartment community and you might consolidate several parcels of land with their own street address into one. The usual solution is to just pick one arbitrarily. Maybe your property consolidates the land for 1230, 1232, 1234, 1238, and 1240 Elm, so you pick 1234 Elm because it is catchy.

In both cases, you put up a sign on your building or mailbox, and that's enough information for people to start using it.

[+] slavik81|7 years ago|reply
I'm always disappointed that these systems are so hard to reason about. Plus codes are better than hashing schemes, but still require base 20 math. It's not clear to me what they're for.

MGRS is also based on 100x100km grid squares and it just uses easting and northing from the southwest corner. e.g.

4QFJ 1234 5678 is in square 4QFJ, at 12340m east and 56780m north with 10m accuracy.

4QFJ 12341 56789 is is in square 4QFJ, at 12341m east and 56789m north with 1m accuracy.

If there's a football field roughly half a kilometre to the north, that would be 4QFJ 123 573.

At the edge of the grid square, you may define an easting or northing that exceeds the bounds of the square. That's also fine.

MGRS is a much more complicated system for computers, but humans can create new coordinates and express the precision of their location relatively easily when working in a local region.

[+] kiriakasis|7 years ago|reply
do you remember your coordinates? a plus code is easier to remember, shorter and is in a "canonical" form.
[+] erikpukinskis|7 years ago|reply
As I understand, lat/long is continuous, plus codes are discrete.

If I give you my lat/long, how many decimals do I use? Will you be able to tell me from my neighbor? What if someone moves in to the same house as me, what’s they’re lat/long distinct from mine?

[+] lioeters|7 years ago|reply
> Is there anywhere in the world where it's used for postal delivery, or anything practical at all?

Found an example: "The postal services of Cape Verde were the first to support plus codes for mail delivery".

[+] ReverseCold|7 years ago|reply
Another similar service (that I like better) is what3words. Unfortunately that's patented/proprietary, so no one will ever use it.

Basically it splits the world into small squares, each defined by 3 common English words. Very easy to remember.

https://patents.google.com/patent/CA2909524A1

[+] myself248|7 years ago|reply
> patented/proprietary, so no one will ever use it.

Actually, that means there's a bunch of money behind it, bribing carmakers to include it in their nav systems, etc.

It's still shit, but it'll be ubiquitous shit.

[+] jschulenklopper|7 years ago|reply
What3Words has some strange choices / consequences:

* If you accidentally change the word order for a location, you could send a mailman to a wrong and faraway location:

  - http://map.what3words.com/help.driver.lost is in Chicago
  - http://map.what3words.com/driver.lost.help is near Grand Rapids
* If you accidentally mess up the plurals or spelling, you send people all over the place:

  - cosmetic.takeover.fries is in Amsterdam
  - cosmetic.takeover.fires is above the Pole Circle in Russia
  - cosmetic.takeovers.fries is west of Shanghai
* Lastly, locations are 'named' quite randomly, with no apparent logic or explanation behind it. So, adjacent locations have a completely different name. How can we (or a mailman) deduct/reason about the 'address' of a neighbor, or the what3words for the other side of a property?
[+] tzs|7 years ago|reply
Both of the independent claims in that are quite specific about the conversions between locations and lists of numbers and between lists of numbers and lists of words being unique.

If not done more than a cursory reading of those claims, but I wonder if you could work around it by simply making some of the mappings non-unique?

I did not look at the dependent claims because generally if you infringe a dependent claim you necessarily also infringe the dependent claim upon which it depends. As the Federal Circuit noted [1]:

"It is axiomatic that dependent claims cannot be found infringed unless the claims from which they depend have been found to have been infringed."

However, a year later [2], that same court quoted that in another case, and then said:

"While this proposition is no doubt generally correct, it does not apply in the circumstances of this case"

The circumstances of that had something to do with the doctrine of equivalents being used to find infringement of the dependent claims, but the scope of the equivalents was wide enough to bring in prior art that would encompass the independent claim (but not the dependent claim), and so that prior art stopped infringement of the independent claim but not of the dependent claim--or something like that. I've not looked serious at patent law in a long time so this is getting into territory I'm now very fuzzy on.

My initial impression is that this would probably not apply if the alleged infringement of the what3words patent was a product that was pretty much the same as what3words except for not satisfying the uniqueness properties from that patent.

[1] Wahpeton Canvas Co., Inc. v. Frontier, Inc., 870 F.2d 1546, 1553 & n. 9, 10 USPQ2d 1201, 1208 & n. 9 (Fed. Cir. 1989)

[2] Wilson Sporting Goods Co., Plaintiff-appellee, v. David Geoffrey & Associates D/b/a Slazenger, and Dunlopslazenger Corporation Aka Dunlop Sportscorporation, Defendants-appellants, 904 F.2d 677 (Fed. Cir. 1990)

[+] brad0|7 years ago|reply
Here’s something that shits me up the wall. Here’s the patent:

- convert a 2D value into a single value

- divide that value up into 3 values

- there’s a 1-1 database of values that map a value to a word

Pretty much everyone on this site could come up with that concept given 15 minutes to think about the problem.

How is this patentable?

[+] danso|7 years ago|reply
Slightly off-topic, but is there anything in the design of W3W that mitigates the chances that a square would have an offensive/embarrassing combination of words? Besides a blacklist of problematic words? I imagine the probability that this would happen only increases for English words that are problematic in other languages.
[+] goodstuff9|7 years ago|reply
> No one will ever use it

Tell that to aramex, dominos, Mercedes and united nations

[+] lifthrasiir|7 years ago|reply
In the HN people always complain that geocode systems are hard to remember and/or write and praise "readable" or "memorable" systems like what3words. I'm of course a strong opponent to what3words for various grounds, but more importantly geocode systems do not necessarily have to be human-friendly.

I think geocodes should be compared to ZIP codes, not something else. They both mainly act as a machine-readable version of (approximated or more accurate) human-readable addresses. No one complain about ZIP (or ZIP+4) codes being numeral. They do not, nor can't, replace human-readable addresses---even the most accurate geocodes will require a room number or a PO box number to be the true replacement (unless you are comfortable about calculating three-dimensional WGS 84 coordinates with 10cm accuracy and forcing poor post carriers to resolve them :-). They might have to be verbally communicated for the short period of time, so shorter, verbally distinguishable, verifiable codes do help, but that's not the biggest concern.

If we already have ZIP codes, why do we need another system(s)? It certainly helps that:

- Geocodes can be automatically generated from (now universal) WGS 84 coordinates.

- Geocodes, once their algorithm is fixed, never change.

- Many geocodes offer a trade-off between the length and accuracy. Moreover, this trade-off is generally predictable.

- Some geocodes can be shortened and accurately recovered with the context (country or city).

In this regard, after having seen a lot of alternatives, I do think plus codes are close to being optimal. But it should be mentioned that their applications are always limited to what ZIP codes and human-readable addresses can't and geocodes can. (Mongol Post's adoption of what3words is special because there is no permanent human-readable addresses for many mobile settlements. But what3words is not superior to other geocodes in this particular application.)

[+] 7952|7 years ago|reply
All an address really does is act as a set of instructions for a postal worker. It is not an explicit definition of location and can change over time. And mail companies will not necessarily maintain a database of the actual location of the letter box or door. It is enough to just follow the instructions. You need these kind of geocodes where a short instruction is not possible. A lot of Africa is like this. And maybe it could work for drone deliverys where you want to target an exact location.
[+] Nokinside|7 years ago|reply
I don't see any advantage over MGRS, GEOREF or GARS.
[+] cprecioso|7 years ago|reply
I really liked this, but their current website doesn't help their cause. Their old website dropped you straight into the map to find out any place's Plus Code, as well as a box to enter a plus code and open that location in a number of mapping apps/websites (Google Maps, Apple Maps, HERE, OSM...). It looked useful at first glance.

The new website looks like a standard marketing page that is trying to sell me something I don't need, and they have also lost the third-party linking. I think the immediacy of its usefulness is completely lost now.

[+] ReverseCold|7 years ago|reply
Google Maps supports it, so I think they're assuming most people will just use that now.
[+] nevi-me|7 years ago|reply
About 5/6 years ago, a team of 2 South Africans got an idea, and called it Waytag, the # for locations. The idea was that you tag a location with whatever you want, e.g. bob.home, and anyone looking for it would use !bob.home.

They had grand ambitions of licensing it to Google and the like. They patented it in a few countries (though there was prior art).

Suffice to say, though they got a few companies involved, the idea fizzled into dust. I think in addition to bad implementation, the idea of license fees probably put people off using the system.

I'm also aware of W3W, as there's been some discussion about it here in HN. I've seen +codes for a while on Google, but I've never needed to use them, as they look unfriendly to the mind. I personally think they're not as memorable as W3W, but if they are made/kept as an open standard, maybe they'll take off.

Part of the problem is that many people who could benefit from codes in lieu of an address (I'm thinking informal settlements where there are no formal street names), might not directly be in reach of a mechanism to generate or use these codes.

[+] digitaLandscape|7 years ago|reply
W3W is one of the stupidest proposals I've ever seen, because it's proprietary. We want everybody on earth to need to pay licensing fees and contact a remote API to resolve address?

To call it mad would be far too kind. I may call it evil.

[+] Nokinside|7 years ago|reply
Plus codes are nothing more than discrete encoding of latitude and longitude. Compared to MGRS its not more compact.

I think using MGRS (Military Grid Reference System) is better already existing standard if you don't want to use digital decimals. No need invent something new for no gain.

compare these three formats:

    8GC2CMXR+X6  (14 m accuracy)
    -33.3333 -33.3333 (11 m accuracy)
    4QFJ12346789  (10 m precision)
First is plus code in default accuracy 14m, second is decimal degrees with 11 m precision and the third is MGRS with 10 m precision. Each of them is discrete and identifies roughly similar area uniquely. You can add or remove accuracy by adding more decimals or characters in all of them.
[+] bitwize|7 years ago|reply
Ah, plus codes, the GIS equivalent of Swatch's "Internet time". Stylish and perfectly, staggeringly useless.
[+] carapace|7 years ago|reply
With 64 bits you can address every cubic centimeter in the entire solar system.

Probably not useful, but fun to think about.

[+] __initbrian__|7 years ago|reply
I like the idea of a universal addressing system but I don't think we've found the solution yet to this extremely difficult problem.

Street addressing is nice because the addresses with the same street name are on the same street organized by number. (generally at least--there are example of streets that stop/restart) And the numbering is collinear with the direction of travel. i.e. I walk along the street. And I know I'll pass 11XY to get to 12XY.

what3words was interesting but the words for the squares don't seem to be related to each other. From one square, I'd like to be able to generate the addresses of all the adjacent squares. (///jumped.spring.improving directly next to ///book.groups.hiking) and I can't generalize a larger square of w3w squares with an overarching set of words or something

playing around with the plus codes, they seem to increment in a consistent way but I haven't figured out how e.g. (a random example) W->E: _+HJV _+HJW _+HJX _+HMR N->S: _+HMJ _+HMC _+HM6 _+HM2

I also like that I can change the address reference box size based on how many letters I have after the plus sign. In case I want to reference my front door versus my entire city.

It'd be much easier filling out addresses in forms because I could type less info. But it'd be hard for me to associate a string on number letters to an area just in everyday life. Market St or Powell st carries more with it. And is streets aren't directly aligned with the boxes then that poses a difficulty.

Edit: found their doc evaluating other methods [link](https://github.com/google/open-location-code/wiki/Evaluation...)

[+] neals|7 years ago|reply
What if I live on the third floor, apartment 3A?
[+] djwbrown|7 years ago|reply
Schemes for international geocoding really shouldn't shrug off this altitude problem. When you say third floor, are you using 0-indexing, or 1-indexed floors as in the US?
[+] mrmanner|7 years ago|reply
It’s quite likely that you already have a better working street address in that situation. If not, the address could be something like

Name +code, city apartment 3A

[+] Phithagoras|7 years ago|reply
Why not just use Lat/Long? Or create a shortener for Lat/long if the long decimal numbers are too unwieldy for humans?
[+] lucb1e|7 years ago|reply
My first question was: how does this differ from alphanumerically encoding coordinates? It has to convey the same amount of entropy after all.

This[1] answer on the GIS StackExchange tells us that for a reasonably small area (small enough that it won't cover more than a small building, say 5 by 5 meters) we need 5 decimals. Since the longitude can have 360 major values, with 5 decimals each (so 360e5 possible values), we would need log(360e5)/log(10+26)=4.9 characters -- and since characters are a discrete value, we would need 5 characters. The longitude only has 180e5 values, but we still need 4.7 characters, so that makes 10 characters total in the worst case. For lower values, you need fewer characters, just like "21.491" is smaller than "121.491" (useful because the majority of the population does not live on the poles).

As an example of geographic coordinates in alphanumeric: one of the most extreme coordinates you'll ever find (very close to the maximum of common values for earth's population) is 87e13,azebi, which maps to -43.81703,-176.47678. If we are okay with including symbols, we can convey more information, though to get under 5 characters for latitude and longitude in all cases, we'd need at least 78 distinct characters (there are 96 in the basic ASCII set, so that's doable, but case sensitivity is annoying). An example of the same coordinates would be hcFx,m^^c. Only eight characters for a fairly precise location on the globe: real short, but I'd argue that it's not more useful than the case-insensitive variant.

While researching this, I realized that a good "human readable global address system" would not map 1:1 to coordinates because on the equator, one decimal (1e-5) difference is 1.1 meters on the ground, whereas in northern towns it would be much less. If you want to keep the codes as short as possible, it would be useful to leave a larger gap between each point of latitude the closer you get to the poles. This means they simply cannot be square.

Looking at plus-codes, they are case-insensitive and indeed 10 characters (when omitting the plus -- I have no idea what that plus is for, other than making it longer by branding each tag). And they claim to be rectangular pieces of land. This is no better than a blind base conversion (base 10 to base 36).

[1] https://gis.stackexchange.com/a/8674/9555

[+] lifthrasiir|7 years ago|reply
> I have no idea what that plus is for, other than making it longer by branding each tag

You can safely omit the first few charcters when the context is clear. Plus there essentially acts as a decimal point (to the point that less significant plus codes should be padded to `+` with zeroes, which is the only occurrence of zeroes in this scheme).

[+] lighttower|7 years ago|reply
I've always wanted a system that accounts for adjacent physical locations appearing to be far apart upon truncation because they happen to sit on opposite sides of the imaginary dividing line. E.g. 39.99 deg North looks very far from 40.00 deg North upon truncation
[+] lucb1e|7 years ago|reply
I made this but for prices: I felt like I was subconsciously biased towards products priced just below some boundary. When looking at products, you don't necessarily come across them in order, and the prices are not always round (not just decimally round but I'd also say that 501 bucks is not round). Take the series 931, 900, 942, 878: at a glance (without carefully comparing them) I find it hard to know the relative differences. To solve this, I made this which calculates the relative difference on the scale of 10 to 20: http://lucb1e.com/rp/js/scale.htm

For coordinates, if you have point A at 39.99, point B at 40.00, and point C at 41.00, then this tool will show you that the relative distances are 10, 10.1 and 20. There is a huge gap between B and C, relative to between A and B.

I must say that I was surprised to see that it places B so low (only .1 from the base value), so my subconscious bias already shows!

[+] Gaelan|7 years ago|reply
Out of curiousity, how would you solve that? Seems unavoidable to me.
[+] newscracker|7 years ago|reply
Last time I checked, which was a few months ago, Google Maps couldn’t understand a Plus Code and said it couldn’t find the place. Even at that point in time, this system was supposed to be working for quite sometime and supported by Google.
[+] goodstuff9|7 years ago|reply
Question about this service and what3words- how do they home to gain traction?
[+] mallapur123|7 years ago|reply
I live in India, my code once entered gives a location in Marathon, Greece!
[+] spilk|7 years ago|reply
yet another MGRS
[+] alex_young|7 years ago|reply
Why is this better than geohash?
[+] tgsovlerkhgsel|7 years ago|reply
The main reason is "because Google is behind it so it actually has a chance to become a thing".

Otherwise, they're designed to be unlikely to generate offensive terms, and the + makes it feasible to use a shortened code together with a given or implied city name. Most of the improvements in this space are small details, because turning coordinates into a string is a really simple problem (which also attracts a lot of "let's reinvent this"...)