From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

A geocode is a code that represents a geographic entity (location or object). It is an unique identifier of the entity, to distinguish it from others in a finite set of geographic entities. In general the geocode is a human-readable and short identifier.

Typical geocodes and entities represented by it:

  • Postal code. Polygon of a postal area: a CEP code (e.g. 70040 repersents a Brazilian's central area for postal distribution).

Geocodes are mainly used (in general as an atomic data type) for labelling, data integrity, geotagging and spatial indexing.

In theoretical computer science a geocode system is locality-preserving hashing function.


Geocode cells of Geohash, with 8 (blue) and 9 (yellow) digits, a typical hierarchical grid, comparing with latitude-longitude (12 or more digits). A museum is a typical location to be pointed by a geocode, its gate need ~20 meters of precision.

There are some common aspects of many geocodes (or geocode systems) that can be used as classification criteria:

  • onwership: proprietary or free, differing by its licences.
  • formation: the geocode can be originated from a name (ex. abbreviation of official name the country) or from mathematical function (encoding algorithm to compress latitude-longitude). See geocode system types below (of names and of grids).
  • covering: global or partial. The entities (represented by the geocodes) are in all globe (e. g. geographical points) or is delimited the theme (e.g. only terrestral areas) or by the onwership's jurisdiction (e.g. only into a country).
  • type of the represented entity: type of geometry. Point (the geocode can be translated to a Geo URI), grid cell (the geocode system is related with a DGG) or polygon (typically administrative boundaries delimitations).
  • scope of use: general use vs specialized (e.g. airport geocodes).

Geocode system[edit]

The set of all geocodes used as unique identifiers of the cells of a full-coverage of the geographic surface (or any well-defined area like a country or the oceans), is a geocode system (also named geocode scheme). The syntax and semantic of the geocodes are also components of the system definition:

  • geocode syntax: the characters that can be used, blocks of characters and its size and order. Example: country codes use two letters of the alphabet (chacacter set A-Z). The most commom way to describe formally is by regular expression (e.g. /[A-Z]{2,2}/).
  • geocode semantic: the meaning of the geocode, usually expressed by associating the code with a geographical entity type. Can be described formally is by an ontology, an UML class diagram or any Entity-relationship model.
    In general the semantic can be deduced by its formation or encoding/decoding process. Example: each Geohash code can be expressed by a rectangular area in the map, and the rectangle coordinates is obtained by its decoding process.

Many syntax and semantic characteristics are also summarized by classification.

Encode and decode[edit]

Any geocode can be translated from a formal (and expanded) expression of the geographical entity, or vice-versa, the geocode translated to entity. The first is named encode process, the second decode. The actors and process involved, as defined by OGC,[3] are:

A software agent that transforms the description of a geographic entity (e.g. location name or latitude/longitude coordinates), into a normalized data and encodes it as a geocode.
geocoder service
A geocoder implemented as web service (or similar service interface), that accepts a set of geographic entity descriptors as input. The request is "sent" to the Geocoder Service, which processes the request and returns the resulting geocodes. More general services can also return geographic features (e.g. GeoJSON object) represented by the geocodes.
Geocoding refers to the assignment of geocodes or coordinates to geographically reference data provided in a textual format. Examples are the two letter country codes and coordinates computed from addresses.
Note: when a physical addressing schemes (street name and house number) is expressed in a standardized and simplified way, it can be conceived as geocode. So, the term geocoding (used for addresses) sometimes is generalized for geocodes.

In spatial indexing applications the geocode can also be translated between human-readable (e.g. hexadecimal) and internal (e.g. binary 64-bit unsigned integer) representations.

Systems of standard names[edit]

Main article: toponym resolution.

Geocodes like country codes, city codes, etc. comes from a table of official names and the corresponding official codes. "Official" in the context of control and consensus, typically a table controlled by a standards organization. So, the most general case is a table of standard names and the corresponding standard codes.

Strictly speaking, the "name" related to a geocode is a toponym, and the table (e.g. toponym to standard code) is the resource for toponym resolution: is the relationship process, usually effectuated by a software agent, between a toponym and "an unambiguous spatial footprint of the same place"[4]. Any standardized system of toponym resolution, having codes or encoded abbreviations, can be used as geocode system. The "resolver" agent in this context is also a geocoder.

Hierarchical naming[edit]

Geocodes based on standard systems of hierarchical naming, mainly hierarchical administrative subdivision codes (HASC), are codes to represent names of country subdivisions, such as states, province, regions. They are described in the book Administrative Subdivisions of Countries: A Comprehensive World Reference, 1900 Through 1998, written by Gwillim Law.[5] and other sources.[6]

The codes are alphabetic and have constant length for the first level subdivisions. Examples:

DE - Germany. A simple geocode.
DE.NW - North Rhine-Westphalia. A two-level hierarchical geocode.
DE.NW.CE - Kreis Coesfeld. A 3-level hierarchical geocode.

Two geocodes of an hierarchical geocode system with same prefix represents different parts of the same location. For instance DE.NW.CE and DE.NW.BN represents geographically interior parts of DE.NW, the commom prefix.

Systems of regular grids[edit]

Each cell of a regular grid represents a geocode. The non-global grids were the most used before 2000s.
This hierarchical system of local grids, used since 1930s as British National Grid, generates hierarchical geocodes. Each cell subdivides recurrently its area into a new 10x10 grid.
Main article: DGG geocoding variants.

Inspired in the classic alphanumeric grids, a discrete global grid (DGG) is a regular mosaic which covers the entire Earth's surface (the globe). The regularity of the mosaic is defined by the use of cells of same shape in all the grid, or "near the same shape and near same area" in a region of interest, like a country.

All cells of the grid have an identifier (DGG's cell ID), and the center of the cell can be used as reference for cell ID conversion into geographical point. When a compact human-readable expression of the cell ID is standardized, it becomes a geocode.

Geocodes of different geocode systems can represent the same position in the globe, with same shape and precision, but differ in string-length, digit-alphabet, separators, etc. Non-global grids also differ by scope, and in general are geometrically optimized (avoid overlaps, gaps or loss of uniformity) for the local use.

Hierarchical grids[edit]

Each cell of a grid can be transformed into a new local grid, in a recurring process. In the illustred example, the cell TQ 2980 is a sub-cell of TQ 28, that is a sub-cell of TQ. A system of geographic regular grid references is the base of a hierarchical geocode system.

Two geocodes of an hierarchical geocode grid system can use the prefix rule: geocodes with same prefix represents different parts of the same broader location. Using again the side illustration: TQ 28 and TQ 61 represents geographically interior parts of TQ, the commom prefix.

Hierarchical geocode can be splitted into keys. The Geohash 6vd23gq is the key q of the cell 6vd23g, that is a cell of 6vd23 (key g), and so on, per-digit keys. The OLC 58PJ642P is the key 48 of the cell 58PJ64, that is a cell of 58Q8 (key 48), and so on, two-digit keys. In the case of OLC there is a second key schema, after the + separator: 58PJ642P+48 is the key 2 of the cell 58PJ642P+4. It uses two key schemas. Some geocodes systems (e.g. S2 geometry) also use initial prefix with non-hierarchical key schema.

In general, as technical and non-compact optional representation, geocode systems (based on hierarchical grids) also offer the possibility of expressing their cell identifier with a fine-grained schema, by longer path of keys. For example, the Geohash 6vd2, which is a base32 code, can be expanded to base4 0312312002, which is also a schema with per-digit keys. Geometrically, each Geohash cell is a rectangle that subdivides space recurrently into 4 new rectangles, so, base4 is the encoding-expansion limit.[7]

The uniformity of shape and area of cells in a grid can be important for other uses, like spatial statistics. There are a standard way to build a grid covering all globe with cells of equal-area, regular shape and other properties: Discrete Global Grid System (DGGS) is a series of discrete global grids satisfying all standardized requirements defined in 2017 by the OGC.[8] When human-readable codes obtained from cell identifiers of a DGGS are also standardized, it can be classified as DGGS based geocode system.

Name-and-grid systems[edit]

There are also mixed systems, using a syntactical partition, where for example the first part (code prefix) is a name-code and the other part (code suffix) is a grid-code. Example and counterexample:

  • Mapcode entrance to the elevator of the Eiffel Tower in Paris is FR-4J.Q2, that can be expanded to “France 4J.Q2”, FR is the name-code[9] and 4J.Q2 is the grid-code. Semantically France is the context, to obtain its local grid.
  • OLC, a global grid, can be used with names in the Plus.Codes API, so "Paris, France V75V+GQ" is a PlusCode — the name-prefix is translated by the API to a code-prefix "8FW4" forming a valid OLC 8FW4V75V+GQ — but, strictly speaking not a geocode, because "Paris, France" is not a code.

For mnemonic coherent semantics, in fine-grained geocode applications, the mixed solutions are most suitable.

Cataloged examples[edit]

This section lists most of the geocodes cataloged on Wikipedia, and shows a summarized description of each, based on the classification section.

In use, general scope[edit]

Geocodes in use and with general scope:

Geocode Inception Coverage Formation Ownership Rep. entity Context and description
ISO 3166 (alpha-2 and alpha-3) 1974 globe/only nations Name abbreviation free polygon Administrative divisions. Country codes and codes of their subdivisions. Two letters (alpha-2) or three letters (alpha-3).
ISO 3166-1 numeric 1970 globe/only nations Serial number free polygon Administrative divisions. Country codes expressed by serial numbers.
UN M.49 ~1970 globe/only nations Serial number free polygon Administrative divisions. region codes, area code, continents, countries (re-using ISO 3166-1 numeric codes).
Geohash 2008 globe encode(latLon,precision) free grid cell Hash notation for locations. See also Geohash-36.
Open Location Code (OLC) 2014 globe encode(latLon,precision) free grid cell See also PlusCodes.
What3words 2013 globe encode(latLon) patented grid cell patent-restrictions system, converts 3x3 meter squares into 3 words [10]. It is in use at Mongol Post.[11]
Mapcode 2001 globe encode(latLon) patented point A mapcode is a code consisting of two groups of letters and digits, separated by a dot.

In use, alternative address[edit]

Geocodes in use, as address, replacing official street name and/or house number when it not exists. To be used in poor areas, favelas, and people or places that don't have address.

Technically a geocode can be used as alternative address when it have an exact translation to a Geo URI. Even when geocode is not official, the use as "local standard" allow homes to receive deliveries, access emergency services, register to vote, etc.

Geocode Inception Coverage Formation Onwership Rep. entity Context and description
Local OLC (Cape Verde) 2016 globe encode(latLon,precision) free grid cell OLC is used to provide postal services.[12]
Eircode (Ireland) 2014[13] Ireland encode(latLon,precision) copyrighted[14] grid cell It is used officially as alternative address and as postal code. Limited database and algorithm access. It is a kind of fine-grained postal code.

In use, postal codes[edit]

Geocodes in use, as postal codes. A geocode recognized by Universal Postal Union and adopted as "official postal code" by a country, is also a valid postal code. Not all postal codes are geographic, and for some postal code systems, there are codes that are not geocodes (e.g. in UK system). Samples, not a complete list:

Geocode Inception Coverage Formation Onwership Rep. entity Context and description
CEP (Brazil) 1970? cities or streets Hierarchical serial number proprietary (variable) ... The CEP5 is geographic and CEP8 can be a city (polygon), a street (also street side or a fragment of street side) or a point (specific address).
Postal Index Number (India) ? postal regions Hierarchical serial number? proprietary? (undefined?) ...
ZIP Code (United States) ? postal regions Hierarchical serial number? proprietary? (undefined?) ...

In use, telephony and radio[edit]

Geocodes in use for telephony or radio broadcasting scope:

In use, others[edit]

Geocodes in use and with specific scope:

Geocode Inception Scope Coverage Formation Onwership Rep. entity Context and description
ONS code 2001 UK only UK/themes Serial number free polygon Administrative divisions. Geographical areas of the UK, for use in tabulating census.
NUTS area code 2003 EU only Europe Hierarchical free polygon Administrative divisions. Partially administrative, worldwide (countries) and Europe (country to community)
MARC country codes 1971 USA only? globe/only nations Name abbreviation free polygon Administrative divisions. Country codes.
SGC codes ? Canada only ? Serial number free polygon Administrative divisions, numeric codes. ... Statistical, like ONS.
UN/LOCODE ? trade and transport globe Serial number free polygon Administrative divisions. UN codes for trade and transport locations.
IATA airport codes 1930s airport globe ? free polygon Administrative divisions. area /point codes, airports and 3-letter city codes
ICAO airport codes 1950s airport globe ? free polygon Administrative divisions.area /point codes, airports
IANA country codes 1994 Internet globe ? free polygon Administrative divisions. Similar to ISO 3166-1 alpha-2, see Country code top-level domain, List and Internationalized country codes.
IOC country codes ~1960 Sport globe abbreviation free polygon Administrative divisions. Codes of IOC members; uses three-letter abbreviation country codes, like ISO 3166-1 alpha-3.
Longhurst code ? Environment globe ? free polygon Administrative divisions. A set of four-letter codes used in ecological/geographic regions in oceanography.
FIFA country code ? sport/football global ? free polygon Administrative divisions.
FIPS country codes 1994? scope U.S. ? free polygon Administrative divisions. (FIPS 10-4) area code.
FIPS place codes ? U.S. place ? free polygon (FIPS 55). Administrative divisions.
FIPS country codes ? U.S. globe/nations ? free polygon (FIPS 6-4). Administrative divisions
FIPS state codes ? U.S. ? ? free polygon (FIPS 5-2). Administrative divisions

Historical or less used[edit]

Geocode Inception Scope Coverage Formation Onwership Rep. entity Context and description
HASC ? general nations and subdivs. Name abbreviation free polygon Administrative divisions. HASC stands "Hierarchical Administrative Subdivision Codes".
UTM Zone ? general ? ? free polygon ?
UTM Grid Zones ? general ? ? free polygon based on UTM Zones, and Latitude bands of MGRS..
WMO squares ~2005? Meteorology globe grid free polygon ... replaced by modern DGGS's ...
C-squares ? general ? ? free polygon compact encoding of geographic coordinate bounds (latitude-longitude). Use WMO squares.
GEOREF ? general ? ? free polygon World Geographic Reference System, a military / air navigation coordinate system for point and area identification
GARS ~2007? general ? ? free polygon reference system developed by the National Geospatial-Intelligence Agency (NGA)
MGRS ~1960s general ? ? free grid cell Military Grid Reference System. Derived from UTM and UPS grids by NATO with a unique naming convention.

Other examples[edit]

See also[edit]


  1. ^ The OGS's standard "Discrete Global Grid Systems" definition.
  2. ^ For internet formats and protocols, the WGS84 is de facto and de juri standard: see geo URI protocol, GeoJSON, GML and KML formats.
  3. ^ Definitions of the OGC's "Glossary of Terms".
  4. ^ DeLozier, Jochen L. (2007). Toponym resolution in text: annotation, evaluation and applications of spatial grounding (PhD). University of Edinburgh.
  5. ^ Gwillim Law (2016). Administrative Subdivisions of Countries: A Comprehensive World Reference, 1900 Through 1998. ISBN 0-7864-0729-8.
  6. ^ "Hierarchical administrative subdivision codes". Statoids.
  7. ^ Note: in practical use Geohash can use base2, but geometrically it is based on latitude and longitude (2+2) partitions, so base2 can result in loss of symmetry. Strictly Geohash base32 also need two-digit keys for base4 compatibility.
  8. ^ "Topic 21: Discrete Global Grid Systems Abstract Specification", Open Geospatial Consortium (2017).
  9. ^ See formal use of ISO country codes in Mapcode at
  10. ^ "What3words: Find and share very precise locations via Google Maps with just 3 words". Retrieved 8 July 2014.
  11. ^
  12. ^ (2016-09-08) "Correios de Cabo Verde testam novo sistema de endereçamento da Google",
  13. ^ Dept of Communications (28 April 2014). "Minister Rabbitte launches Eircode the new location codes for Irish addresses". DCENR. Retrieved 2015-07-15.
  14. ^
  15. ^ "Overview". Retrieved 2018-05-11.
  16. ^ Kreiss, Sven (2016-07-27). "S2 cells and space-filling curves: Keys to building better digital map tools for cities". Medium. Retrieved 2018-05-11.
  17. ^ By Step Navigation|Navipedia / ESA[permanent dead link]
  18. ^ "". Retrieved 10 June 2012.
  19. ^
  20. ^ "Understanding Geographic Identifiers (GEOIDs)". United States Census Bureau. Retrieved March 3, 2016.