GML (Geography Markup Language) Reader/Writer

Licensing options for this format begin with FME Professional Edition.

The GML Reader/Writer allows FME to read and write files in the Geography Markup Language (GML) format.

Note: This chapter assumes familiarity with the GML format.

Overview

GML is an OpenGIS® Implementation Specification. The GML specification defines an XML encoding for the transport and storage of geographic information. This specification can be found at the Open GIS Consortium website www.opengeospatial.org.

GML documents must be instances of a conforming application schema. Conforming application schemas are to be defined with the W3C’s XML Schema language.

Versions

Reader: GML v2.1.2, v3.1.1, v3.2.1 files, and application schema.

Writer: GML v3.1.1 and v3.2.1 files.

Reader Overview

Multi-value properties, i.e., declared with a maxOccurs that is greater than 1 or unbounded, are supported and are mapped into list attributes.

GML properties that are defined as complex types are supported – these complex properties are mapped as structured list attributes.

This reader supports multiple geometry properties per feature type: see the Map Geometry Columns reader parameter.

Writer Overview

The GML writer may either write to an existing GML Application Schema, or output a dataset and a schema document corresponding to the GML writer’s feature type definitions.

To write to an existing GML Application Schema, the writer’s GML Version parameter must be set to 3.1.1 (which is the default). In this mode, the GML writer will write a single dataset file corresponding to an existing GML Application Schema. The writer will create an XSD that is based on the writer feature type definitions, in the same folder and with the same file basename as the output dataset.

Two XML documents are written, a GML instance and its corresponding GML application schema. The GML application schema structure is controlled by the GML writer’s user attributes.

Currently, only simple GML geometries, i.e., geometries with linear interpolation, are supported.