GML Profiling: Why It's Important for Interoperability
|The ArcExplorerJava Edition Interoperability extension can write feature layers as GML documents.|
As a principal member of the Open Geospatial Consortium (OGC), Esri has a representative on the Board of Directors, as well as members on the Planning and Technical Committees, and participates in test beds, pilot projects, and specification products. Esri was the lead author for the OGC Simple Features SQL standards submission and participated in the COM and CORBA submissions. Esri's OGC interfaces were among the first to have been through the OGC conformance-testing program.
Esri has also worked on the development of Geography Markup Language (GML), an XML encoding for the modeling, transport, and storage of geographic information. GML 3.0, released in February 2003, has an extensive and elaborate framework. This article will focus on GML profiling and why it is very important for interoperability.
The encoding model used for GML can be summarized quickly by citing a few rules. First, the root tag is always a FeatureCollection. Feature Members exist inside a FeatureCollection and these Feature Members can be either another FeatureCollection or a Feature. Features can contain complex properties represented in multiple levels of nesting in XML. Features can also contain multiple geometry fields as well as XLinks (i.e., XML Linking Language elements, which are inserted into XML documents to create and describe links between resources). Features can be remote features represented inside a FeatureCollection through an XLink. Features inside a FeatureCollection don't necessarily have any common properties since a FeatureCollection can contain nonhomogeneous features.
Although these rules can allow great richness in feature model descriptions, this richness doesn't necessarily help achieve other goals such as interoperability and wide implementation. From a GIS point of view, a FeatureCollection corresponds to a Layer. If a FeatureCollection contains endlessly nested levels of other FeatureCollections, this translates into one layer with endless sublayersnot very good practice from a GIS point of view. Also, nonhomogeneous features inside a FeatureCollection do not correspond to the structure of a layer with homogeneous featuresit is more like a layer populated with sublayers for each feature. In GML, complex XML properties would become XML types rather than the usual data types, which might mean that the semantics surrounding these types, will be ambiguous. These examples show why profiles are needed. A profile offers a controlled subset of GML that makes interoperability and wide implementation more achievable.
Esri has taken the initiative by defining a GML profile and implementing this profile in a free software extension. Esri is working closely with other OGC members to define an OGC profile that will be standardized. Through this profile, interoperability can be achieved between different vendors' implementations. Inside the profile, some strict rules are defined that adhere to common GIS modeling approaches. Examples of some of these rules include
- FeatureCollection should not include endless levels of other FeatureCollections.
- A FeatureCollection should include a homogeneous set of features.
- Features should contain well-defined data types.
Within the profile, different GML application schemas can be defined. An application schema describes the structure and the types used in a GML document. Application schemas that adhere to the profile allow many different data models to be described while still making interoperability between different vendors and applications possible. A valid GML document for an application schema contains the data for that application. Both the application schema and the GML document are used together within an application.
Esri is now providing an implementation of this profile available through the ArcExplorerJava Edition Interoperability extension as well as the ArcIMS Web Feature Server (WFS) connector. Esri is planning to roll out more product extensions based on GML profiles and will continue working on the profile to achieve more robust capabilities that can utilize all of the GIS models.