Archive for March 2007

GeoRSS: FME Rocks My World Again

There’s a simple indicator I use to tell when I’m too busy at work; it’s called the FME scale. Any time it takes me over a month to play with a new feature in Safe Software’s FME, I’m swamped :)

In this case, it was particularly painful. I’m really interested in GeoRSS because I see the potential that it has for increasing the level of information my municipality can deliver to its residents. For instance, we could offer insight into current housing starts with a feed of new construction building permits.

For me, the beauty of GeoRSS is that it has value even without the maps. With a single format, I can publish information that our residents can view in their favourite feed reader, while allowing more sophisticated users to benefit from the spatial information.

As you can see from the following screenshots of a GeoRSS file displayed in Google Reader and Google Maps, I’ve finally found a little time to play around with the GeoRSS support in FME. You can click on the second image to see how it works. Keep in mind that the data is static, and not guaranteed to be accurate for any use:

Example of GeoRSS feed in feed reading software

GeoRSS for Nanaimo Building Permits generated by Safe Software FME

Until now, much of the GeoRSS that I’ve had a chance to look at has been point-based, so it’s nice to have a way of generating some more complex elements in Simple and GML varieties and, now that Google Maps supports GeoRSS, an easy way to visualise it.

So anyway, how did I generate this GeoRSS file? It was pretty easy, and I’ll take you through the steps.

First, I had to set some basic parameters for the feed in FME. This image shows the basic workflow, from create a single feature with no geometry, through to writing the feature out to the “Feed” output:

FME workflow for setting feed-specific attributes.

Inside of the AttributeCreator, I’m setting some basic values for the feed as a whole:

FME AttributeCreator used to set GeoRSS feed properties

Pretty simple, eh?

Next, I pull in some data from our property records database, and merge it with an Oracle Locator spatial table which holds the City’s parcel base:

Merge spatial and attribute data

And finally, I set the same the entry-specific GeoRSS parameters, this time using attributes of the building permit records instead of static text to fill in the blanks:

Populating GeoRSS entry attributes using FME

And that’s all she wrote. I still have to find time to fine-tune some of the attributes (such as dates and link), get some approvals, and work out the logistics of getting the data out to our external server nightly. It sure is nice that the technical part is so easy though.

If you deal with spatial data on a regular basis and haven’t evaluated FME, you’re doing yourself a disservice. Pick up the latest beta from their site (for GeoRSS support), request an evaluation license, and play around a bit. Everyone’s usage pattern is different, but I was able to justify the cost of my initial license and training with the time it saved over about six months. Safe Software deserves a lot of credit. Apart from the usefulness of FME, their support is incredible. They are the only company that I have ever dealt with where I felt I was getting real value from the software maintenance plan.

And, in case you’re wondering, they didn’t buy me a nice laptop or a 3D mouse to use while writing this. I’m just a satisfied customer :)

-J

Related posts

Student Coder? Love Maps? Need Cash? Click Here!

For a limited time only, students who submit a great proposal to OSGeo for Google’s Summer of Code have the chance to:

  • work on awesome open source geospatial software. Location is the new Web 2.0, and open source is where it’s at.
  • earn the adoration and respect of their peers (Ohh, look at Jenny… she’s an UberCoder)
  • interact with and study sought-after geogeeks in their natural habitat
  • make a bit of money ($4500 USD - certain restrictions apply)

This offer won’t last long. If you or someone you love might be interested, please call now:

http://wiki.osgeo.org/index.php/2007_SoC_Merged_Ideas

Seriously, if you’re interested, now is a good time to act. We haven’t received very many applications yet, and they need to be in by the 26th (the deadline was extended). More information on the summer of code can be found here:

http://code.google.com/soc/

And the student application guide is here:

http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-student-applicants

-J

Related posts

fdo2fdo Geospatial Data Tool

Today, Haris Kurtagic over at SL-King announced the latest release of his cool fdo2fdo utility.

