Hoe werkt GeoRSS
GeoRSS maakt gebruikt van XML. XML is een opmaaktaal die gebruikt wordt om gegevens gestructureerd vast te kunnen leggen.
GeoRss.org heeft twee standaarden ontwikkelt voor het aanbieden van GeoRSS-feeds.
GeoRSS Simple: een compacte XML-code met beperkte mogelijkheden.
GeoRSS GML: een uitgebreide XML variant; ingewikkelder maar beter uitbreidbaar.
Voorbeeld XML-code GeoRSS Simple:
<georss:point>45.256 -71.92</georss:point>
Voorbeeld XML-code GeoRSS GML:
<georss:where>
<gml:Point>
<gml:pos>45.256 -71.92</gml:pos>
</gml:Point>
</georss:where>
Beide standaarden geven dezelfde locatie aan, en hebben allebei als namespace ‘georss’.
Omdat de aarde geen raster- of aslijnen bevat moeten de GeoRSS coördinaten voldoen aan het ‘coordinate reference system’. Dit systeem maakt gebruik van decimale graden om de breedte- en lengtegraad aan te geven.
In het voorbeeld hierboven is 45.256 de breedtegraad (oost-west) en 71.92 de lengtegraad (noord-zuid).
De mogelijke GeoRSS varianten zijn:
Een punt wordt aangegeven door een enkelvoudig paar coördinaten, zoals in het voorbeeld hierboven.
XML-voorbeeld van een punt GeoRSS-feed met nieuwsbericht:
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:georss="http://www.georss.org/georss"
xmlns:gml="http://www.opengis.net/gml">
<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>tremor@quakelab.edu</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:where>
<gml:Point>
<gml:pos>45.256 -71.92</gml:pos>
</gml:Point>
</georss:where>
</entry>
</feed>
Een lijn wordt aangegeven door twee of meer coördinaatparen (punten). De paren zijn gescheiden door een spatie in de XML. Voorwaarde is dat de breedtegraad coördinaten niet meer dan 179 graden uit elkaar mogen liggen.
(in onderstaand voorbeeld dus punt 1: 45.256 -110.45 46.46 en punt 2: -109.48 43.84 -109.86)
XML-voorbeeld van een lijn GeoRSS-feed:
<entry>
...
<georss:where>
<gml:LineString>
<gml:posList>
45.256 -110.45 46.46 -109.48 43.84 -109.86
</gml:posList>
</gml:LineString>
</georss:where>
</entry>
Een vierkant bestaat uit precies 2 paren coördinaten. Ook hier geldt dat de paren zijn gescheiden door een spatie. Het eerste paar coördinaten is het zuidwestelijke punt van het vierkant, het tweede paar coördinaten vertegenwoordigt het noordoostpunt van het vierkant. Voorwaarde is dat de 180-graden lengtegraad en de noord- of zuidpool niet mag worden overschreven.
XML-voorbeeld van een punt GeoRSS-feed:
<entry>
...
<georss:where>
<gml:Envelope>
<gml:lowerCorner>42.943 -71.032</gml:lowerCorner>
<gml:upperCorner>43.039 -69.856</gml:upperCorner>
</gml:Envelope>
</georss:where>
</entry>
Een polygoon (veelhoek) bestaat uit minstens 4 paren coördinaten. Ook hier geldt dat de paren zijn gescheiden door een spatie. Voorwaarde is dat de breedtegraad coördinaten niet meer dan 179 graden uit elkaar mogen liggen.
XML-voorbeeld van een punt GeoRSS-feed:
<entry>
...
<georss:where>
<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>
</georss:where>
</entry>