Open Location Code

Last updated • 5 min readFrom Wikipedia, The Free Encyclopedia
Plus Codes logo Plus Codes Logo.svg
Plus Codes logo

The Open Location Code (OLC) is a geocode based on a system of regular grids 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.

Contents

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 (e.g., 849VCWC8+R9) but can often be shortened to only four or six digits when combined with a locality (e.g., CWC8+R9, Mountain View, California). 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 has supported Plus Codes in its search engine. [7] The shortened Plus Code is displayed for a location, may be copied, clicked, or transcribed, and can be entered into the address box (followed by the town or city name if not local and using shortened code) to display the location on the map. The algorithm is licensed under the Apache License 2.0 [8] and is available on GitHub. [9]

Applications

Plus Codes are increasingly being used for addressing purposes in places that aren't well-served by the traditional street address system. This includes the many unnamed streets in Cape Verde, [10] multiple slums in India, [11] [12] [13] and even some Native American reservations in the United States. [14] In Laxmi Nagar, Pune, the nonprofit Shelter Associates used codes to bring delivery services to specific homes and businesses in the slum for the first time in 2020-21. [12] Plus Codes are also being used by the International Rescue Committee in Somalia for immunization and family planning programs. [12]

Specification

The Open Location Code system [15] 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 southwest 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.

Block sizes of Plus Codes [16]
Code length2468+101112131415
Block size20°0.05° (3′)0.0025° (9″)0.000125° (0.45″)0.1125″0.0281″0.0070″0.0018″0.0004″
Real size2,200 km110 km5.6 km280 m11 m × 14 m2.8 m × 3.5 m0.5 m × 0.8 m10 cm × 20 cm2 cm × 5 cm4 mm × 14 mm

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.

Mapping of Plus Codes
Base 10 digit012345678910111213141516171819
Base 20 digit0123456789ABCDEFGHIJ
Code digit23456789CFGHJMPQRVWX

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 eight digits, a plus sign "+" is inserted in the code as a delimiter to aid with visual parsing. After a final pair immediately following the "+" delimiter, any subblocks thereafter are coded in a single code digit as follows:

Division of subblocks in Plus Codes
longitude →
latitude →
RVWX
JMPQ
CFGH
6789
2345

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

Consider, for example, zooming in on the Merlion fountain ( 1°17′12″N103°51′16″E / 1.286785°N 103.854503°E / 1.286785; 103.854503 ) in Singapore, which has Plus Code 6PH57VP3+PR6. It lies in the block around the equator bounded by −10° South and +10° North, and between 100° and 120° East. It has offsets 80° from the South Pole, and 280° from the anti-meridian; or, 4 (=80/20) and 14 (=280/20) as the first base-20 digits, coded as "6" and "P". Thus, the code is "6P". This may be padded as 6P000000+.

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+.

After four further refinements, one lands on Merlion Park as 6PH57VP3+PR.

The next step requires dividing 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".

BASE20 Formula

Alternatively, use formula BASE(Degrees from South or West * power(20, 4) , 20) in any Spreadsheet or Calculator to compute the Plus Code. For the coordinates 1°17′12″N103°51′16″E / 1.286785°N 103.854503°E / 1.286785; 103.854503 from the previous example:

Therefore, the resulting Plus Code is 6PH57VP3+PR6.

Common usage and shortening

It is common to omit the first four characters from the code and add an approximate location, such as a city, state, or country. The above example then becomes 7VP3+PR6 Singapore. This is supported by the Google Maps app and the plus.codes website, and also by non-Google apps. These short forms of Plus Codes can be used in lieu of a house number in a neighborhood.

Shortened codes cannot be unambiguously encoded or decoded without context. The specification does not rely on any specific database of contextual reference location place names and their exact locations, but there are a variety of geocoding databases which map names to latitude and longitude. Disambiguation requires narrowing the possibilities to within about 40 km of the referenced location. The coordinates of the user's current location can be also used for context, if applicable. [17] [18]

