Open Location Code - Wikipedia
Open Location Code - Wikipedia
The Open Location Code (OLC) is a geocode system for identifying an area anywhere on the
Earth.[1]
It was developed at Google's Zürich engineering office,[2] and released late October
2014.[3] Location codes created by the OLC system are referred to as "plus codes".
Open Location Code is a way of encoding location into a form that is easier to use than
showing coordinates in the usual form of latitude and longitude. Plus codes 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.[4]
Plus codes are derived from latitude and longitude coordinates, so they already exist
everywhere.[5] They are similar in length to a telephone number – 849VCWC8+R9, for
example – but can often be shortened to only four or six digits when combined with a locality
(CWC8+R9, Mountain View). Locations close to each other have similar codes. They can be
encoded or decoded offline. The character set avoids similar looking characters, to reduce
confusion and errors, and avoids vowels to make it unlikely that a code spells existing words.
Plus codes are not case-sensitive, and can therefore be easily exchanged over the phone.[6]
Since August 2015, Google Maps supports plus codes in its search engine.[7] The algorithm
is licensed under the Apache License 2.0.[8] and available on GitHub.[9]
Google states that plus codes are accepted as postal addresses in Cape Verde,[10] parts of
Kolkata,[11] and the Navajo Nation.[12]
Specification
The Open Location Code system[13] is based on latitudes and longitudes in WGS84
coordinates. Each code describes an area bounded by two parallels and two meridians out of
a fixed grid, identified by the South-West corner and its size. The largest grid has blocks of 20
by 20 degrees (9 rows and 18 columns), and is divided in 20 by 20 subblocks up to four
times. From that level onwards division is in 5 by 4 subblocks. The table shows the various
block sizes at their maximum near the equator. The block width decreases with distance
from the equator.
The full grid uses offsets from the South Pole (–90°) and the antimeridian (–180°) expressed
in base 20 representation. To avoid misreading or spelling objectionable words, the encoding
excludes vowels and symbols that may be easily confused with each other. The following
table shows the mapping.
Code digit 2 3 4 5 6 7 8 9 C F G H J M P Q R V W X
The code begins with up to five pairs of digits, each consisting of one digit representing
latitude and one representing longitude. The biggest blocks have just two digits. After 8
digits, a plus sign "+" is inserted in the code as a delimiter to aid with visual parsing. After 10
digits at each subdivision, subblocks are coded in a single code digit as follows:
Division of subblocks in Open Location Codes
→ longitude →
R V W X
latitude
J M P Q
C F G H
6 7 8 9
2 3 4 5
Areas larger than an 8-digit block can be specified by replacing an even number of trailing
digits before the + sign with the digit 0, with nothing after the + sign.
Example
Now, refine this block to a subblock between 1° and 2° N and 103° and 104° E. This adds 11°
and 3° to the SW corner. So the base-20 coordinate codes added are "H" and "5". The result is
padded to 6PH50000+ (http://plus.codes/6PH50000+) .
After four further refinements, one lands on Merlion park as 6PH57VP3+PR (http://plus.code
s/6PH57VP3+PR) .
The next step requires us to divide the square so far used, to refine the position into a 4-by-5
grid, and finding the cell to which the coordinates are pointing. This is the cell named "6".
Therefore, the resulting Open Location Code is: 6PH57VP3+PR6 (http://plus.codes/6PH57VP
3+PR6) .
Common usage
When using the code in conjunction with Google Maps or Google's site Plus.codes (http://plu
s.codes/) , it is common to omit the first 4 characters from the code and add an
approximate location, such as a city, state, or country. The above example, then, becomes
7VP3+PR6 Singapore (http://plus.codes/7VP3+PR6%20Singapore) . Care must be taken to
assure that the given location name is specific enough to determine the correct general
region on the globe. Map applications may use the device's location to disambiguate
abbreviated codes.
References
5. Specification: "Open Location Code: An Open Source Standard for Addresses, Independent of Building
Numbers And Street Names" (https://github.com/google/open-location-code/blob/main/docs/olc_de
finition.adoc)
7. "Plus codes: A new way to help pinpoint places on the map" (http://google-latlong.blogspot.in/2015/0
8/plus-codes-new-way-to-help-pinpoint.html) . Google-latlong.blogspot.in. Retrieved 3 November
2018.
8. "google/open-location-code" (https://github.com/google/open-location-code/blob/main/LICENSE) .
GitHub.com. Retrieved 3 November 2018.
12. "The Navajo Nation is getting addresses, thanks to an open-source mapping program used in urban
India" (https://www.sltrib.com/news/2019/10/25/navajo-nation-is-getting/) . The Salt Lake Tribune.
2019-10-25.
External links