Geo (microformat)



Geo is a microformat used for marking up WGS84 geographical coordinates (latitude;longitude) in (X)HTML. Although termed a "draft" specification, this is a formality, and the format is stable and in widespread use; not least as a sub-set of the published hCalendar and hCard microformat specifications, neither of which is still a draft.

Use of Geo allows parsing tools (for example other websites, or Firefox's Operator extension) to extract the locations, and display them using some other website or mapping tool, or to load them into a GPS device, index or aggregate them, or convert them into an alternative format.

Usage

 * If latitude is present, so must be longitude, and vice versa.
 * The same number of decimal places should be used in each value, including trailing zeroes.

There are two ways to convert ordinary (X)HTML into a geo microformat:

Three classes
Adding three classes. For example the marked-up text:

becomes:

by adding the class-attribute values "geo", "latitude" and "longitude".

This will display

Belvide: 52.686 ; -2.193

and a geo microformat for that location, Belvide Reservoir, which will be detected, on this page, by microformat parsing tools.

One class
In some cases, a shorthand version may be used, with just the outer class. Latitude must be first:

becomes:

Note that the separator must be a semi-colon. If the display of some other separator is desired, then the  element can be used, with the value to be interpreted placed in its   attribute:

This can also be used to display the location using some other schema:

However, it is considered bad practice to use  to hide the location completely:

Accessibility concerns
Concerns have been expressed that the use of the  element (using the so-called abbr-design-pattern) in the above manner causes accessibility problems, not least for users of screen readers and aural browsers. Work is underway to find an alternative method of presenting coordinates.

hCard
Each Geo microformat may be wrapped in an hCard microformat, allowing for the inclusion of personal, organisational or venue names, postal addresses, telephone contacts, URLs, pictures, etc.

Extensions
There are three active proposals, none mutually-exclusive, to extend the geo microformat:
 * geo-extension - for representing coordinates on other planets, moons etc., and with non-WGS84 schema
 * geo-elevation - for representing altitude
 * geo-waypoint - for representing routes and boundaries, using waypoints

Users
Organisations and websites using Geo include:


 * Flickr - on over three million photo pages
 * Geograph British Isles - on over one million photo pages
 * Google
 * Multimap - all map pages
 * MyMap - example: (Taiwanese language site)
 * OpenStreetMap - wiki pages about places, GPS traces and diary entries
 * The West Midland Bird Club
 * Locify - location enhanced browsing on mobile phone
 * Wikipedia - embedded in geo templates of map-link pages
 * German Wikipedia - ditto
 * Dutch Wikipedia - ditto
 * Swedish Wikipedia - ditto
 * Italian Wikipedia
 * Wikitravel

Many of the organisations publishing hCard include a geo as part of that.