Comparison
Ex.Plus CodesValid
digits
Shortened codesPrecisionPoint of interestStreet addressLat/long of centroid
187C4VXQ7+QV10VXQ7+QV, Washington, District of Columbia, USA6 digits

(14 m)

Washington Monument2 15th St NW, Washington, DC 20024, United States38.889437,-77.035313
29C3XGV3C+8X10GV3C+8X, London, United Kingdom6 digits

(14 m)

10 Downing Street10 Downing St, London SW1A 2AA, United Kingdom51.503312,-0.127562
37GHXG559+4VQ11G559+4VQ, Al-Baghdadiyah Al-Gharbiyah, Jeddah, Saudi Arabia7 digits

(3.5 m)

Jeddah FlagpoleKing Abdullah Bin Abdulaziz Square, Al-Baghdadiyah Al-Gharbiyah, Jeddah 22231, Saudi Arabia21.507813,39.169688
48FWMQRCQ+JRV11QRCQ+JRV, Schwarzenberg am Böhmerwald, Austria7 digits

(3.5 m)

Tri-Border Czechia/Austria/GermanyTri-Border, 4164 Schwarzenberg am Böhmerwald, Austria48.771613,13.839547
58Q7XMP52+J7CC12MP52+J7CC, Shibuya, Tokyo, Japan8 digits

(87 cm)

Hachikō Memorial Statue2 Chome-1 Dogenzaka, Shibuya, Tokyo 150-0043, Japan35.659063,139.700688
637QH5M6Q+54X3X135M6Q+54XYX, Ushuaia, Tierra del Fuego Province, Argentina9 digits

(22 cm)

---54.83952050, -68.31214160
76G8RJMMW+9V9V9V14JMMW+9V9V9V, Arusha, Tanzania10 digits

(5 cm)

---3.36657810, 36.69723315
86P58QRJ3+H25FGFG15QRJ3+H25FGFG, Jakarta, Indonesia11 digits

(14 mm)

---6.21861250, 106.80260626

References

  1. "Plus Codes" . Retrieved 3 November 2018.
  2. "Open Location Code". Openlocationcode.com. Archived from the original on 1 March 2018.
  3. See Open Location Code GitHub and Open Location Code forum.
  4. The Open Location Code website provides an overview. The document "An Evaluation of Location Encoding Systems" provides a rationale.
  5. Rinckes, Doug; Bunge, Philipp (30 September 2014). Open Location Code: An Open Source Standard for Addresses, Independent of Building Numbers And Street Names (Report). GitHub.
  6. Rinckes, Doug (30 April 2015). "Open Location Code: Addresses for everything, everywhere". Google-opensource.blogspot.ch.
  7. Šrámek, Rasťo (12 August 2015). "Plus codes: A new way to help pinpoint places on the map". Google-latlong.blogspot.in.
  8. "google/open-location-code". GitHub.com. Retrieved 3 November 2018.
  9. "google/open-location-code". GitHub.com. Retrieved 3 November 2018.
  10. "Delivering mail where the streets have no name". Google Africa Blog. December 1, 2016.
  11. "Plus Codes | Addressing in Kolkata" via YouTube.
  12. 1 2 3 Shoma Abhyankar. ""Addressing India's Slums"". MIT Technology Review . Vol. 124, no. 3, May/June 2021. p. 25.
  13. Pathak, Sushmita (July 15, 2022). "The Address of the Future". Reasons to be Cheerful.
  14. Podmore, Zak (2019-10-25). "The Navajo Nation is getting addresses, thanks to an open-source mapping program used in urban India". The Salt Lake Tribune.
  15. "google/open-location-code". GitHub. Retrieved 3 November 2018.
  16. "open-location-code/Documentation/Specification/specification.md at main · google/open-location-code". GitHub. Retrieved 2025-01-08.
  17. Kegel, Mark (2019-09-24). "What's Wrong with Open Location Code? - QA Locate" . Retrieved 2022-11-07.
  18. "Open Location Code: An Open Source Standard for Addresses, Independent of Building Numbers And Street Names". GitHub . 2019-04-21. Retrieved 2022-11-25.