Geocode
A geocode is a code that represents a geographic entity. It is a 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:
- Country code and subdivision code. Polygon of the administrative boundaries of a country or a subdivision.
- DGG cell ID. Identifier of a cell of a discrete global grid: a Geohash code or an OLC code.
- Postal code. Polygon of a postal area: a CEP code.
In theoretical computer science a geocode system is locality-preserving hashing function.
Classification
There are some common aspects of many geocodes that can be used as classification criteria:- Ownership: proprietary or free, differing by its licences.
- Formation: the geocode can be originated from a [|name] or from mathematical function. See geocode system types below.
- Covering: global or partial. The entities are in all globe or is delimited the theme or by the ownership's jurisdiction.
- Type of the represented entity: type of geometry. Point, [|grid] cell or polygon.
- * special hierarchical [|grids], with global covering and equal-area cells, can be classified as DGGS cell
- * some non-standard geographic entities, can be classified also by its coordinate system and elipsoid of reference. The de facto standard is the WGS84.
- Scope of use: general use vs specialized.
- Hierarchy: geocode's syntax hierarchy corresponding to the spatial hierarchy of its represented entities. A geocode system can hierarchical or non-hierarchical.
Geocode system
- 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. The most commom way to describe formally is by regular expression.
- 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.
Many syntax and semantic characteristics are also summarized by classification.
Encode and decode
Any geocode can be translated from a formal 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, are:;geocoder: A software agent that transforms the description of a geographic entity, into a normalized data and encodes it as a geocode.
;geocoder service: A geocoder implemented as web service, 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 represented by the geocodes.
;geocoding: 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 is expressed in a standardized and simplified way, it can be conceived as geocode. So, the term geocoding sometimes is generalized for geocodes.
In spatial indexing applications the geocode can also be translated between human-readable and internal representations.
Systems of standard [|names]
Geocodes like country codes, city codes, etc. comes from a table of official names, and the corresponding official codes and geometries. "Official" in the context of control and consensus, typically a table controlled by a standards organization or governmental authority. 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 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". 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
Geocodes based on standard systems of hierarchical naming, mainly hierarchical administrative subdivision codes, 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, and other sources.The codes are alphabetic and have constant length for the first level subdivisions. Examples:
Two geocodes of a 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 common prefix.Systems of regular grids
Inspired in the classic alphanumeric grids, a discrete global grid is a regular mosaic which covers the entire Earth's surface. 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, 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 for the local use.
Hierarchical grids
Each cell of a grid can be transformed into a new local grid, in a recurring process. In the illustrated example, the cellTQ 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 a 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 split into keys. The Geohash
6vd23gq
is the key q
of the cell 6vd23g
, that is a cell of 6vd23
, and so on, per-digit keys. The OLC 58PJ642P
is the key 48
of the cell 58PJ64
, that is a cell of 58Q8
, 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 also use initial prefix with non-hierarchical key schema.In general, as technical and non-compact optional representation, geocode systems 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.The uniformity of shape and area of cells in a grid can be important for other uses, like spatial statistics. There are standard ways to build a grid covering the entire globe with cells of equal area, regular shape and other properties: Discrete Global Grid System is a series of discrete global grids satisfying all standardized requirements defined in 2017 by the OGC.
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
There are also mixed systems, using a syntactical partition, where for example the first part is a name-code and the other part is a grid-code. Example:For mnemonic coherent semantics, in fine-grained geocode applications, the mixed solutions are most suitable.
Shortening grid-based codes by context
Any geocode system [|based on regular grid], in general is also a shorter way of express a latitudinal/longitudinal coordinate. But more tham 6 digits geocode is difficult for remember. By other hand, a [|geocode based on standard name] is easy to remember.So, this suggest that a "mixed code" can be solve the problem, reducing the number of digits when a name can be used as "context" of the grid-based geocode. For example in book where the author say "all geocodes here are contextualized by the chapter's country".
In fact a methodology exists for [|hierarchical grid-based geocodes] with non-variable size, where the code prefix describes a broader area, which can be associated with a name. So, it is possible to shortening by replacing the prefix to the associated context. The most usual context is an official name. Examples:
Standards mixed | Grid-based | Mixed reference |
Grid OLC and country's official names | 796RWF8Q+WF | Cape Verde, Praia, WF8Q+WF |
Grid Geohash and | e6xkbgxed | CV-PR , bgxed |
The examples of the Mixed reference column are significantly easier than remembering DGG code column. The methods vary, for example OLC can be shortened the elimination of its first four digits and using Plus Codes naming conventions.
When the mixed reference is also short and there are a syntax convention to express it, this convention is generating a new [|name-and-grid geocode system]. This is not the case of the first example because, strictly speaking, "Cape Verde, Praia" is not a code.
To be both, a name-and-grid system and also a mixed reference convention, the system must be reversible. Pure name-and-grid systems, like Mapcode, with no way to transform it into a global code, is not a mixed reference, because there is no algorithm to transform the mixed geocode into a grid-based geocode.
Cataloged examples
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
Geocodes in use and with general scope:Geocode | Inception | Coverage | Formation | Ownership | Rep. entity | Context and description |
ISO 3166 | 1974 | globe/only nations | Name abbreviation | free | polygon | Administrative divisions. Country codes and codes of their subdivisions. Two letters or three letters. |
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. |
Geohash | 2008 | globe | encode | free | grid cell | Hash notation for locations. See also Geohash and its variants, like OpenStreetMap's short-link |
Open Location Code | 2014 | globe | encode | free | grid cell | See also PlusCodes. |
What3words | 2013 | globe | encode | patented | grid cell | patent-restrictions system, converts 3x3 meter squares into 3 words. It is in use at Mongol Post. |
Mapcode | 2001 | globe | encode | patented | point | A mapcode is a code consisting of two groups of letters and digits, separated by a dot. |
In use, alternative address
Geocodes can be used in place of official street names and/or house numbers, particularly when a given location has not been assigned an address by authorities. They can also be used as an "alternative address" if it can be converted to a Geo URI. Even if the geocode is not the official designation for a location, it can be used as a "local standard" to allow homes to receive deliveries, access emergency services, register to vote, etc.Geocode | Inception | Coverage | Formation | Onwership | Rep. entity | Context and description |
Local OLC | 2016 | globe | encode | free | grid cell | OLC is used to provide postal services. |
Eircode | 2014 | Ireland | encode | copyrighted | 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
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. Samples, not a complete list:Geocode | Inception | Coverage | Formation | Onwership | Rep. entity | Context and description |
CEP | 1970? | cities or streets | Hierarchical serial number | proprietary | ... The CEP5 is geographic and CEP8 can be a city, a street or a point. | |
Postal Index Number | ? | postal regions | Hierarchical serial number? | proprietary? | ... | |
ZIP Code | ? | postal regions | Hierarchical serial number? | proprietary? | ... |
In use, telephony and radio
Geocodes in use for telephony or radio broadcasting scope:- ITU-R country codes
- ITU-T country calling codes
- ITU-T mobile calling codes
- Maidenhead Locator System
- Marsden Squares
In use, others
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 and Europe |
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. area code. |
FIPS place codes | ? | U.S. | place | ? | free | polygon | . Administrative divisions. |
FIPS country codes | ? | U.S. | globe/nations | ? | free | polygon | . Administrative divisions |
FIPS state codes | ? | U.S. | ? | ? | free | polygon | . Administrative divisions |
Historical or less used
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 | grid cell | ? |
UTM Grid Zones | ? | general | ? | ? | free | grid cell | based on UTM Zones, and Latitude bands of MGRS.. |
WMO squares | ~2005? | Meteorology | globe | grid | free | grid cell | ... replaced by modern DGGS's... |
C-squares | ? | general | ? | ? | free | polygon | compact encoding of geographic coordinate bounds. 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 |
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
Experimental geocodes or non-registered on Wikipedia:- S2: a geocoding scheme using spherical geometry and the space-filling Hilbert curve, developed at Google
- Munich Orientation Convention: converts lat/lon to metrical monopolar codes for targets, crossings, stations, stop points, bridges, tunnels, towns, islands, volcanoes, highway exits etc.
- SALB, by UN
- OpenPostcode, opensource global algorithm.
- WOEID
- OpenStreetMap shortlink, used as a short permanent link to map locations
- Quarter Degree Grid Cells
- NAC, area codes
- GEOID, the name of United States Census Bureau geographic identifiers.