Geo URI scheme
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.
The current revision of the vCard specification 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, although that implementation is based on a draft revision of the specification, and supports a different set of URI parameters and query strings.
A simple geo URI might look like:
where the two numerical values represent latitude and longitude respectively, and are separated by a comma. They are coordinates of a horizontal grid (2D). If a third comma-separated value is present, it represents altitude; 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.
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. 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>
Coordinate reference systems
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), 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).
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 Washington Monument's location expressed with UTM-zone 18S and its standard ID:
- A geo URI for a hypothetical lunar CRS created in 2011 might be:
The order in which the semicolon-separated parameters occur is partially significant. 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. All parameters are case-insensitive, 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 (
mapcolors) is preferred.
- "RFC 5870 - A Uniform Resource Identifier for Geographic Locations (geo URI)". Internet Engineering Task Force. 2010-06-08. Retrieved 9 June 2010.
- "RFC 6350 - vCard Format Specification". Internet Engineering Task Force. 2011-08-11. Retrieved 19 Jun 2012.
- "Android Intents List". google.com. Retrieved 2012-06-19.
- "Geourl.org". Geourl.org. Archived from the original on 2011-12-27. Retrieved 2011-12-24.