(Geo)RSS to search the GeoWeb

| |

Today I finished some work on the RSS output of GeoNetwork opensource that should allow people to search a metadata catalog for OGC web map services, KML, data for download and whatever else someone decided to publish in ISO19115 formatted metadata.

Providing a search interface with an RSS output allows a user to store his query as a newsfeed and automatically see when there's new content matching his query. Adding the custom links allows some clever clients to exploit the services described in the metadata.

The idea is not new, and we've had a lot of discussions on IRC, email and face to face meetings within the GeoNetwork and OSGeo communities. What I implemented in the end is a common output format in the form of an RSS feed with links that point to the W*S content type and a URL to the service. The service URL should provide enough info for clients to parse it and decide what approach to take: just continue using GetMap, or take the base URL and do a GetCapabilities request first.

Here's a sample: http://geonetwork3.fao.org/geonetwork/srv/en/rss.search?
georss=simple&any=forest&dynamic=on

GeoNetwork offers many search parameters, and I only used the free text 'any' field here, plus a 'dynamic=on' to filter out resources that have a WMS service. The GeoRSS output format is defined by the 'georss' parameter and can be 'simple', 'simplepoint' or 'gml' (default).

The search is also accessible through the OpenSearch interface, producing the same RSS output (connect to http://geonetwork3.fao.org/geonetwork for an example).

A WMS service is represented as a link with the 'href' attribute containing a full GetMap request. The URL might contain variables that are encoded in the same way OpenSearch offers variables. See URI Templates for more details on that.

Here's a sample link:

<link title="Occurrence of forest" rel="alternate" type="application/vnd.ogc.wms_xml" href="http://geonetwork3.fao.org/ows/14066?SERVICE=wms$amp;VERSION=1.1.1&amp;
REQUEST=GetMap&amp;BBOX={geo:box=-180,-90,180,90}&amp;LAYERS={ogc:layer=occurrence_forest}
&amp;SRS=EPSG:4326&amp;WIDTH=200&amp;HEIGHT=100&amp;FORMAT=image/png
&amp;TRANSPARENT=TRUE&amp;STYLES=default" />


I started a small WIKI page here to discuss this further. Don't hesitate to provide suggestions and comments!

Hi, Jeroen I've add the

Hi, Jeroen

I've add the sample link on my test page, but it seems to have no change. What's the problem? What should I do?

Thanks,

Cameron

URL not working

Hi Cameron,
The URL does indeed not work now. Soon you should see the FAO GeoNetwork published and showing the same result.
Ciao,
Jeroen

Comment

Jeroen,

Looks good. I believe your sample link's type should be "image/png" as that's the type of the content you'd get from a GET request on the href value. Can I ask why you chose RSS 2.0? RSS 1.0 I could understand, if you wanted to exploit RDF.
Atom has great uptake right now, especially in RESTful web services. But why RSS 2.0?

RSS1.0, RSS2.0 & Atom

Thanks Sean,
On the content type, I can agree and at the same moment I could start a discussion on how we than should provide simple links in feeds that can be understood by client applications and better be exploited than just obtain a single image.
On the choice for RSS2.0, well to be honest the reason is probably more laziness than anything else :) . There was an existing RSS2.0 feed providing the latest information added to the catalog. That feed output was then re-used to also provide RSS2.0 formatted output on searches since it was already in place. I now just extended and hopefully improved it. I was thinking to look into Atom later, but now am more stressed for time to get a GeoNetwork v2.2 release out. I caused the RC2 release to be delayed for a couple of weeks already :( . That said, I very much hope to find a good solution for the link problem when it comes to W*S services. I'll write a separate entry on that to try to explain the problem better (at least give better insight in my personal trouble to get a proper grip on the issue). And now I'll start reading the ORE Specification, maybe that has all the answers and I can forget about blogging on this problem :)
Ciao, Jeroen

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.