rajsingh.org blog

the geoweb, interoperability, OGC, and random rants
November 2nd, 2009

At FOSS4G 2009 I finally went to a code sprint, partly as a form of meditation, and partly to see if I had any developer chops left. Well the jury is still out on that, but it was relaxing, and what came out of it was the first release of SimpleWFS.

SimpleWFS is a 100% Java servlet that serves any data in PostGIS via the WFS Simple API. Output formats supported are BXFS and KML, among others (GML and Atom coming soon). My hope is that SimpleWFS can be up and running in under a half hour, exponentially increasing the ease of getting more spatial data on the web.

Please try it out and help improve it.

October 29th, 2009

The big Testbed of the year is hot out of the oven at http://www.opengeospatial.org/standards/requests/60. I’ll be running the “Feature and Decision Fusion” thread, which I’m very excited about as it gets me back into some of my favorite topics: geo-statistical analysis, online thematic mapping, and decision support. Bon appetit!

September 24th, 2009

Love to see companies embrace better data sharing:

One of the things we’re pretty concerned about around here is something called data liberation. Too often, your stuff’s locked inside proprietary file formats that force you to use whatever tool you used to create it. We don’t think that’s right, so we’re doing what we can to make it easier to move your data around.

COLLADA is a 3D file format based on open standards; it makes it easier to move your models between different pieces of software. KMZ is the standard file format for packaging 3D models together with information about their geographic locations. SketchUp 7.1 can import and export COLLADA and KMZ files

http://sketchupdate.blogspot.com/2009/09/sketchup-71-is-here.html

July 14th, 2009

Bjørn Sandvik does a great job explaining why the usual ways of projecting KML data don’t work well for world maps. For example, often “Greenland looks like the same size of South America, while it is actually 8 times smaller.” Specifying coordinate reference systems (CRS) in KML was one issue OGC struggles with when considering new features for KML. Do you think one should be able to at least “hint” at what CRS should be used for a particular KML file?

KML projections [From KML projections]

July 22nd, 2008

I was at the Earth Science Information Partners (ESIP) meeting last week, and was a little surprised at how much these folks like KML and GeoRSS. OGC stalwarts generally think of simple encodings like these as just good enough to get the job done, if the job you’re doing is pretty simple. The jobs of ESIP members is not, however, simple.

This group is comprised of NASA researchers and other earth, air and water scientists who regularly deal with multi-terabyte databases of satellite imagery and other GIS data sets, so you’d imagine that they would be quite content with their high-end GIS systems. But while there was certainly plenty of industrial strength GIS going on, a good third of the attendees came to the KML and GeoRSS Birds of a Feather session. This made me realize two things:

  1. The work we did in OWS-5 on defining how to output KML from a WFS will be very useful
  2. We’d better tell people about it so they don’t duplicate our efforts

So at this point you’re probably saying, “get to the point. How do you output KML from WFS?” The easy way is to just get software that does it. In OWS-5, the open source Geoserver and Galdos Systems’ commercial product Cartelinea implemented this functionality. If you have your data in PostGIS, ArcSDE, Oracle Spatial, or Shapefiles, just set up the Geoserver or Cartelinea to server that data via the WFS API and you get KML support for output automagically.

If you want to know how to code your own support, you’ll need to read the upcoming revision to the “Styled Layer Descriptor profile of the Web Map Service Implementation Specification”, but I’ll give you the 30-second version here.

A WFS outputs only data (usually in GML format). KML, however, is data plus styling rules. So to control the output of KML from a WFS, you specify the data you want with a normal WFS request, but you also specify the styling rules using the Styled Layer Descriptor (SLD) language. We call this combination of data request API and style configuration a Feature Portrayal Service (FPS). It’s pretty much a melding of the WFS and WMS APIs. So if you’re familiar with WMS, WFS, and SLD, implementing FPS is straightforward. Just read that SLD profile of WMS document and let me know how it goes.