GeoRSS is a standard for adding location information to an RSS feed. Example applications include travel blogs, news feeds, and real time earthquake feeds. Location information is typically a point location, but it can also include geographic lines, polygons, and related feature descriptions. Many online mapping services support GeoRSS, allowing map “mashups” to be easily created.
The GeoRSS model geometry supports points, lines and boundaries. Boundaries, in turn, can be polygons (with four or more coordinate pairs) or boxes. A box is defined with two longitude, latitude coordinates that define the south-west and north-east corners of a compass-aligned box.
The GeoRSS model also supports the featuretypetag that stores a single string determining the feature’s type referred in the geometry. The default is “location“. Another single string tag is relationshiptag. This relates the GeoRSS feature to the parent tag. The default is “is-located-at“.
The Simple vocabulary also supports two tags for elevation information. elev provides the height in meters above the WGS84 ellipsoid. floor is intended to store a building floor number. The floor number has cultural variations, but should be unambiguous because the building’s location is known.
The Simple vocabulary was designed to be concise, and only requires a single tag per GeoRSS object. The conciseness means that the Simple vocabulary does not have a direct upward compatibility with the GML vocabulary, but automated transformations are possible.
The Simple vocabulary uses the georss namespace. An example Simple tag for a line would be:
<georss:line>45.2 -105.0 45.3 -110.0 48.1 -115 45.1 -120</georss.line>
Comma separators are also allowed for coordinates, in addition to the standard whitespace.
The following example of the GeoRSS Simple Vocabulary is a subset of the US Geological Survey live earthquake feed :
<?xml version="1.0"?> <feed xml:base="http://earthquake.usgs.gov/" xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss"> <updated>2009-02-25T16:43:12Z</updated> <title>USGS M2.5+ Earthquakes</title> <subtitle>Real-time, worldwide earthquake list for the past day</subtitle> <link rel="self" href="/eqcenter/catalogs/1day-M2.5.xml"/> <link href="http://earthquake.usgs.gov/eqcenter/"/> <author><name>U.S. Geological Survey</name></author> <id>http://earthquake.usgs.gov/</id> <icon>/favicon.ico</icon> <entry> <id>urn:earthquake-usgs-gov:us:2009dma8</id> <title>M 5.4, southeast Indian Ridge</title> <updated>2009-02-25T16:07:59Z</updated> <link rel="alternate" type="text/html" href="/eqcenter/recenteqsww/Quakes/us2009dma8.php"/> <link rel="related" type="application/cap+xml" href="/eqcenter/catalogs/cap/us2009dma8" /> <summary type="html"><![CDATA[<img src="http://earthquake.usgs.gov/images/globes/-40_90.jpg" alt="42.030°S 88.607°E" align="left" hspace="20" /><p>Wednesday, February 25, 2009 16:07:59 UTC<br>Wednesday, February 25, 2009 10:07:59 PM at epicenter</p><p><strong>Depth</strong>: 10.00 km (6.21 mi)</p>]]></summary> <georss:point>-42.0302 88.6071</georss:point> <georss:elev>-10000</georss:elev> <category label="Age" term="Past hour"/> </entry> <entry> <id>urn:earthquake-usgs-gov:pr:p0905603</id> <title>M 3.3, Puerto Rico region</title> <updated>2009-02-25T11:09:21Z</updated> <link rel="alternate" type="text/html" href="/eqcenter/recenteqsww/Quakes/prp0905603.php"/> <summary type="html"><![CDATA[<img src="http://earthquake.usgs.gov/images/globes/20_-65.jpg" alt="19.098°N 65.372°W" align="left" hspace="20" /><p>Wednesday, February 25, 2009 11:09:21 UTC<br>Wednesday, February 25, 2009 07:09:21 AM at epicenter</p><p><strong>Depth</strong>: 35.10 km (21.81 mi)</p>]]></summary> <georss:point>19.0978 -65.3720</georss:point> <georss:elev>-35100</georss:elev> <category label="Age" term="Past day"/> </entry> </feed>
The GML vocabulary uses the GML standard to specify the feature’s geography. This is contained in a georss:where tag. This allows much more complex shapes to be specified, as well as the use of different coordinate systems if required.
W3C Basic Geo Vocabulary
The W3C Basic vocabulary is deprecated. It should not be used for new development, and is covered here only for completeness.
The W3C Basic Geo vocabulary started as an RDF vocabulary, but found widespread use in non-RDF XML documents (eg. RSS 2.0). The rapid adoption of this standard led to the development of GeoRSS and the georss namespace. Although it has been replaced by the Simple and GML vocabularies, it is likely that W3C Basic Geo will remain in use for a long time. Therefore new parsers should still support W3C Basic Geo.
W3C Basic Geo uses the geo namespace. It only allows points to be specified. These use the geo:Point object:
<geo:Point> <geo:lat>55.701</geo:lat> <geo:long>12.552</geo:long> </geo:Point>
Note that the containing geo:Point tag is often dropped, just leaving the geo:lat and geo:long tags.
The GeoRSS standard homepage can be found at: http://georss.org
This includes further examples and descriptions of the three vocabularies.