INSPIRE Geographic Names Demo

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2015.x


In this demo we read UN gazetteer shape data and use the INSPIRE* GML Writer to write complex GML 3.2.1 data compliant with the INSPIRE Annex I Geographic Names application schemas. The workspace handles the complete process of data translation, transformation and GML generation. The first part of the workspace assembles the source data via the necessary source files and joins, and then transforms it to the INSPIRE schema using schema mapping. The second half of the workspace involves taking the relational geographic names data and writing it out as GML 3.2.1 data compliant with the INSPIRE Geographic Names application schemas.


Step-by-step Instructions

Data Assembly

  1. Read source shape data
  2. Filter data based on user value selection for countries of interest.
  3. Use PointOnAreaOverlay to perform a spatial join and combine add supporting attributes to the source gazetteer point features.

Schema Transformation

  1. Use FME's schema mapping capabilities to map from source schema to INSPIRE Geographic Names schema.
  2. Two possible approaches to schema transformation in FME are illustrated here. Note that only one of these methods should be enabled at any one time or you will get double the number of features.
  • Restructure with FME's AttributeValueMapper and AttributeCopier transformers.
  • Use a cross walk table with FME's SchemaMapper transformer to map from source schema to destination INSPIRE schema. Below are two examples that are used in this workspace: field renaming and conditional value mapping. These are just a couple from the many types of mapping rules possible with SchemaMapper. This is an ideal approach to collaborate with domain experts who may prefer to edit a spreadsheet rather than learn a new tool.


attribute name mapping
maps source field TEXT to destination GeographicalName.spellingOfName.text

conditional value mapping rule
where source CNTRY_NAME = "Italy" create field GeographicalName.language and set the value to "Italian"

INSPIRE GML Generation

  1. Feature and geometry id generation.
  2. GeometryPropertySetter is used to name the geometry column. AttributeCopier copies existing attributes and renames them. The coordinate system is specified with the CoordinateSystemSetter. For demo purposes, a Tester and AttributeCreator are used to create duplicate points for alternative spellings.
  3. Write INSPIRE GML. Instead of having to configure the XML structure and attributes within XMLTemplater, the user can now ensure that the desired output fields are supplied to the destination feature type and write out GML with the INSPIRE GML Writer.

When you run the demo, confirm that your XML validates both for syntax and against the INSPIRE application schemas. Also, confirm that you have created valid INSPIRE GML by reading it with the INSPIRE GML Reader. There is no need to manually specify the Annex I INSPIRE application schemas. FME ships with these and automatically recognizes and reads INSPIRE data.

Note while this demo yields INSPIRE compliant GML, it is included here for demo purposes only, does not populate all optional fields, and uses default field values in many cases. Still, the logic and patterns shown here are relevant to any transformation for reading multiple data sources, transforming to an INSPIRE schema and writing to INSPIRE schema compliant GML.


Note: This example is for demonstration purposes only. The resulting data is not to be used for any operational purposes.

* INSPIRE is a European Union directive that aims to create a spatial data infrastructure of EU data, which will enable policy making, especially environmental, across boundaries. INSPIRE also aims to improve public access to spatial information. For more information please visit the INSPIRE website.

Was this article helpful?



Please sign in to leave a comment.