Workflow: Create Code List References in GML 3.2 and GML 3.3

  One of the most common questions we got is to explain how to create and use coded values from lists. This article provides a summary of how to use HALE to create the appropriate references in a GML 3.2 or 3.3 target schema.

GML 3.2: CodeType

In GML 3.2(.1), references are modeled using the CodeType element. Citing from the GML spec, “gml:CodeType is a generalized type to be used for a term, keyword or name. It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term.”

In hale, such a CodeType consists of two elements, the main attribute, which will hold the classification value, and the codeSpace subattribute, which will contain a URL/URI to identify the code list from which this classification value was selected:


To map such a CodeType, you need to create two cells – one usually a reclassification cell which has the CodeType as target, and an Assign cell to provide the URL to the codeSpace:


The result will look like this in the Transformed Data view:


One issue with this was that there was no consent on how these codeSpace URLs should look like, and there was no requirement for them to be resolvable. This changed in GML 3.3, which is now also used by INSPIRE for Annex II and III specifications.

GML 3.3: ReferenceType

With these shortcomings in the current approach, GML 3.3 does things different: It uses a single URL to reference both codelist and the value therein. In the case of INSPIRE GML, such a single URL follows the pattern


An example would be http://inspire.ec.europa.eu/codelist/HILUCSValue/1_PrimaryProduction/. We are using the following approach to create the reference, which looks like this in the Schema Explorer:

hale_codetype_refs_04 This is the typical structure of a full XLink. Usually, for pointing to a code list value, creating a simple XLink is completely sufficient. For this, you only need to set type to “simple” using an Assign mapping, and a classification mapping cell which targets the href attribute and writes the complete URL according to the pattern described above:


However, there is also a choice of more complex options available such as relative pointing in a document tree using an Xpointer. You can freely change the approach to take in HALE – it’s not fixedly bound to a single schema.


INSPIRE 2013: Implementation Experience Reports

With the work of the Data Specification teams and initial implementation efforts being completed, there were a lot of experience reports at this year’s INSPIRE conference. This post highlights two of those, which were especially interesting in the context of data transformation and harmonisation.

The first experience-centered talk carried the title “A successful experience of implementation of INSPIRE Specifications Data with different tools” and was given by Paloma Abad and her team (A. F. Rodríguez E. López, A. Sánchez, A. Villena, L. Hernández, I. Serra M. Juanatey, C. Soteres, C.Ruiz) at IGN, Spain. The presentation contained a very nice list of requirements for any data transfpormation tool to be useful in the production of INSPIRE data sets – the tool should…:

  • Make inspire easy
  • smart and powerful
  • with automatic transformation capabilities
  • cheap or free
  • mature
  • open source
  • Quality of transformation
  • Multiplatform,….

Their experience was that current transformation tools are not easy to use and require enough experience in its use, aren’t open source and or free of costs, or have limited functionality. In the end, the group thus selected a combination of tools – Esri’s ArcGis for INSPIRE, Safe Software FME and GeoConverter by Geobide to evaluate and to achieve results. Their conclusion was that with each tool, the stated goals could be achieved – i.e. the tools were used to transform Geographical Names and Administrative Units form multiple input data sets to INSPIRE GML that would be validated by the validation tools available through the INSPIRE portal. They stated that, as usual, the applications tested have advantages and disadvantages depending on:

  • the local data model,
  • the INSPIRE data specifications,
  • the complexity of the transformation process and
  • the software used to publish the INSPIRE Network Services

An interesting suggestion was that the INSPIRE Geoportal should have a list of software applications where we can see the degree of conformity of tools. Of course this would mean that somebody would need to do the conformance testing or even certification – and that would require tools that go beyond the capabilities of those currently available, such as the Test Suite of GDI-DE, the dataset validation tool developed in Bavaria together with Interactive Instruments or the service quality tools developed by Spatineo.

Dominique Laurent from IGN France then gave her presentation titled “INSPIRE services in NMCAs“. She summarized experiences gathered by the INSPIRE Knowledge Exchange Network (KEN) on the implementation of discovery, view, download and transformation services for Annex I data. She started with the issues encountered with discovery services and state that “It is difficult to get good quality, INSPIRE compliant metadata from other data providers. Situation may be even worse for annexes II and III themes”. Furthermore, INSPIRE has a thematic approach (one theme, multiple scales) whereas NMCAs have a product approach (several themes, one scale). This induces a mismatch in the creation of the metadata. Technically, a remaining challenge on Discovery Services is the synchronisation of data and metadata.

On View services, there are also multiple challenges, but in general, the situation is quite good: “There are open-source tools (Deegree, Geoserver, Mapserver) that are compliant with INSPIRE requirements (at least, with IR). Commercial solutions (ESRI, Intergraph) also claim INSPIRE compliance.” One item I noticed as well is that “the display of INSPIRE layers gives bad rendering (poor INSPIRE legends); it is almost meaningless for some themes (AD, GN). Users prefer viewing cartographic products, traditional maps, at least as background”. Especially for View services, but also for data analysis, it would be important to have good default SLDs for the INSPIRE themes.

Of special interest was her discussion of INSPIRE transformation services that followed. The KEN group had come to the conclusion that “Transformation services are useless: Coordinate transformation already done by WFS, Schema transformation requires too much knowledge from users“. This might be surprising at first, but actually there are a lot of good reasons why externally accessible transformation services are not (yet) needed by the NMCAs:

  • Annex I Data sets are often not subject to high-frequency updates.
  • The target requirements are fixed – in the form of the INSPIRE Data Specifications.
  • The data sets to be published are known in advance and do not consist of a small portion of a big data set.

Of course, data providers need to have an internal process in place to synchronize between their primary systems and the INSPIRE services, which might include different types of transformation services or applications. The choices how this is currently implemented are pretty wide.

Transformation services have potential especially for data users, not data providers – users need to transform (integrate, harmonize) data so that they can use it in their processes. Each user might have different requirements, but collectively, there will be a lot of overlap between transformation service requirements of users. The main question is whether there will be specific service providers (be it private or public) who can build a business model to satisfy (INSPIRE) data user’s common requirements.

Esri User Conference 2013

On Monday 8th of July, Esri’s International User Conference starts in San Diego. It’s a great event for the whole geospatial industry – hardware vendors, software and system providers, users from all walks of life. I will be there for the full week, mostly meeting and presenting in relation to my ArcGIS for 3D Cities and the upcoming Web 3D Services activities. If you would like to meet me to discuss data harmonisation-related issues or just get the latest on HALE features or support, just drop me a mail at info@dhpanel.eu.