Geodata for everyone - model-driven development and an example of INSPIRE WFS service
© The Author(s). 2016
Received: 15 February 2016
Accepted: 2 June 2016
Published: 16 June 2016
On the first January 2013, everyone in Denmark received a wonderful new year present from the Danish government: “Free and Open Geo-data”. This means that everyone is free to use, reuse and redistribute the geographic data published by the Danish Geodata Agency. As Denmark’s central public source of geographic data, the Danish Geodata Agency is responsible for surveying, mapping and land registering of Denmark, Greenland, the Faroe Island and all waters associated with these. The overall goal of the organization is to supply and ensure that everyone in the Danish society has access to reliable and accurate maps and geographic information on all parts of the country.
This article presents a model-driven development process which has been established in the Danish Geodata Agency for unified distribution of geographic data. The process starts from the conceptual modeling of the geographic data to the end where data are distributed via WFS services and download services.
By adopting this model-driven development process, we have automated the process from data modeling to data distribution. We have defined the national data models which comply to INSPIRE data models, thus we maximize the re-use of national spatial data for the INSPIRE services.
From our experience of using this model-driven development process, we conclude that it improves our INSPIRE compliant, national spatial data infrastructure and ensures free and open access to the high quality geographic data.
KeywordsModel-drive development Geo-data WFS Basic data eGovernment UML GML ShapeChange Database schema DDL GO Publisher INSPIRE QGIS
Make all public basic data free. Everyone can freely use public-sector basic data for commercial as well as for non-commercial purposes.
Warm wash of all public data. Enhance the quality of data and improve the coherence in the basic data registers.
Technical harmonization. Ensure that data conform to the same technical requirements.
Common public data distributor. Establish a common single distribution system to improve the distribution of data. From the beginning of 2016 the Data Distributor will distribute geographic data such as maps, cadastral maps and other geographic data.
Governance. Establish a cross-institutional national board to ensure efficient, effective and coordinated development and use of basic data.
The basic-data programme requires that all the authoritative basic data should be defined and standardized according to the same methods. As Denmark’s central public source of geographic data, the Danish Geodata Agency has established a set of guidelines for future modeling and distribution of spatial data. Based on the guidelines, a model-driven development process has also been established to automate the process from business modeling to data distribution. This paper describes this model-driven development process and uses a practical implementation of INSPIRE Web Feature Service (WFS) as an example to show how this process improves our INSPIRE compliant, national spatial data infrastructure. Section 2 describes the architecture of our model-driven development process and the tools used of the process. Section 3 presents a WFS INSPIRE service as an example of our results and discuss the challenges. In Section 4 some conclusions, as well as future works, are presented.
Model-driven development of Geo-data
Geographic information has become a more and more important part of the application domains. To incorporate geographic features from the real world into digital data representations, modeling is a powerful abstraction mechanism. The relevance of conceptual modeling is widely applied in spatial data infrastructure (SDI) initiatives such as INSPIRE programme and European Location Framework (ELF) programme. Implementing an effective data distribution environment adhering to the conceptual data models is the primary idea behind establishing this model-driven development process in our organization. In this section the technical implementation and the tools used in the implementation are described.
From modeling to documentation
The first step in the process is to use UML to describe the business process or production system in Enterprise Architect. The basic-data committee has provided a model document, where common model rules and common basic metadata attributes for object classes are defined. It is a requirement that our geo-data must follow the model rules, have the required metadata attributes, and comply with the ISO standard and INSPIRE specification. Object Constraint Language  (OCL) is used for defining constraints, since ShapeChange supports parsing of OCL constrains. Data specification documentation for end-users is exported via dynamic HTML by the built-in functionality in Enterprise Architect for convenient browsing via the web.
From modeling to GML schema
After the UML model has been defined, we use ShapeChange to generate GML application schemas from the UML. ShapeChange uses a set of encoding rules to convert a UML model to GML schemas. Which combination of encoding rules will be used in ShapeChange will depend on which version of GML is desired in the output. By default, ShapeChange generates schemas that conform to the GML 3.2 standard, which is also used in the INSPIRE GML schemas. The encoding rules for the conversion are described in UML-to-GML application schema encoding rules of [OGC 07–036] Annex E .
The resulting structures can become quite complex, which makes it difficult to convert data into formats that do not support such complexity, for example Shapefiles. To simplify the complexity, ShapeChange provides a flattening function. The Flattener supports a set of flattening rules. In our case, the property “id” is flattened by using rule “rule-trf-prop-flatten-types”, and the “landekode” (country code in English) which is defined as “gmd:Country_PropertyType” is flattened by using rule “rule-trf-prop-flatten-codelists” to a string type.
The GML schemas generated from this process will be used later in the process by other tools to distribute or read the data.
From modeling to database schema
Each concrete class is mapped to a table.
Object relationships in UML models are implemented as primary key and foreign key in database.
Each property is converted to a column in the database.
After the database schema has been generated, it’s also important to make the necessary performance tuning such as building effective indexes.
With the distribution database schema ready, the data from production can be loaded into geodatabank by using a set of mapping and validation rules.
From modeling to distribution
We use GOPublisherWFS or GeoServer to set up WFS services and distribute data via WFS services. These services are easy to access and are provided free of charge. For details, see http://www.kortforsyningen.dk/.
The internal users can use GIS tools to connect to the database directly.
FME is used to generate predefined dataset in different formats for download. They are available for download via our web shop free of charge. For details, see http://download.kortforsyningen.dk/.
Results and discussion
Using model-driven development to implement INSPIRE WFS service
INSPIRE is a proposed European Directive that aims to create the legal framework for making relevant, standardized and quality assured spatial data available for the Member States of the European Union (EU) . INSPIRE is based on the infrastructures for spatial information that are created by the Member States and that are made compatible with common implementing rules. For each Member State it is necessary to establish a search and distributions system based on network services and portals to make access to spatial data easier and to improve compatibility and interoperability, as well as it is necessary to develop agreements on access to and use of spatial data. The Joint Research Centre of the European Commission has developed a prototype EU Geoportal that is an entry point to the discovery and viewing of spatial data sets and services . The implementation of a prototype EU geoportal helps to better understand user requirements and identify potential problems, and to define the standards-based technical specifications of the actual implementation of INSPIRE.
The INSPIRE Directive is transposed into Danish law concerning the setup of an Infrastructure for Geographic Information. This law came into force in May 2009 and hereby geographic information becomes a key component in eGovernment. The Danish implementation of INSPIRE is as far as possible be linked to actual developments of the Danish SDI and the eGovernment initiative. With free and open Geo-data as part of the country’s eGovernment strategy for 2011–2015, it is expected to overcome the data sharing challenge which is one of the three strategic challenges for SDI development addressed by Masser et al. . In order to overcome the challenge on enabling platforms, the Danish SDI includes also platforms such as www.kortforsyningen.dk and download.kortforsyningen.dk. These platforms provide the access to the geographic information and services, and link the data providers and data users.
From national object to INSPIRE theme
Our basic data are “Inspired by” INSPIRE principles . This means that data are collected only once, distributed according to different specifications and shared with many users and applications. In this chapter, we are going to show how we re-use the national data produced by this model-driven development process to implement an INSPIRE WFS service.
From national dataset to INSPIRE dataset
Mapping dataset to INSPIRE schema
To ensure the mapping from our national data to inspire data is efficient and lossless, we conducted the following attribute mapping. First, we identified the attributes in the INSPIRE schema that we have national data to fulfil. Secondly, we identified the attributes in the INSPIRE schema that can be mapped to a constant value. Thirdly, we identified the attributes in the INSPIRE schema that should refer to the data sets in INSPIRE, for example “CountryCode”. Lastly, there are also quite some “nillable” attributes in the INSPIRE schema that we have no national data to fulfil. They were defined as xsi:nil = “true” with proper nilReason.
Access WFS with GIS client
no Access to codelists
structure is not reflected, they are flattened in the attribute table
attributes such as units, nill-reasons are not accessible (e.g. units, nill-resons)
In this paper, we have presented the background of establishing a model-driven development process and described how we use it to develop and distribute our geographical data. By adopting this model-driven development process, we have automated the process from business modeling to data distribution and reduced the time taken to implement a new product. This process ensures consistency between the various implementation schemas (GML, DDL, ArcGIS, etc.) as they are no longer manually created by different developers. The defined models in our process comply to INSPIRE data models, which maximize the re-use of national spatial data for the INSPIRE services. As an important part of the national SDI, it has resulted in a much broader access to the national geo-data collection and greater use of these data in the public and private sectors.
Currently, we continue producing INSPIRE and ELF services by using this model-driven process. We’re sharing experience and results with other European countries.
As future work, we will extend this process to other public geospatial data producers. We expect that the common data modeling principles and standards will improve the effectiveness and interoperability of national and regional SDIs. It is also expected that this model-driven development process will ensure the INSPIRE and ELF implementation in Denmark on a more authoritative basis.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
- Good Basic Data for everyone” - The Danish Government/Local Government Denmark, October 2012. http://uk.fm.dk/publications/2012/good-basic-data-for-everyone/~/media/Publikationer/Imported/2012/Gode%20grunddata%20til%20alle/BasicData_UK_web_2012.10.08.ashx.
- Unified Modeling Language. https://en.wikipedia.org/wiki/Unified_Modeling_Language. [Accessed 10 June 2016]
- ShapeChange. Processing application schemas for geographic information. http://shapechange.net.
- Object Constraint Language. http://modeling-languages.com/ocl-tutorial/. [Accessed 10 June 2016]
- Inc OGC. OpenGIS Geography Markup Language (GML) encoding standard. 2007.Google Scholar
- Craglia M, Annoni A. INSPIRE: an innovative approach to the development of spatial data infrastructures in Europe. Research and theory in advancing spatial data infrastructure concepts. 2007. p. 93–105.Google Scholar
- Bernard L, Kanellopoulos I, Annoni A, Smits P. The European geoportal--one step towards the establishment of a European spatial data infrastructure. Comp Environ Urban Syst. 2005;29(1):15–31.View ArticleGoogle Scholar
- Masser I, Rajabifard A, Williamson I. Spatially enabling governments through SDI implementation. Int J Geogr Inf Sci. 2008;22(1):5–20.View ArticleGoogle Scholar
- About INSPIRE. http://inspire.ec.europa.eu/index.cfm/pageid/48. [Accessed 10 June 2016]
- INSPIRE. Infrastructure for spatial information in Europe. 2010. http://inspire.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_AU_v3.0.1.pdf. [Accessed 10 June 2016]Google Scholar
- Open Geospatial Consortium Inc. OpenGIS web feature service 2.0 interface standard. 2010.Google Scholar