This application hasn’t got much attention yet, but it sure deserves some. Initially used as a test platform for Haris’ open source King.Oracle FDO provider, it has quickly evolved into a general purpose FDO data transfer and inspection toolkit.

FDO2FDO Express Copy Example

Haris does a much better job of describing the functionality of this tool than I ever could in his flash movie. I really encourage you to have a look, but set your resolution to at least 1280×1024 for best viewing. As you’re watching, keep in mind that there is a command line utility included which can perform all of the common schema-related (ExportSchema, CreateDatastore, ApplySchema, CopyData) tasks. For usage you can just navigate to the isntallation folder and type f2fcmd from the Windows command line.

The demo shows SHP, SDF, and Oracle as datastores, but you can easily add any FDO provider to the application. These include things like MySQL, ArcSDE 9.1, and (read-only) any OGR-supported data format. The utility of this application is simply outstanding.

If you paid attention to the movie (and know where I work) you’ll be able to figure out my personal interest in this tool. It has allowed the City to set up a low cost one-click data synchronization between a remote field application and a corporate database. All this required was the judicial use of the “Filter” option, some saved XML transfer tasks, and pre-defined schemas. One cool feature (that we didn’t use) is that you can apply geometry filters, allowing you to transfer a specific area of interest.

fdo2fdo is currently only available in a windows binary download (with Oracle instant client bundled, which is why it’s so big), but Haris has assured me that after he cleans up the code he will be submitting at least the command line and API code to the FDO SVN repository under an appropriate OSI-approved license. Haris is new to the open source world, but he’s catching on really fast.

I believe that the API and command line tool were coded in standard C++, so I’m hoping that they can be ported to Linux shortly after he uploads them. I’m also hoping that the GUI portion of the application will be uploaded. It’s apparently written in MFC, so there isn’t an easy translation to Linux. However, it could act as a model to help someone else build a Linux-based GUI.

-J

Related posts

pyFDO is in the House - Yeah Baby!

You heard me, the Feature Data Objects (FDO) team just committed initial Python support.

I’m not much of a Python hacker, but I have great respect for it. Python has strong support in the open source geospatial world (Hobu and Sean have a lot to say about it), and it is also used by proprietary software such as Safe Software’s FME (pyFME) and ESRI ArcGIS (Hobu’s guide).

Blemishes first: this first code dump is Windows-only (Linux support is promised), and documentation is not yet available. However, the unit tests that were committed should provide an idea of how it works. I found the ApplySchemaTest to be the most instructive. I really encourage Python hackers to start looking at this. As we have found with MapGuide and Java, it can be hard to get everything exactly right with a wrapper, so I’m sure that constructive comments on the FDO users mailing list would be appreciated.

For anyone not familiar with FDO, it is a geospatial data abstraction toolkit, kind of like ODBC on steroids for vector and raster geodata. Earlier this month, following MapGuide’s graduation, FDO was accepted into OSGeo’s incubation process. The project is now taking steps towards a truly open development process, having formed its independent project steering committee (there are a couple slots available; get involved now!) and just posted its first RFC.

FDO has existing providers for many formats (such as SHP, SDF, WMS, WFS, ArcSDE, Oracle, and a whole range of raster formats), and leverages the OGR open source library to provide access to many other formats indirectly. Depending on the capabilities implemented by a specific provider, FDO can support complex geometry (three dimensions, circular arcs, geometry collections, etc), common SQL expressions, all of the standard geospatial predicates (disjoint, crosses, intersects inside, etc), locking, long transactions, and other “tough” features often associated with spatial data.

Since its initial release last year, FDO has garnered a lot of interest, with providers being developed independently by SL-King (Oracle), Refractions Research / Mateusz Loskot (PostGIS), and Safe Software (FME ; all supported formats).

I believe that with dedicated effort being applied to opening the development process around FDO, we will see a lot of good things from this project in the near future.

-J

Related posts