Special Announcement
Poll
How has your usage of Google Maps changed since Google changed its data source from a well-known vendor to itself?
I use it the same way as before.
I use it about the same, but now I report errors.
I use it less. 
I use it more.
Google Maps has a new data provider?
Webinar SignUp
Click below to sign-up for our latest Webinar

January 01
2010 Directions Media Webinars coming soon!
Directions Magazine, Web-based Mapping, Business GIS, GeoSpatial Consulting, Location Based Services
White Paper Downloads
Get the latest white papers from our sponsors
Directions Magazine, Web-based Mapping, Business GIS, GeoSpatial Consulting, Location Based Services
Articles
The GML Simple Feature Profile and You
By Sam Bacharach
July 18, 2006

Classified Ads:
If you are still wondering which mobile GPS you should buy for your GIS data collection and mapping projects: Download our white paper to see how our MobileMapper 6 GPS beats the competition with better accuracy and lower price. Visit Magellan Professional

_You are reading this because you have some connection to the geospatial industry. Undoubtedly, you prefer to work as efficiently as possible and not waste time, and you've likely been in a situation where you've deemed some problem "too hard" or "too time consuming" or "too costly" to solve. We've all been there.

Here's a problem that a growing number of geospatial software developers face: adding support for the Open Geospatial Consortium's (OGC) OpenGIS Geography Markup Language Encoding Specification (GML). Simply stated, GML is a standard to encode geometry and attributes using XML. Once the marketing department and user input confirm that supporting this standard is worth doing, programmers have to make it happen. Sure, programmers can do that; they can do anything. What's the big deal?

The big deal is that the current GML specification runs 600 pages, details 1,000 tags (named objects), defines many of the geometries for describing features on the earth, and also supports the ability to encode coverages (including imagery), topology, time, metadata and dynamic features. GML was designed to be very broad and cover many needs. Recall, too, that to fully implement the specification, the programmers have to create software that will not only write out data in this form, but also can read it in.

It's perhaps akin to requesting support for the 64 colors in the big crayon box. Did you ever watch a child with that box? Some will just pick out red, blue, green, yellow, black, orange, brown and blue and get to work. That's enough colors. The eight selected are not overwhelming and they offer a workable solution for drawing a picture of the family dog playing in the swimming pool in the back yard.

I do not mean to compare programmers to children, but rather to highlight the wisdom of both. Sometimes, many choices are simply too many. It's not worth the effort, time and money to buy and use the big box, especially when a smaller box, a subset, will solve the problem. In fact, GML was designed with the idea that smaller boxes with fewer colors would be created for use. In the standards world, a subset of specification is known as a “profile.” A profile defines which “colors” (geographic features and what not) go into the smaller box.

Just as the crayon company had to come to agreement on which colors would be included in the eight-pack, so, too, did those who wanted a simple profile of GML. In this case, those who created the GML specification, the membership of the OGC, determined which subset of the specification would be useful. In point of fact, any individual or group can create and use a profile of GML. This time it just happened to be the OGC membership, so the profile was moved through the official OGC process, making it an open standard after an adoption vote by the membership.

After some discussion, the group decided to include just "simple features." In essence, only the vocabulary of "simple features" is supported in the profile. Officially, the profile includes "points, lines, and polygons (and collections of these), with linear interpolation between vertices of lines, and planar (flat) surfaces within polygons." These geometries were chosen in part to support another specification: the OpenGIS Web Feature Service Implementation Specification, which defines an interface for sharing and editing vector data. Total page count of the Simple Feature Profile of GML? Just 35 pages. (I can hear programmers "high-fiving" around the world.)

Just as it’s easier to make an eight crayon box than a 64 crayon box, so, too, is it easier to add support for these roughly five capabilities, rather than for the entire set defined in the GML specification. What then, does this profile mean for geospatial professionals? OGC and its membership created the profile to encourage software vendors to step up and create software packages that implement it. That, in turn, will make it easier for encoded data to be shared back and forth between different packages, regardless of the underlying code or vendor. That was the goal of GML all along, though its comprehensiveness precluded its quick uptake in the early days. With profiles, complexity should no longer be an obstacle.

The GML Simple Feature Profile and other GML profiles that will appear in the coming months and years offer ways to create the right tool for the job, thus making everyone's geospatial life not only more interoperable, but also easier.

Bookmark and Share

Your Comments
Post a comment
All comments provided in this section are those of the individual who has created the post. These are not the opinions of Directions Media, its editors, staff or owners unless otherwise noted. Directions Media retains the right to edit or delete any comments posted herein.

Why did this take so long? (#1)
by Chris Holmes, The Open Planning Project
   
Date: July 17, 2006 23:34 PM
This is great! Why did it take over 3 years to write a 35 page specification? 3 years to create something to 'encourage software vendors to step up and create software packages that implement it?' Shouldn't that be the first step? Could you guys please in the future only adopt specifications that encourage implementations? Come out with the eight crayon box _before_ the 64? So interoperability means more than just those who are already in the club?

Don't get me wrong, I'm a huge OGC supporter, but I just really want nice migration paths like this to new specs, instead of having to wait 3 years until some one remembers programmers might actually have to implement some of it.


Re: Why did this take so long, and why is the GML spec so fat anyway (#2)
by Simon Cox, CSIRO
   
Date: August 9, 2006 03:36 AM
The basic answer to the question posed by Chris is that the OGC Specification Pprogram is supported through effort contributed by members. Prioritization is ultimately up to the "volunteers" (which in most case implies the employers of the editors). But perhaps more important is the fact that the pool of competent contributors is small, and most of them are involved in editting several specs. More hands would make lighter work, and a faster cycle.

A couple of comments on why the spec was so fat in the first place:

1. there was an early decision to bundle all the components required for geography into one spec and one namespace. This includes coordinate reference systems which are fundamental to understanding coordinates. However, this plumps up the spec by several fat chapters, and the code by several fat schema documents, most of which are never used in implementations. There are other less-used capabilities that many would consider "optional". In hindsight bundling it all into one spec was probably an error. It also complicates the revision cycles.

2. There was pressure from some parties to complete the geometry schema, so that all the types specified in ISO 19107 were included in GML. We did this, but it doubled or tripled the size of the geometry schema documents. Some of the same interests then came back and complained about the size of the spec. Sometimes you just can't win ...


Advertisers