We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Geodata for Everyone - Model-driven development and an example of INSPIRE WFS service

00:00

Formal Metadata

Title
Geodata for Everyone - Model-driven development and an example of INSPIRE WFS service
Title of Series
Number of Parts
183
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language
Producer
Production Year2015
Production PlaceSeoul, South Korea

Content Metadata

Subject Area
Genre
Abstract
In denmark the public authorities register various core information about individuals, businesses, real properties, buildings, addresses, ect.. This information is re-used throughout the public sector. It is a challenge for public authorities to re-use data from different providers to perform their tasks properly and efficiently across units, administrations and sectors. Therefore all the authoritative basic data should be defined and standardized according to the same methods. Danish Geodata agency as Denmark's central public source of geographic data has established a set of guidelines for future modelling of spatial data for distributing them as open geographic data. Based on the guidelines a model-driven process has also been established. It starts from the data modelling in UML to the end where data are distributed through WFS services and download services. One INSPIRE WFS service will be used as a concrete example.
126
MappingWater vaporState of matterInformationDependent and independent variablesSampling (statistics)Student's t-testPhysical systemError messageSelf-organizationUser interfaceArchitectureDistribution (mathematics)FreewareComputer animation
Multiplication signInformation privacyComputer programmingModel-driven engineeringProcess modelingWeb serviceDistribution (mathematics)State of matterSquare number
Electronic GovernmentStrategy gameMereologyFreewareComputer programmingSpecial unitary group
Category of beingModel-driven engineeringDatabaseTable (information)Modal logicMathematicsMetadataProcess modelingRule of inferenceData structureOrder (biology)Attribute grammarNatural languageKey (cryptography)Cartesian coordinate systemElectronic mailing listCodePhysical systemPhase transitionEnterprise architectureKolmogorov complexitySocial classObject (grammar)Boundary value problemConstraint (mathematics)Function (mathematics)Revision controlStandard deviationMappingWeb serviceComputer programmingInformation privacyInformationReal numberDistributed computingDifferent (Kate Ryan album)Vapor barrierType theoryComplete metric spaceCorrespondence (mathematics)Core dumpLatent heatData typeString (computer science)Set (mathematics)Relational databaseElement (mathematics)Dynamical systemElectric generatorDistribution (mathematics)Bridging (networking)Functional (mathematics)File formatData modelSoftware developerData conversionSingle-precision floating-point formatCentralizer and normalizerSource codeHarmonic analysisPhysicalismWeightFigurate numberShift operatorEmailRow (database)3 (number)Asynchronous Transfer ModeForestNeuroinformatikCombinational logicCellular automatonWater vaporShape (magazine)TransmitterSystem administratorDefault (computer science)Java appletSimilarity (geometry)Division (mathematics)Exploratory data analysisCASE <Informatik>Right angleFood energyWebsiteDemo (music)UMLProgram flowchart
Kolmogorov complexityComputer filePoint (geometry)MathematicsPointer (computer programming)DatabaseTape driveCodierung <Programmierung>Food energyStability theoryUser interfaceFile formatDataflowImplementationObject (grammar)Process modelingError messageSource codeFamilyNetwork topologyCartesian coordinate systemProduct (business)View (database)Sound effectGenderSubject indexingMereologyExpert system3 (number)Rule of inferenceEvent horizonNumbering schemeDivision (mathematics)Game theoryData structureInterpreter (computing)Web serviceType theoryEstimatorCodeElectronic mailing listDifferent (Kate Ryan album)InformationSet (mathematics)Distribution (mathematics)Content (media)Table (information)Set (mathematics)Goodness of fitMappingExtension (kinesiology)HTTP cookieMeasurementProper mapLatent heatBit rateBoundary value problemDatei-ServerState of matterOrder (biology)Function (mathematics)Client (computing)DemosceneSystem administratorSoftware developerMenu (computing)ConsistencyBasis <Mathematik>Model-driven engineeringSinc functionWebsiteBuildingModal logicAddress spaceFitness functionFluid staticsGraphical user interfaceAttribute grammarWave packetGeometryValidity (statistics)Standard deviationConnectivity (graph theory)Shared memoryReference dataSocket-SchnittstelleWeb 2.0Multiplication signDirection (geometry)Maxima and minimaData model
Computer animation
Transcript: English(auto-generated)
Good afternoon and welcome to my presentation, Geodata for Hero1. On the first January, 2013, Hero1 in Denmark has got a wonderful new year present, free geodata from the Danish government. It means that Hero1 can use, reuse,
and redistribute the geographic data published by the Danish Geodata Agency. The Danish Geodata Agency is a state-owned central NSA. It's responsible for serving, mapping, and land registering of all of Denmark, Greenland,
and the Faroe Island, and the waters associated with this. My name is Meisha Fong from the Danish Geodata Agency, where I'm working as a system architect in the data distribution department. The overall goal of our organization is to ensure and supply Hero1 in the Danish society
has access to the reliable and accurate maps and the geographic informations of all of Denmark. In the next 20 minutes, firstly I would like to give you an overview of the basic data program.
It is a Danish infrastructure model for the free public data. Then I will give you, I will describe to you the model-driven developer process for geodata distribution. After that, then I will show you an example of how we implement in-spy services
with using the national data. Finally, there will be some time for questions. Free geodata is a part of the basic data program, which was launched in 2012
as part of the country's e-government strategy for 2011 to 2015. The program defines the basic data as core information about individuals,
businesses, real properties, addresses, geography, and more. These should be updated at one place, distributed by a common data distributor, and used by everyone. By releasing the public basic data,
the public sector wants to remove the barriers of using public sector basic data, improve efficiency, create growth, and new and innovative digital services. The way to access open, easy to access
higher quality basic data involves five processes. Make all public basic data free. Everyone is free to use public sector basic data for commercial as well as for non-commercial purposes.
Warm watch of all public data. Enhance the quality of the data, and improve the coherence in different data registers. Technical harmonization. Ensure the data conforms to the same
technical requirements. A common public data distributor. Establish a single common distribution system for improving the data distribution. In the beginning of 2016,
the public common data distributor will begin to distribute maps, cadastral maps, and some other geographic information. And the governance. Establish a cross-institutional national border
to ensure efficient, effective, and coordinated development and use of the data. The basic data program requires all the basic data
should be defined and standardized according to the same method. Therefore, the Danish Geodata Agency, as Denmark's central public source of geographic data, has established a set of guidelines for future modeling and data distribution.
Based on the guidelines, a model-driven development process has also been established. It starts from the data modeling in UML to the end where data are distributed via WFS services and download services.
Ship change is used as a bridge between the data modeling and data distribution. I guess some of you already use ship change. How many of you already know ship change? Okay, so I have to mention that ship change, it is a Java-based tool that takes ISO 19109 UML
application schema and translates it to a GML application schema. Now let's have a close look at the process.
Our business system is described by UML in enterprise architecture. The basic data committee has provided a model document where common model rules and the common basic metadata attributes are defined.
It is a requirement that our geographic data should also follow the model rules, have the necessary metadata attributes, respect ISO standard and INSPI specifications. The constraints in the UML model
are defined in object-constrained language. Ship change supports parsing the constraints which are defined by OCL language. The data specification document for the end user
is exported as dynamic hootie ML by enterprise architecture for convenient browsing the website. This is how we get to the documentation.
This is the process where ship change is used to generate GML application schemas from UML. Ship change uses a set of encoding rules to convert a UML model to a GML application schema.
Which completion of encoding rules is used depends on which version of the GML is desired as output. By default, ship change will generate a GML 3.2
which is also used in INSPI application schema. The GML application schema will be used in the later phase of our process by other tools
to distribute or read the data. Here you can see on this side is our national object administrative, this is administrative boundaries is described in UML model.
After we use ship change conversion, it is converted to XML complex type. And the properties in the UML model are converted to elements in the complex type in XML schema.
And the data types in the UML model are also converted to corresponding XML data types. As you can see here, properties in the UML class
sometime use other future types. And here the ID, it uses a complex type which is defined at another place. The resulting structure can be quite complex
which make it difficult to convert data into formats that do not support this complexity. Ship change provides flattened functionality to flatten the complex type to simple type.
As you can see here, we can use flattened types to convert complex type to simple type. The code list is also flattened to a simple string type in XML schema.
Ship change is also used to generate a database schema from UML model. In our system, we call it geodatabank. That we saw as a container for the data. The database schema is generated by a set of SQL data
deflection language instructions. They are derived from UML model by ship change. In order to achieve a simple structure of tables and also in order to cope with the potential complexity
of the application schema, a set of flattened rules have to be executed as pre-processing. The general principles we use in mapping object oriented UML model to relational database are each concrete class
is converted to its own table. As the relationships between objects are implemented by primary key and the foreign key in the database. And each property is converted to a column in the database. After the database schema has been generated,
we also did some performance training such as building the necessary or effective indexes. Now the data from production called master data can be loaded to the database schema with a set of mapping and validation rules.
With data in the database and application schema generated by ship change, now we can distribute the data by different channels. We can use the go publish WFS and JU solver
to set up WFS services and the distributed data with WFS services. The internal solver can use GIS tools to access to the database directly. FME is used to generate a predefined download data set
in different formats. They can be downloaded from our web shop. Here for example is a WFS service which distributes the information of Danish wind turbines. I think it's quite interesting
because we have a lot of wind turbines in Denmark. Here is our web shop where you can download the graphic data in different formats. It's as simple as you buy sockets on the web shop. So everyone can use it.
Our basic data are inspired by Inspire principles. I guess some of you already heard about Inspire. Data should be collected only once, should be easy to find the available geodata, be easy to collect geodata from different sources and share geodata between many users and users.
Last but not least should be easy to be reused to implement Inspire services. Now I'm going to show you how we reuse the national data produced by the model driven
developer process to implement Inspire WFS service. We still take our national model administrative boundaries as example. It is intended to fulfill the Inspire specifications for administrative unitas seen.
To make the data ready in database for implementing the Inspire service, we created a view which derives and restructures data from the national data set. With this database view, we tried to create
the source data which matches the Inspire output as closely as possible. Such as we created a column in view which is called gml-ed. If you know Inspire application schema, you know it's mandatory attribute in Inspire future.
So it's supposed to be mapped to gml-ed in Inspire application schema. Go publish desktop is used to map the data in database to the attributes and the geometry
of the Inspire application schema. Because it provides a comprehensive graphical user interface with pointer and click functionality for mapping. It generates a Go publish WFS wire file which can be deployed as a web service
and publish data the WFS service. Go publish WFS service supports WFS standards 1.1 and 2.0. It also supports the gml 3.2 encodings complex object.
Such as the Inspire objects. To ensure the mapping from our national data to Inspire data is efficient and lossless, we started our national data and the Inspire specifications and identified four main groups of attributes.
Some attributes in the Inspire application schema can be mapped directly from our national data set. Some attributes, they can be mapped to a constant value.
And the third group, they can be mapped to a fixed code list. For example, to fix reference data in Inspire, for example, the code list. Also, there are some attributes that we don't have national data to map. For example, the nullable attributes,
we can just define as XSE null to true and set a proper null reason as value. We access WFS service with WFS 2.0 extension to cookies.
Since the cookies in the order, building WFS component supports only WFS 1.0 standard. As you can see here, there are still some challenges
for the GIS client to read the complex gml 3.2 complex type. For example, the structures are not reflected. They are flattened in the attribute table. And the code lists are not accessible.
And some attributes as the null reason, attribute we just mentioned, they are not accessible in the attribute table. So just to round the talk off, let's now look at the benefits we achieved
by adopting this model-driven development process. It automizes the process from modeling to distribution. It reduces the time taken to implement a new product. It ensures consistency between the various implementation schema.
For example, the application schema and the database schema are generated from the same UML model. So avoid manually created by different data sources. And developers. Also, it complies to inspire data model
and maximize reuse of our natural data for implementing inspire services. Last but not least, improves efficiencies and consistency in different data registers by using our common process.
So thank you for your attention and interest. Does anyone have any questions? Yes?
Yes? Yeah, it depends. Some data set we change maybe a little more often than other data set. For example, the addresses, maybe you change a little often than the country map.
So it depends on what kind of data set. Yes, yes. Then all the things, yes, yes. Yeah, yes. That's why it's very consistent. So that kind of problem,
making difference between different application schemas and database schema can be avoided by this. It's like you have a same start point. Yes, any more questions?
If there's no more question, I will just say thank you again. And yeah, you are welcome to look at these two websites because our data is free. So you are welcome to try and see how they look like.
Thank you.