GeoRSS Simple Features Proposal

This proposal expands the current GeoRSS geometry types to include multi-geometries and a geometrycollection. These can be implemented with GeoRSS Simple and GeoRSS GML, and may be used with Atom, RSS2 or RSS1.

The full list of supported geometry types becomes (bold = new):

  • box
  • point
  • linestring
  • polygon
  • multipoint
  • multilinestring
  • multipolygon
  • geometry collection

GeoRSS Simple examples:

MultiPoint

Latitude-longitude pairs are separated by commas. The individual coordinates are still separated by whitespace.

<georss:multipoint>45.256 -71.92, 45.43 -71.98, 45.766 -72.04<georss:multipoint>

MultiLinestring

Lines are separated by commas. Within each line, the coordinate pairs (tuples) and the individual coordinates are still separated by whitespace.

<georss:multiline>
   45.256 -110.45 46.46 -109.48 43.84 -109.86, 
   45.256 -71.92 45.43 -71.98 45.766 -72.04
<georss:multiline>

MultiPolygon

Polygons are separated by commas. Within each polygon, the coordinate pairs (tuples) and the individual coordinates are still separated by whitespace.

<georss:multipolygon>
   5.256 -110.45 46.46 -109.48 43.84 -109.86 45.256 -110.45, 
   45.256 -71.92 45.43 -71.98 45.766 -72.04,
   5.256 -110.45 46.46 -109.48 43.84 -109.86 45.256 -110.45
<georss:multipolygon>

Geometry Collection

Geometry Collection is not implemented in Simple.

GeoRSS GML examples:

MultiPoint

<georss:where>
   <gml:MultiPoint>
      <gml:pointMembers>
         <gml:Point><gml:pos>45.256 -71.92</gml:pos></gml:Point>
         <gml:Point><gml:pos>45.43 -71.98</gml:pos></gml:Point>
         <gml:Point><gml:pos>45.766 -72.04</gml:pos></gml:Point>
      </gml:pointMembers>
   </gml:MultiPoint>
<georss:where>

MultiLinestring

<georss:where>
   <gml:MultiLineString>
      <gml:lineMembers>
         <gml:LineString>
            <gml:posList>45.256 -110.45 46.46 -109.48 43.84 -109.86</gml:posList>
         </gml:LineString>
         <gml:LineString>
            <gml:posList>45.256 -71.92 45.43 -71.98 45.766 -72.04</gml:posList>
         </gml:LineString>         

      </gml:lineMembers>
   </gml:MultiLineString>
<georss:where>

MultiPolygon

Polygons are separated by commas. Within each polygon, the coordinate pairs (tuples) and the individual coordinates are still separated by whitespace.

<georss:where>
   <gml:MultiPolygon>
      <gml:polygonMembers>
         <gml:Polygon>
            <gml:exterior>
               <gml:LinearRing>
                  <gml:posList>45.256 -110.45 46.46 -109.48 43.84 -109.86 45.256 -110.45</gml:posList>
               <gml:LinearRing>
            <gml:exterior>
         </gml:Polygon>
         <gml:Polygon>
            <gml:exterior>
               <gml:LinearRing>
                  <gml:posList>45.256 -110.45 46.46 -109.48 43.84 -109.86 45.256 -110.45</gml:posList>
               <gml:LinearRing>
            <gml:exterior>
         </gml:Polygon>         

      </gml:polygonMembers>
   </gml:MultiPolygon>
<georss:where>

Geometry Collection

<georss:where>
   <gml:Point>
      <gml:pos>45.256 -71.92</gml:pos>
   </gml:Point>
   <gml:MultiPoint>
      <gml:pointMembers>
         <gml:Point><gml:pos>45.256 -71.92</gml:pos></gml:Point>
         <gml:Point><gml:pos>45.43 -71.98</gml:pos></gml:Point>
         <gml:Point><gml:pos>45.766 -72.04</gml:pos></gml:Point>
      </gml:pointMembers>
   </gml:MultiPoint>
   <gml:MultiLineString>
      <gml:lineMembers>
         <gml:LineString>
            <gml:posList>45.256 -110.45 46.46 -109.48 43.84 -109.86</gml:posList>
         </gml:LineString>
         <gml:LineString>
            <gml:posList>45.256 -71.92 45.43 -71.98 45.766 -72.04</gml:posList>
         </gml:LineString>         

      </gml:lineMembers>
   </gml:MultiLineString>
<georss:where>