The mapcode system is an open-source geocode system consisting of two groups of letters and digits, separated by a dot. It represents a location on the surface of the Earth, within the context of a separately specified country or territory. For example, the entrance to the elevator of the Eiffel Tower in Paris is “France 4J.Q2”. As with postal addresses, it is often unnecessary to explicitly mention the country.
The mapcode algorithm defines how a WGS 84 coordinate (a latitude and longitude) can be converted into a mapcode, and vice versa. Mapcodes may be supported on an automotive navigation system. As a unit of Nokia, HERE supported Mapcode, and mapcode locations remain searchable in HERE WeGo, though mapcodes are no longer exposed in the interface nor shareable from the app.
The mapcode system was designed specifically as a free, brand-less, international standard for representing any location on the surface of the Earth by a short, easy to recognize and remember “code”, usually consisting of between 4 and 7 letters and digits. The shortness is the key differentiating factor between mapcodes and other location references; more densely populated areas are designated with shorter (4 character) codes.
The brevity of mapcodes was achieved through a combination of several ideas:
- Codes need only be accurate enough for human, everyday use. On the human scale, when you are within a few meters of a destination, you are "there".
- Shorter codes are possible within the context of a particular territory. For example: there are enough different combinations of 9 digits and letters to give every square meter on the surface of the Earth a different code. But to give every square meter within the Netherlands a unique code, only 6 digits and letters are required.
- Not all codes have to be the same length. Shorter codes are reserved for densely populated areas.
The last idea, especially, yields very good results. For example, although every location within the Netherlands can be identified by a 6-letter mapcode, half of the Dutch population can be found in about 40 cities and densely populated areas that together comprise less than 6,000 square kilometers. By reserving 5-letter mapcodes for these areas, half of the population can thus be reached with 5 mapcode letters. Since human dwellings and businesses are usually the more relevant locations in daily human life, this means that the relevant locations in the Netherlands have 5-letter mapcodes more often than 6-letter mapcodes. In fact, a significant number of people live in the 100 square kilometers of very densely populated city centers of Amsterdam, Rotterdam, The Hague, Eindhoven and Utrecht, which are covered by 4-letter codes. The mapcode system thus defines a population-density-based code division for all (roughly 200) countries on Earth, all (roughly 100) overseas territories, and roughly 240 subdivisions (provinces, states, oblasts, etc.). With the exception of Antarctica and the international waters, few localities on the surface of the Earth require a mapcode longer than 7 letters.
Note that mapcodes can in fact be made arbitrarily precise: at the cost of two extra characters, a mapcode is guaranteed to be less than 25 centimeters from the original coordinate. Every character added increases the accuracy further by a factor of 30. However, the mapcode documentation states that this defeats the key purpose of the mapcode system: to offer the simplest possible codes appropriate for public, every-day use.
The mapcode system was developed in 2001 by TomTom's Pieter Geelen and Harold Goddijn, soon after the GPS satellite signals were opened up for civilian use. It was decided to open source the system using Apache License 2.0 in 2008. The algorithms and data tables are maintained by the Mapcode Foundation, which provides source code and specifications free of charge to any organization that wants to support mapcodes.
The mapcode website notes that the term "Mapcode" is a trademark and that the algorithm is patented, both to prevent "misuse" (defined as producing an incompatible derivative system). As the Apache License provides a patent grant clause, making use of the algorithm via open-sourced code will remain unencumbered as long as all patents are held by the Mapcode Foundation or an associated entity. Mapcode was proposed as an international standard (ISO/TC 221 N4037) in 2015.
- Advanced Mobile Location – Widely implemented caller location for emergency services
- Geographic coordinate system – System to specify locations on Earth
- Geohash – Public domain geocoding invented in 2008
- Grid reference system
- Maidenhead Locator System – Geocode system used worldwide by radio amateurs
- Open Location Code – Encoding of geographic coordinates into a short string of characters and digits, named plus code
- Universal Transverse Mercator coordinate system – System for assigning planar coordinates to locations on the surface of the Earth.
- What3words – Proprietary geocoding system
- "HERE maps joins Mapcode". Nokia.
- "Should Mapcodes Replace G.P.S.?". The New Yorker. Retrieved 3 July 2015.
- "Mapcode reference document".
- Curtis, Sophie (18 July 2014). "Did TomTom founders just kill the postcode?". Telegraph.co.uk. Retrieved 2016-02-12.
- "The end of GPS Selective Availability".
- "Methods and apparatus for identifying geographic locations". Google Patents. 18 October 2012. Retrieved 23 September 2021.
- "Documentation". mapcode.
- "Mapcode - A short address for any location on Earth". Geospatial World. 3 February 2015.