The Open Location Code (OLC) is an encoding system for coordinates to identify any area, location and address around the world.
OLC was developed in an engineering office associated with Google in Zurich and published at the end of 2014.
It is noteworthy that this coordinate system can be used privately and commercially without any licensing requirements or costs.
Soon the term "Plus Code" was used because of the plus sign contained in each Open Location Code.
For simplicity, this designation will be retained in the following text.
The article describes the syntactic structure of the Plus Code, some special features and the pros and cons of this coordinate system. Meanwhile there are some variants of the Plus Code, which are explained in detail here. Finally, the author gives instructions on how to convert between the variants of the Plus Code and other coordinate systems.
The Plus Code is intended to simplify navigation by its logical structure and compact spelling. A further goal in the development was the creation of a possibility to replace postal addresses worldwide in single-line notation.
Fig. 1: Now findable! Plus Codes should also be able to address places for which there are no postal attributes. In many countries of the world there are places without names and streets without house numbers, which can now be uniquely identified and found thanks to the Plus Codes. For example, a Plus Code can be used to find a remote polar station just as easily as a hut on a deserted island.
As already mentioned, the simple spelling and the logical structure of the Plus Code is quite important. With sequences of two upto 15 letters and digits, area rectangles can be defined with increasing accuracy. 20 different characters are permitted, which cannot be confused with each other. Thus, every place in the world and every address can be located with a code of only 10 characters in length with an accuracy of 10 to 20 meters. The 10-digit notation is common because, as with a postal address, each individual house can be uniquely identified. For more precise requirements, up to 15 characters in Plus Code are possible. This means that the accuracy is already in the centimetre range, which will rarely be used for Plus Codes. In principle, Plus Codes are a different spelling for geographic coordinates. They are always and exclusively mapped in the geodetic reference system WGS84. This has the advantage that Plus Codes can be converted into GPS coordinates quite easily and can be found locally with a portable navigation device.
Plus Codes have been used for some time in the map service Google Maps and other online services. They are already ubiquitous in Google Maps, but are overlooked or ignored by many users In the meantime, the Plus Code enjoys a high level of acceptance and is already used in some countries for addressing or as postal code system. Nevertheless, it has to be said that something similar have existed for a long time, e.g. UTMref (MGRS), NAC-Code, GEOREF and QTH (Maidenhead).
Fig. 2: Postal address and Plus Code in Google Maps On the right you can see an excerpt from a Google Maps view showing the Plus Code of the author's location. However, there is the special feature that instead of the first four characters of the Plus Code a place name in the form "9FW2+W7 Kempen" is used. But the complete Plus Code with an accuracy of about 15 meters for KilletSoft's location is "9F389FW2+W7". Both formats can be used in Google Maps, Google Earth, and other map services to locate the location. But more about that later.
The structure of the Plus Code is explained here using the above example. The Plus Code 9F389FW2+W7 corresponds to the latitude of N 51° 23' 50,325" and the longitude of E 06° 27' 02,475" in the geodetic reference system WGS84. In decimal notation, the coordinates are 51.3973125 degrees north latitude and 6.4506875 degrees east longitude.
The above meter specifications of the rectangles assigned to the Plus Codes are correct for the example coordinate used here.
In fact, the meter measurements for the west/east extension of the rectangles for other places in the world vary according to latitude.
But the south/north extension of the rectangles is always the same.
The blue marked four characters represent according to Google the "Area Code", which defines an area measuring 1 x 1 degree. The orange characters indicate the "Local Code", which is normally sufficient for the definition of an address. The red characters define the refinement beyond the Local Code, which the author calls "Precision Code".
A Plus Code is at least eight characters long. Unused characters are padded with the fill character "0". This is followed by the obligatory plus sign. A maximum of seven subsequent optional characters are used to increase the resolution.
The plus sign is quasi the trademark of the Plus Code and serves to distinguish it from other codes. In a complete Plus Code, it is always behind the eighth character, so at the ninth position. Only in the case of abbreviated Plus Codes (see below), where the Area Code is replaced by a place name, the plus sign after is the fourth character, so at the in fifth place. Plus Codes with lower accuracy must be completed with the filling character zero in front of the plus sign at the ninth position. The filling characters highlighted in yellow have no influence on the location and resolution of the Plus Code.
Google has introduced so-called abbreviated Plus Codes, in which the Area Code, meaning the first four characters, is replaced by a place name. Optionally the place name can be supplemented by a country name.
The advantage is that an address within or near a place can be described with only six characters, which can be easily remembered.
Unfortunately, abbreviated Plus Codes have the disadvantage that they are not suitable for mathematical calculations. They cannot be stored well in tables and databases because the character length of the place names varies. The spelling of the place name must be observed, which may vary from country to country. In addition, abbreviated Plus Codes are not unique, since many places with the same place name occur more than once. Thus the place name Neustadt is used thirteen times in Germany. Mühlhausen still occurs five times, as a town district even 25 times. The position of the coordinates cannot be compared using the abbreviated Plus Code, since the first four characters are significant for the wide-area position.
The three towns Kempen, Tönisvorst and Wachtendonk are only 10 kilometres apart. If one does not know the locations of these places, one cannot recognize the neighborly closeness by the abbreviated Plus Codes. In contrast, the complete Plus Codes shown on the right immediately indicate that their positions are close to each other using the same four-character Area Codes.
The three entries shown here for places called Neustadt do not show whether they are the same town or different towns. In fact, the Plus Codes are located in different towns, namely in "Neustadt an der Weinstraße", "Neustadt am Rübenberge" and "Neustadt an der Waldnaab". That the places are far away from each other is not apparent from the abbreviated Plus Codes. In contrast, the complete Plus Codes shown on the right immediately show that these positions are far apart by means of the different four-character Area Codes.
Fig. 6: Geographical coordinates in Google Maps To supplement abbreviated Plus Codes to complete Plus Codes or to replace them with complete Plus Codes you need the geographical coordinates of the town. Here the author gives a short instruction how to get them for a point in Google Maps:
In the Google Maps search box, type the town or place from which you need the geographical coordinates. Click with the right mouse button on the location of the map from which the geographical coordinates are to be determined. In the context menu that now appears, click on the menu item "What is here". At the bottom of the screen, Google Maps shows information about the location. Below the postal address you will find the geographical coordinate as latitude and longitude. In the left information window of Google Maps you will find the abbreviated Plus Code.
Fig. 7: Abbreviated Plus Code Now the Area Code, thus the first four characters of the Plus Code, must be generated from the geographical coordinate. For this you can use online converters from the Internet. But you have to be careful, because according to the author's experiences some online calculators are not very reliable or even faulty.
Fig. 8: TRANSDATpro Area Code An alternative is the program TRANSDATpro by KilletSoft, which can convert geographical coordinates precisely into Plus Codes. The program has been especially developed for worldwide high-precision coordinate transformations. A free trial version is available for download from the internet.
Note: By clicking in the areas of Figures 8 and 9 you will get larger, more legible pictures. Here the author gives a short instruction for generating Plus Codes with TRANSDATpro:
After the easily done installation, start the program with a double click on the program icon. Set the coordinate reference systems for the source coordinates (left) and for the target coordinates (right) exactly as shown in Figure 8. Enter the longitude and latitude of the geographic coordinate in the input fields for the source coordinates and click on the "Calculate target coordinates" button.
Fig. 9: TRANSDATpro Plus Code As target coordinate now you get a Plus Code with the four-character Area Code. You can combine this with the abbreviated Plus Code from Google Maps to get a complete Plus Code.
With the program TRANSDATpro complete Plus Codes can be generated directly by using the geographical coordinates. Figure 9 shows the options provided by the program for calculating Plus Codes. The Plus Code options are listed below each with an example. The last two options can be used to determine the Area Codes in two-digit or four-digit format. The attributes "Center" and "SW-Corner" have no effect on the conversion of any coordinate systems into Plus Codes. They are only relevant for calculations in reverse order, namely for the conversion of Plus Codes into any other coordinate system. In this case, the option with the attribute "Center" calculates coordinates in the center of the coordinate rectangle described by the Plus Code. In contrast the option with the addition "SW-Corner" calculates the coordinates at the southwestern corner of the coordinate rectangle.
Plus Code is a good innovation if you don't have to calculate with this coordinates and they don't have to be stored as geodata.
That's why the author wants Google Maps and other map services not to display shortened Plus Codes, but the complete Plus Codes, which are only four characters longer.
Fig. 10: Complete Plus Code One could still add the appropriate place name and also use it for place searchig in the map services.
Fig. 11: Both Plus Codes The Google display of the postal address and the Plus Code would then look similar to the fictitious display in Figure 10. It would also be conceivable that both variants, abbreviated and complete Plus Codes, would be displayed together. In Figure 11, the author has presented this possibility fictitiously. For the search of locations on Google Maps and other map services should still be possible to use both shortened and full Plus Codes.
The already mentioned program TRANSDATpro executes coordinate transformations very fast and with high accuracy.
The program can convert Plus Codes to any other coordinate reference system.
It can conversely also calculate Plus Codes from coordinates of any coordinate reference system.
In addition, thousands of coordinate systems, geodetic reference systems and datum transitions are supported worldwide.
For file-based coordinate transformations, the program reads and writes the file formats Text, CSV, SDF, dBase, Arc-Shape, Arc-Generate, KML and GPX.
The conversion of Plus Codes and other coordinate transformations can also be integrated into your own programs with the Geodetic Development Kit GeoDLL. Free trial versions are available for download on the KilletSoft website.
Dipl.-Ing. Fred Killet
47906 Kempen (Germany)