Geo URI scheme

From Wikipedia, the free encyclopedia
  (Redirected from Geo URI)
Jump to navigation Jump to search

The geo URI scheme is a Uniform Resource Identifier (URI) scheme defined by the Internet Engineering Task Force's RFC 5870 (published 8 June 2010)[1] as:

a Uniform Resource Identifier (URI) for geographic locations using the 'geo' scheme name. A 'geo' URI identifies a physical location in a two- or three-dimensional coordinate reference system in a compact, simple, human-readable, and protocol-independent way.[1]

The current revision of the vCard specification[2] supports geo URIs in a vCard's "GEO" property, and the GeoSMS standard uses geo URIs for geotagging SMS messages. Android based devices support geo URIs,[3] although that implementation is based on a draft revision of the specification, and supports a different set of URI parameters and query strings.

A geo URI is not to be confused with the site GeoUrl[4] (which implements ICBM address).


A simple geo URI might look like:


where the two numerical values represent latitude and longitude respectively,[1] and are separated by a comma.[1] They are coordinates of a horizontal grid (2D). If a third comma-separated value is present, it represents altitude;[1] so, coordinates of a 3D grid. Coordinates in the Southern and Western hemispheres as well as altitudes below the coordinate reference system (depths) are signed negative with a leading dash.[1]

The geo URI also allows for an optional "uncertainty" value, separated by a semicolon, representing the uncertainty of the location in meters, and is described using the "u" URI parameter.[1] A geo URI with an uncertainty parameter looks as follows:


A geo URI may, for example, be included on a web page, as HTML:

<a href="geo:37.786971,-122.399677;u=35">Wikimedia Headquarters</a>

so that a geo URI-aware user agent such as a web browser could launch the user's chosen mapping service; or it could be used in an Atom feed or other XML file.

Coordinate reference systems[edit]

The values of the coordinates only make sense when a coordinate reference system (CRS) is specified. The default CRS is the World Geodetic System 1984 (WGS-84),[1] and it is not recommended to use any other:

The optional 'crs' URI parameter described below may be used by future specifications to define the use of CRSes other than WGS-84. This is primarily intended to cope with the case of another CRS replacing WGS-84 as the predominantly used one, rather than allowing the arbitrary use of thousands of CRSes for the URI (which would clearly affect interoperability).[1]

The only justified use of other CRS today is, perhaps, to preserve projection in large-scale maps, as local UTM, or for non-terrestrial coordinates such as those on the Moon or Mars. The syntax and semantic of the CRS parameter, separated by a semicolon, is described at section 8.3 of RFC 5870. Examples:

The order in which the semicolon-separated parameters occur is partially significant.[1] Whilst the labeltext parameter and future parameters may be given in any order, the crs and the u parameters must come first. If both are used, the crs must precede the u.[1] All parameters are case-insensitive,[1] so, imagining a future new parameter mapcolors, it can be ignored by simpler applications, and the above example is exactly equivalent to:


Being in doubt, remember that use of the lowercase representation of parameter names (crs u and mapcolors) is preferred.

See also[edit]


  1. ^ a b c d e f g h i j k l "RFC 5870 - A Uniform Resource Identifier for Geographic Locations (geo URI)". Internet Engineering Task Force. 2010-06-08. Retrieved 9 June 2010.
  2. ^ "RFC 6350 - vCard Format Specification". Internet Engineering Task Force. 2011-08-11. Retrieved 19 Jun 2012.
  3. ^ "Android Intents List". Retrieved 2012-06-19.
  4. ^ "". Archived from the original on 2011-12-27. Retrieved 2011-12-24.

External links[edit]