11
Aug

Plus Code Frequently Asked Questions

A propos a recent discussion on the talk list.

So what is this plus code stuff anyway?

Plus Codes, or “Open Location Code”, is essentially a coordinate system. A location on the surface of the Earth is converted to a sequence of letters and numbers so that it can be identified. It’s just like using latitude and longitude, or an easting and northing in other coordinate systems. Because it uses letters as well as numbers, it needs fewer characters overall to identify a point to the same precision compared to a lat/lon pair.

Why do people call it an “address” then?

That is just for marketing. Systems like this are often advocated as having the ability to “give addresses to people who had none before”. Of course these people had a location before, so you need to use a different word. A plus code is definitely not an address, it is a coordinate (pair) – just like its main competitor, “what three words”, which uses three words to encode a location instead of a sequence of letters and numbers. In both cases the coordinate pair has been polished to look nicer but it’s still a coordinate pair. It can be used to pinpoint a location on the ocean or in the deepest uninhabited wilderness – as well as the house where you live.

You mentioned “what three words”…

Yes, but I won’t give it any more airtime here. In comparison to “plus codes”, which openly licensed, “what three words” is a business secret of a company that intends to monetarize the concept of location. There are a few other subtle differences but they are not fundamental – both systems can convert a given location to a character sequence and vice versa.

Is “giving people an address” a worthy humanitarian goal?

In so called first-world countries, addresses are an essential part of everyday life as a citizen and consumer. Your participation in a democratic state and your participation in the economy either depend on having an address, or are at least made much easier by it. Many countries in the developing world don’t have well-established addressing systems, at least not ouside of larger cities. Humanitarians will say that giving people addresses will make their life better and they will list examples from the fields of health, citizenship, or education. Critics will say that the motivation to make people “addressable” is essentially to make them consumers in the global economy – so that even the poorest people on the planet can finally order plastic-wrapped trinkets from Ali Baba. There’s probably some truth in both statements. Forcing addresses onto people who have lived without them for centuries smacks of cultural imperialism, but then again, if an organisation wants to help everyone get their MMR vaccine and that orgainisation says “we can do this better if we have addresses” – maybe a little cultural imperialism saves lifes. For an over-the-top exhortation of why “giving people an address” is good, view a “what three words” clip. For a critical perspective, read Christoph Hormann’s “Imagico” blog. (Christoph has won an award for influential writing at this year’s State of the Map conference, and rightfully so.)

(Plus codes, of course, are not addresses but just a form of coordinates, as I explained above. Even so, many humanitarians seem to have the vision of putting address signs with plus codes on every house, where they for some reason could never have imagined putting signs with latitude and longitude.)

Can everything that is a worthy humanitarian goal be done with OSM?

No, of course not. OSM is a database of user-contributed, verifiable geodata. There are many things that can save lifes but for which OSM is nonetheless the wrong place. For example, having reviews of doctors in OSM could save lifes because it might help people to find out if they are doing business with a charlatan, but OSM only does verifiable facts, so reviews are out. Not everything that is good, is also good in OSM.

But plus codes are verifiable, so we can use them in OSM?

Since plus codes are a computational transformation of coordinates (which we already have in OSM) into a character sequence, or vice versa, every user interface can be made to use plus codes. For example, when you type a plus code in a search bar on a web map, it could apply the algorithm and take you to the place identified by the code, or you could click on a location in a web map and you could have the plus code computed and displayed for you. You have to implement this once for every interface – e.g. also for a mobile app that you wish to use – and then it will immediately work world-wide.

I was thinking of adding tags to buildings, specifying their plus code.

Bad idea, for a number of reasons. If you did that, you would still have to modify the user interfaces to display your tag when a building is clicked, or search for your tag when the search bar is used. But at the same time, you’d burden OSM with unnecessary location tags (since the plus code could be computed from what is already there), and what’s most important, your method would only work for those locations where you have added the codes!

Ok, then what about adding address nodes with plus codes?

Same issue – unnecessary duplication of data. And in order to match the power of adding plus codes to the UI, you’d have to add 82 trillion points to OSM, that’s how many different codes there are.

Maybe I can add plus code tags for just a small village then, to try it out.

It doesn’t make sense on a large scale, and it doesn’t make sense on a small scale either. You can go around and stick signs with plus codes on houses if you want but adding them to OSM is not a good idea.

Perhaps I can find a local community who WANT me to add plus code tags to OSM for them.

Sure, if you lie to them and tell them adding plus code tags was the best way to get their vaccines faster or something. But would it behoove a humanitarian to exploit the lack of knowledge of those they are helping?

But I have just been given funding for a three-month project to give addresses to a particular vulnerable communitiy, and now you’re saying I can’t do it?

Instead of using your funding to compute plus codes and add tags to buildings, use your funds to develop plus code support for whatever user interface your target group is utilizing. Some mobile apps already have plus code support (e.g. OSMAnd), so if your target group uses that, the problem is solved already and the money can be spent saving lives elsewhere. If your target group wants to use an on-line web site, build an OpenLayers or Leaflet OSM map display with plus code support – it can be done in a day thanks to existing libraries. If your target group wants plus codes shown on printed maps, and if you use a Mapnik based toolchain to make these maps, you can generate plus codes on the fly in PostGIS. All this work you’ll be doing will benefit every vulnerable community on the planet. (As long as you are convinced that “giving them addresses” is actually a worthy goal, and that plus codes are good enough for that.)

La la la I am not listening to you, you won’t stop me because I am doing a good thing!

Sigh.