Standards Profiles - Making Standards More Interoperable and Less Complex

Sam Bacharach
Executive Director, Outreach and Community Adoption,
Open Geospatial Consortium, Inc.
sbacharach@opengeospatial.org
An artist view "profile" as - "the outline or contour of the human face, specially, the face viewed from one side." This view is popular among painters, photographers and those making silhouettes. But why is this so?
The answer is very simple as, it shows key parts of the face, the detail of the nose and chin, a bit about the hair, but leaves out a good deal. In many cases, it's just the right amount of information to understand what someone looks like.
Similarly the Profiles of a standard have a similar quality. Remember that a standard is a document that details a technological area with a well-defined scope, primarily for use by developers as directions for implementation. Standards are designed to solve a specific interoperability problem and therefore must be inclusive. Many are also designed to be both technology and industry agnostic and apply to as many cases as possible. The resulting breadth can make a standard appear overly complex. In the case of encoding standards, such as the OpenGIS® Geography Markup Language Encoding Specification (GML), the sheer number of options can make implementers hesitate using it. Further, there is the very real problem that independent implementations of such a standard will not be interoperable. Therefore, the geospatial community and the OGC® have been working hard to define profiles of our standards. A profile represents community consensus on a restricted subset of a standard designed with a well defined scope.
Simplifying Complexity
Standards, such as GML, define numerous elements, some mandatory and others optional that can be implemented. For example, The 600+ page GML standard defines XML schemas for numerous geometry types, features, metadata, topology, observations, coverages, time, measurements, presentation and so on. If one user chooses to use one set and second user a different set, the two systems' encoded data will not "match." Profiles are designed to trim down the list of options and ensure that multiple implementations can easily interoperate.
Recognizing this problem, the OGC as well as the broader geospatial community has defined and agreed on a number of GML profiles. The GML Simple Features Profile, approved earlier this year, allows just simple geometry, and is fewer than 30 pages in length (not including annexes). The GML Point Profile, which includes just points, is just five pages. A proposed GeoRSS profile is fewer than 10 pages!
GML Point Profile
A very simple GML profile includes just information about points. The GML Point Profile (
http://portal.opengeospatial.org/ files/?artifact_id=11606) at first glance may appear too limited for multiple uses. In fact for complex data such as polygons or routing, it's inappropriate, but consider that most location-based services (LBS) applications work with just a coordinate pair that identifies the location of the device. Those devices are typically small and are expected to receive and send data quickly, implying that data should be as compact as possible. Many other uses of location require just a simple point including Web applications that associate a location with a digital photo. As we go to press the GML Point Feature Profile is an OGC Discussion Paper. However, the GML Point Profile will remain in use by other standards organizations.
GML Simple Features Profile
The Simple Feature Profile (
http://portal. opengeospatial.org/files/?artifact_id=15201) was developed and approved by the OGC members to define more information than the point profile, but not everything in the entire GML specification.
The GML Simple Feature Profile (GML SF) specification defines a set of encoding rules that allow only simple feature geometries to be encoded: points, lines, polygons and a few others. This subset is particularly useful for applications that intend to use the Web Feature Service Implementation Specification to define an interface for sharing and editing vector data, since it can operate effectively with just a small set of geometry types.
Consider the implications of this profile to software developers. A vendor who wants to implement support for GML in its software, can choose to support the full (600 page specification) or just the Simple Features Profile (30 pages). The latter means that programmers need only to insure the ability to write out and read that small subset of possible feature types defined in GML SF. When the GML specification was first approved, some software vendors were wary of implementing it due to its size and complexity. They believed that the cost to develop and support GML might not be worth the effort. With the approval of the Simple Features Profile more and more vendors are implementing this smaller subset of GML. That in turn will mean more wide ranging interoperability for software integrators and end users.
GML in JPEG 2000 for Geographic Imagery Encoding Specification
The GML in JPEG 2000 Profile (
http:// www.opengeospatial.org/standards/gmljp2) is geared to a specific task: to provide only the information relative to an image, including that which is needed to locate the image on earth's surface. The profile works in part because ISO, under whose auspices the JPEG 2000 Specification was developed, left a "box" available just for the storage of that information. As with the Point Profile, this is a tiny, trimmed down GML profile; the entire specification would be far too much.
GML Profile for GeoRSS
RSS (Really Simple Syndication or Rich Site Summary) is a tool to Web feed information via XML. The GML profile for GeoRSS (
http://www.georss.org/gml. html) defines a specific structure to store spatial information in those XML documents. In fact, GeoRSS GML is a super-set of the GML Point Profile and a subset of GML Simple Features Profile. It includes just four geometry types: point, line, polygon and box. GeoRSS was developed by a consensus collaboration of a number of interested geospatial and IT professionals and is not currently an approved OGC specification.
Creating Profiles
Profiles can be defined and used without going through an OGC approval process. Since many of the GML profiles to date have come from inside OGC, they have also been submitted for formal OGC approval. Those that are approved store their details in the official namespace, a webpage permanently assigned to that specification. For GML, the namespace is
http://www.opengis.net/gml.
Build Your Own Profile
As part of its work on GML, OGC has developed a tool that anyone can use to build a GML profile. The profiling tool (a pair of XSLT scripts) is actually part of
the GML 3 specification and permits the automatic generation of a profile, or a profile starting point, should users want additional manual editing or schema restriction.
The Future
The handful of OGC approved GML profiles are likely to be just the beginning of a long list. The GML Simple Features Profile has already persuaded software vendors to implement support for GML, where they chose not to be in the past. The GML in JPEG2000 Profile offers a simple way to store imagery-related data inside the ISO JPEG2000 format. Other GML profiles, some formally approved by OGC and others that are not, will appear in the coming months and years, which offer ways to create the subset of the complex whole for the job at hand and thus making everyone's geospatial data encoding and sharing more interoperable, and less complex.