home about me blog photography web gis stuff contact news guestbook search  
Dan Karran

« My first paid Drupal site | Main | Stuttgart JAG site launch »

Drupal as a WFS

Recently I have been looking into the specifications for the Open Geospatial Consortium (OGC) Web Feature Services (WFS) that provide a standard interface between geographic information systems (GIS) for the transfer of geodata.

I've been starting to think about it in terms of using the Drupal web framework as a geodata store that can be used by any standards compliant GIS. Drupal can already be considered a Geospatial Content Management System (GeoCMS) so this seems like a natural extension to allow other systems to talk to it.

In GIS, the term 'layer' is usually used to group together geographic information relating to the same kind of feature, e.g. forests, places or roads. These are often stored in different files or different tables in a database. In Drupal the equivalent concept is a little more flexible and fine-grained. All of the information is stored in one place (with the ability to extend a basic piece of information with extra attributes) and can be filtered by any number of 'tags' that may be assigned to different pieces of information.

Using a WFS server as an interface to data held in Drupal would mean that systems would have access to any number of geographic datasets simply by combining tags to retrieve the data that they need.

I'm looking forward to putting more work into building up a spec for a WFS Server module for Drupal, and hopefully one day geographic information systems will be able to query Drupal for dynamic geodata, and even create, update and delete it as well.

Posted in , , at 2:32 PM on Thursday 27 July 2006
Tags:

Comments

With a really basic GetCapabilities component built I can now get uDig - a user friendly desktop internet GIS - to think Drupal is a WFS server.

Having got this far I need to put some more thought into how to deal with separating geodata layers (or feature types as they're known in the WFS) because specifying each tag as a layer in itself is starting to sound like it may become unwieldy as the number of tags grows over time. Perhaps allowing a site administrator to choose which tags should be made available as layers would be a good idea.

Posted by: Dan Karran [TypeKey Profile Page] at July 28, 2006 3:53 PM

I've spent some more time thinking this through and I believe the best way to do this would not be to create a layer per tag (these should simply be a filter) but instead create a layer per node type in Drupal.

For node types like story, blog post and page, the distinction between them is not always obvious, but for custom node types it starts to make more sense. Grouping each node type together creates different layers each with the same set of attributes for each entry in that layer.

Posted by: Dan Karran [TypeKey Profile Page] at August 8, 2006 2:40 PM

I disagree. Using Taxamony as the equiviland as layers is the way to go. I've been using Taxamony as layers in my drupal/google maps application at greenmap.lifecyclesproject.ca and it works great. (Currently broken, should be fixed within days). I started from a dataset of a few thousand points, all catagorized into about 25 different layers. Creating a different node type would have been a pain, however, using the node import module along with the taxamony import module allowed me to import the whole dataset without difficulty. Also, many layers in GIS are heirarchical or relational. Taxamony already do this, node types do not. I would love to chat more on this if you would like: "patrick dot d dot hayes at gmail dot com"

Cheers

Patrick Hayes
LifeCycles

Posted by: Patrick Hayes [TypeKey Profile Page] at September 25, 2006 11:17 PM

what about the ability to consume wfs on the drupal side - what would be necessary there?

Posted by: ivan at May 17, 2007 7:54 PM

Post a comment




Remember Me?

(you may use HTML tags for style)

 

 

©1995-2008 Dan Karran. All rights reserved. View sitemap.