Safe Software logo

Tuesday, February 06, 2007

The Skinny on FME's GeoRSS Support

- posted by Dale Lutz, VP of Product Development

Not that long ago, I was convinced RSS feeds were the last thing I needed. As someone who receives volumes of content daily via e-mail, I wasn't eager to adopt a technology that would send even more content my way via yet another mechanism. But the past year or so has made me a true believer in the utility and potential of RSS feeds. There’s now a ton of important information being posted in blogs - industry information that I need to keep up with. Becoming at least minimally competent at making use of RSS feeds, aggregators, and the like has been a very worthwhile investment.

Depending on who you ask, RSS stands either for Really Simple Syndication or Rich Site Summary, and was developed primarily to advertise website changes to interested parties. When combined with appropriate aggregation software, RSS feeds make it possible to keep your finger on the pulse of dozens of different websites without having to continually revisit each one. For me personally, discovering the FeedBlitz website has been a tremendous timesaver. Each day FeedBlitz collates updates to RSS feeds published by the sites I'm interested in and delivers the whole caboodle in a single e-mail that I can process during my daily news review. (If you’re interested, some useful background information on RSS feeds is available here.)

While discussing RSS, I should clarify an issue that often confuses folks. An RSS feed really is just an XML file. That's it - pure and simple. That XML file may be generated on-the-fly by a server and sent down to your web browser when you make the request, or it might be nothing more than a “file waiting” that is served up by a web server in exactly the same way as any other HTML file might be. So there's nothing really magical about a feed per se: it's really just a file that has either been prepared ahead of time, or is generated only when you ask for it.

Considering the utility of RSS, it's no wonder people soon started slipping location information into these web feeds. Suddenly we had GeoRSS - a fantastically simple and powerful way of disseminating not only information about events of interest, but also their location. The web’s equivalent of the newspaper boy yelling headlines in the street suddenly had a doctorate in geography and could tell you exactly where an event was taking place.

Despite my enthusiasm for web feeds and GeoRSS, early research into supporting both RSS and GeoRSS showed that this would involve a considerable amount of work. RSS/GeoRSS-enabling FME involved supporting something like nine different variants. Before location-enabled web feeds existed, there was already an RSS standard, and the competing Atom standard. And since both of these have been developing very quickly, a few versions of each are in use. Enter location. There are three different but commonly-used ways of inserting location into a web feed. There's the W3C Geo way, which merely adds a point value defined by lat/long coordinates into the XML file; then there's the "Simple" way, which accepts a handful of simply-structured geometries; and then there's the fully-dressed "GML" way which allows full-blown GML geometries in any coordinate system. To support all of these, we had to support each way of expresssing geometry in each of the web feed standards, for several of the versions of those standards. Both with and without spatial information. A great task for Safe’s co-op students, if I ever saw one!

Largely thanks to the efforts of our last group of co-op students, we were able to announce today that FME 2007 will support RSS and Atom feeds – including those without location data - as well as all variants of GeoRSS. (You can read today’s press release here, and there’s more information about FME’s GeoRSS support on our website.)

In any event, we’re excited to support this latest spatial format. There's no question that it's way cool to be able to view up-to-the-minute maps showing earthquake locations worldwide, and road rage hotspots indicated by bumper-to-bumper traffic in New York - all displayed on the computer in your office. But it's going to be even more fascinating to see how GeoRSS gets mashed up into Web 2.0 applications which will be run on handheld mobile devices by both consumers and field workers of all kinds - providing a vehicle for greatly improving awareness, and reaction times when it comes to breaking news of any sort.

And that's why I'm so excited about this new ability to write GeoRSS with FME. FME makes it pretty darn easy to take just about any kind of spatial data and produce a GeoRSS file, then place it on a website. Because FME can easily be run in a batch mode, it doesn't take much imagination at all to envisage how you could set up FME to refresh your “feed” every 20 minutes by just creating and outputting a new file to replace your previous one. And here's a preview of something we'll be talking more about in the weeks to come - in our labs here we have a powerful FME-based GeoRSS server that creates GeoRSS "feeds" on demand by simply running workspaces that output to the GeoRSS format.

Here at Safe we're already using FME to create a GeoRSS feed to publicize upcoming FME training courses in various locations around the world. You can view the results, displayed on two mashups we put together with Google Maps here and here. If you’re interested, the GeoRSS feed of FME training locations, as well as links to a number of other available GeoRSS feeds, are available on our website. Incidentally, we’d like to build our web page of GeoRSS feeds into a comprehensive resource for FME users, so if you come across an interesting GeoRSS feed, please send the URL to us at info@safe.com.

By the way, all that I’ve just said about GeoRSS is also true about traditional (non-spatial) RSS – FME can also be used to create and consume these too, and I’m sure some will find uses for that as well.

It’s always fun to be part of something big, and I know that when ingenious FME users get their hands on the ability to easily create targeted, focused GeoRSS from any kind of spatial and attribute data, they will be putting up all sorts of interesting information and making it available to who-knows-what applications to utilize in who-knows-what ways. I for one can't wait.




The screenshot above shows information obtained from a GeoRSS feed provided by the USGS. Each histogram represents the location of a recent earthquake, with magnitude indicated by the height of the histogram. The GeoRSS feed was transformed into a KML file in FME's Workbench application, then visualized in Google Earth.

0 comments: