GeoRSS* provides a way to encode location in RSS and Atom feeds.GeoRSS can be added to existing feeds with little effort. It allows users to perform geographic searches on feeds, or to map information found in feeds. Its location content consists of basic geometries (including geographic points, lines, and polygons of interest) and related feature descriptions. GeoRSS feeds are designed to be consumed by geographic software such as map generators. By building these encodings on a common information model, the GeoRSS collaboration is promoting interoperability and "upward compatibility" across encodings.
GeoRSS collaboration has produced two primary encodings that are called GeoRSS-Simple and GeoRSS-Geography Markup Language (GML). GeoRSS-Simple is a very lightweight format that supports basic geometries (point, line, box, polygon) and covers the typical-use cases when encoding locations. GeoRSS-GML supports a greater range of features than GeoRSS-Simple, notably coordinate reference systems other than latitude/longitude.
GeoRSS can be used to extend both RSS 1.0 and 2.0, as well as Atom (the latest standard for feeds from the Internet Engineering Task Force).
Additional Information: GeoRSS
GeoRSS is a simple proposal for geo-enabling, or tagging, "really simple syndication" (RSS) feeds with location (geography) information. GeoRSS proposes a standardized way in which location is encoded with enough simplicity and descriptive powerto satisfy most needs to describe the location of web content. GeoRSS may not work for every use, but it should serve as an easy-to-use geo-tagging encoding that is brief and simple with useful defaults, but extensible and upwardly compatible with more sophisticated encoding standards. There are currently two encodings of GeoRSS:
- GeoRSS-Simple is meant as a very lightweight format that developers and users can quickly and easily add to their existing feeds with little effort. It supports basic geometries (point, line, box, polygon) and covers the typical use cases when encoding locations; and
- GeoRSS-GML is a formal GML Application Profile, and supports a greater range of features, notably coordinate reference systems other than latitude/longitude from the World Geodetic System of 1984 (WGS-84).
Both GeoRSS Simple and GeoRSS GML (extended) use the same geometry and are therefore compatible. Both GeoRSS formats are designed for use with Atom 1.0, RSS 2.0 and RSS 1.0, although they can be used just as easily in non-RSS XML encodings.
Perhaps the most powerful advantages of GeoRSS feeds will be seen in the possibilities for geographic search and aggregation. More than just getting feeds for a particular city or zip code, using GeoRSS it will be possible to search with all sorts of geographic criteria. Perhaps all earthquake-related items within a certain radius--delivered to your phone? Or a feed of traffic accident items along a regular daily commute? Once RSS feeds contain geographic location, applications like these and more are possible.
Encoding GeoRSS Elements
As RSS and Atom become more prevalent as a way to publish and share information, it becomes increasingly important that location is described in an interoperable manner so that applications can request, aggregate, share and map geographically tagged feeds. GeoRSS was designed as a lightweight, community-driven way to extend existing feeds with geographic information.
The Simple serialization of GeoRSS is designed to be maximally concise, in both representation and conception. Each of the four GeoRSS-Simple objects require only a single tag.
This simplicity comes at the cost of direct upward compatibility with GML. However, it is straightforward to devise transformations from this Simple serialization to the GML serialization through the GML model. For many needs, GeoRSS Simple will be sufficient.
Some publishers and users may prefer to separate latitude-longitude pairs by a comma rather than whitespace. This is permissible in Simple; GeoRSS parsers should just treat commas as whitespace.
The first example shows GeoRSS Simple within an Atom 1.0 entry. This serialization applies just as well to an RSS 2.0 or RSS 1.0 item; it can also be associated with the entire feed. The rest of the examples show only the encoding of the objects and attributes.
A Point contains a single latitude-longitude pair, separated by whitespace.
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"
xmlns:georss="http://www.georss.org/georss"> <title>Earthquakes</title> <subtitle>International earthquake observation labs</subtitle> <link href="http://example.org/"/> <updated>2005-12-13T18:30:02Z</updated> <author>
<name>Dr. Thaddeus Remor</name> <email>email@example.com</email>
</author> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <entry>
<title>M 3.2, Mona Passage</title> <link href="http://example.org/2005/09/09/atom01"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2005-08-17T07:02:32Z</updated> <summary>We just had a big one.</summary> <georss:point>45.256 -71.92</georss:point>
A Line contains a space-separated list of latitude-longitude pairs in the WGS-84 coordinate reference system, with each pair separated by whitespace. There must be at least two pairs.
<georss:line>45.256 -110.45 46.46 -109.48 43.84 -109.86</georss:line>
A Polygon contains a space-separated list of latitude-longitude pairs, with each pair separated by whitespace. There must be at least four pairs, with the last being identical to the first (so a polygon has a minimum of three actual points).
<georss:polygon>45.25 -110.45 46.46 -109.48 43.84 -109.86 45.25 -110.45 </georss:polygon>
A Bounding Box is a rectangular region, often used to define the extent of a map or a rough area of interest. A box contains two space-separate latitude-longitude pairs, with each pair separated by whitespace. The first pair is the lower corner; the second is the upper corner.
<georss:box>42.943 -71.032 43.039 -69.856</georss:box>
A Circle is a circular region containing three coordinates: centrepoint latitude, centrepoint longitude, circle radius, with latitude followed by longitude in the WGS-84 coordinate reference system, and radius in meters.
<georss:circle>42.943 -71.032 500</georss:circle>
Additional Properties specified as GeoRSS elements include featureTypeTag, relationshipTag, andfeatureName. Note that the element names are case-sensitive.
<georss:point>45.25 -110.45</georss:point> <georss:featureTypeTag>city</georss:featureTypeTag> <georss:relationshipTag>is-centered-at</georss:relationshipTag> <georss:featureName>Podunk</georss:featureName>
Elevation, specified in GeoRSS elements, can be expressed as "elev" or "floor". "elev" is meant to contain "common" GPS elevation readings, i.e. height in meters from the WGS-84 ellipsoid, which is a reading that should be easy to get from any GPS device. "floor" is meant to contain the floor number of a building. In some countries the numbering is different than in other countries, but since we will know the location of the building, it should be fairly unambiguous.
<georss:point>45.25 -110.45</georss:point> <georss:elev>313</georss:elev> <georss:point>45.25 -110.45</georss:point> <georss:floor>2</georss:floor>
Radius indicates the size in meters of a radius or buffer around the geometry object; for example, the radius of a circular area around a geometric point.
<georss:point>45.25 -110.45</georss:point> <georss:radius>500</georss:radius>
* GeoRSS means Geographically Encoded Objects (Geo) for Really Simple Syndication (RSS).