News' image preview

A few months back, we described how you can setup hale connect to fully automate metadata generation, re-use and validation. In the past months, we have worked together with a reference customer, the LGL Baden-Württemberg, to extend the metadata tools in hale connect substantially. LGL Baden-Württemberg is one of 16 state-level cadastral, mapping and spatial planning authorities in Germany and maintains the state spatial data infrastructure.

The Problem

The problem that the LGL approached us with is one that we have seen many times already: there is a specific metadata profile, but both in terms of process and tools, the maintenance and implementation of this profile requires a lot of extra effort. The LGL used a massive Excel Table with more than 400 rows to describe their profile. This Excel table conflated profile rules from different levels (ISO, INSPIRE, national, and local), which all needed to be updated and kept in sync.

Excel table of requirements
Excel table containing LGL Baden-Württemberg requirements. The excel table contains rules from ISO, INSPIRE, national and local schemas.

In implementation of the profile, there were often ambiguities or different interpretations of certain aspects of the profile. Furthermore, the documentation was a bit unwieldy and hard to read for most people outside the immediate circle of editors.

Thus, LGL reached out to us to understand how they could improve on this situation. Wetransform originally conducted a UML and Metadata workshop to explore whether developing the profile in a UML Tool such as Enterprise Architect would make sense. However, some aspects such as a nice differential documentation and the generation of an executable test suite directly from the profile proved to be quite hard.

Thus, in early 2018, LGL asked wetransform to develop a toolset that would support the creation of a fully formal profile definition of the ISO metadata schemas. This toolset would enable the definition of profiles on any XML-based schema, be it the CSW 2.0.2 Application Profile ISO 1.0.0 or a GML Application Schema.

The Solution

There were several key requirements that the profile toolset should resolve:

  1. Definition of type and property constraints (e.g. on cardinality, allowed content and allowed property types.)
  2. Definition of consistency constraints (e.g. “If A exists, B must also exist”) and other advanced validation rules.
  3. Addition of documentation via tagged values.
  4. Automated generation of printable documentation.
  5. Automated generation of differential documentation.
  6. Automated generation of Executable Testsuites (ETS) for the INSPIRE Reference Validator (ETF.)
  7. Automated generation of example XML instance documents for the profile.
  8. Be easy to use for people without in-depth knowledge in technologies such as XML, XML Schema, Schematron and ETF.

A few months back, we described how you can setup hale connect to fully automate metadata generation, re-use and validation. In the past months, we have worked together with a reference customer, the LGL Baden-Württemberg, to extend the metadata tools in hale connect substantially. LGL Baden-Württemberg is one of 16 state-level cadastral, mapping and spatial planning authorities in Germany and maintains the state spatial data infrastructure.

The Problem

The problem that the LGL approached us with is one that we have seen many times already: there is a specific metadata profile, but both in terms of process and tools, the maintenance and implementation of this profile requires a lot of extra effort. The LGL used a massive Excel Table with more than 400 rows to describe their profile. This Excel table conflated profile rules from different levels (ISO, INSPIRE, national, and local), which all needed to be updated and kept in sync.

Excel table of requirements
Excel table containing LGL Baden-Württemberg requirements. The excel table contains rules from ISO, INSPIRE, national and local schemas.

In implementation of the profile, there were often ambiguities or different interpretations of certain aspects of the profile. Furthermore, the documentation was a bit unwieldy and hard to read for most people outside the immediate circle of editors.

Thus, LGL reached out to us to understand how they could improve on this situation. Wetransform originally conducted a UML and Metadata workshop to explore whether developing the profile in a UML Tool such as Enterprise Architect would make sense. However, some aspects such as a nice differential documentation and the generation of an executable test suite directly from the profile proved to be quite hard.

Thus, in early 2018, LGL asked wetransform to develop a toolset that would support the creation of a fully formal profile definition of the ISO metadata schemas. This toolset would enable the definition of profiles on any XML-based schema, be it the CSW 2.0.2 Application Profile ISO 1.0.0 or a GML Application Schema.

The Solution

There were several key requirements that the profile toolset should resolve:

  1. Definition of type and property constraints (e.g. on cardinality, allowed content and allowed property types.)
  2. Definition of consistency constraints (e.g. “If A exists, B must also exist”) and other advanced validation rules.
  3. Addition of documentation via tagged values.
  4. Automated generation of printable documentation.
  5. Automated generation of differential documentation.
  6. Automated generation of Executable Testsuites (ETS) for the INSPIRE Reference Validator (ETF.)
  7. Automated generation of example XML instance documents for the profile.
  8. Be easy to use for people without in-depth knowledge in technologies such as XML, XML Schema, Schematron and ETF.

To fulfil these, we developed a formal model that could capture all the required information, as well as a set of editing functions that extend the existing schema modelling tools in hale connect. The formal profile contains type and property constraints, consistency constraints and tagged values:

Formal profile model
Formal profile model diagram. The diagram displays the formal profile model developed by wetransform.

To create a profile, you first have to create a schema using any of the methods supported in hale connect. For creating a metadata profile, use either the ISO 19139 preset or the CSW 2.0.2 Application Profile ISO 1.0.0 preset.

After this step, you have to create a profile of that schema. This is also done through the “Create new Schema” process, using the “Create Profile” option. When the profile has been created (which takes up to 30 seconds), you can go to the Feature Types section and start applying type and property constraints.

Type level constraints
Type level constraints. The toggle switch can be used to make a type mandatory.

To make a single type mandatory, you can just toggle it in the type header. Making it mandatory means that an object of this type has to occur at least once in any document. This is particularly useful in GML Feature Collection, where you want to state which types of objects have to be present.

Most of the constraints are set using the Edit Mode, which you can access through the Pen icon in the type header. Clicking this icon brings you to a powerful editor, where you can set a number of constraints:

  • Content Required: If not already true, you can set this to true to make sure that the given property always has to have content. The semantics of this constraint are equivalent to setting the nillable flag to false.
  • Minimum Cardinality: The minimum number of times this property needs to occur in any given type. It needs to be higher than the one defined in the schema, but lower or equal than the value given for maximum cardinality.
  • Maximum Cardinality: The maximum number of times this property needs to occur in any given type. It needs to be lower than the one defined in the schema, but higher or equal than the value given for minimum cardinality.
  • Allowed Values: In this field you can define an enumeration of the actually allowed values. If the property uses an enumeration or code list, you will be able to activate or deactivate options from that enumeration or codelist.
  • Allowed Types: If this field uses a Choice, Substitution Group or Union, you can limit the allowed types by deactivating options.

In addition, you can add any number of tagged values to each property. You can use any keys you want, but some control specific behavior:

  • label-testcase: Label for this test case in the ETF Testsuite
  • description-testcase: Description for this test case in the ETF Testsuite
  • module-id: ID of the TestModule group to which the test case generated for this property will be added
  • example: Content to be used for the generation of XML sample files. If the property is a complex element, setting this value to “true” leads to the element being generated.
Consistency constraint editor
Consistency constraint editor: Consistency constraints are added to schema elements.

The second big block of functionality is to be found in the “Consistency Conditions” section of the profile. When you go there, you will be able to define various sets of rules, such as:

  • If A exists, B must/must not exist
  • If A has value “X”, B must have value “Y”

You can combine any number of such rules through logical operators (AND, OR, XOR). To each Consistency Condition, you can add a label and a description, as well as tagged values.

Generated documentation example
Generated documentation example. Profile documentation can be printed easily.

When you want to review your profile at any time, the differential documentation is a handy feature, especially in big schemas like the ISO 19139 schema. It hides all elements (types and properties) for which no change or addition was made in the profile, resulting in a compact, well-readable format.

Either the full profile or the differential documentation can be printed to any device, specifically to PDF. This enables you to get a document that you can send around to any user.

By going to the “Files” section of the profile, you can also export sample XML instance documents for your profile.



And finally, you want to make sure that any data you receive complies with your profile. For this purpose, hale connect can also export an Executable Test Suite, again through the Files section. This ETS can be run in the ETF (INSPIRE Reference Validator).



The profile tools described here can also be used in conjunction with the metadata generation tools introduced with hale connect 1.0. Ask us to learn how to do so, especially if you are already a hale connect user.

If you want to know more about how to use these tools, check out the online help.

Getting Access to the Metadata Tools

We presented the new metadata tools at the INSPIRE conference 2018 in Antwerp just a few weeks back and can now announce general availability.

The new metadata tools are part of all hale connect licenses, independent of deployment mode and license level. While Metadata Generation has been part of hale connect since version 1.0, the profile management tools have been released with version 1.11.0, which is available since October 17th, 2018.

The tools are available starting from 2.900 € per year (Micro Org Public Cloud license). Special pricing is available for multi-year contracts, partners, and customers with support subscriptions.

Try it out for free!

(more)

News' image preview

In our daily work to publish and maintain INSPIRE-compliant view and download services for our customers, the importance of supporting the portrayal rules outlined in data specifications is ever present. We have thus been working for a long time to provide as complete as possible portrayal rules, which we provide as presets for any INSPIRE services published on our cloud platform, haleconnect.

What is an SLD, and why might I need it in INSPIRE?

The technical guidelines for each of the 34 INSPIRE themes contain a list of required or recommended layers which define the cartographic representation of data sets provided as view services. The chosen model for feature display in INSPIRE is the Styled Layer Descriptor (SLD) and Symbology Encoding (SE) standards, developed and published by the OGC.

The OGC standard SLD is an XML document that uses the OGC standards Symbology Encoding (SE) and Filter Encoding (FE) to define the cartographic rules by which to display features. The SLD standard extends the OGC Web Map Service (WMS). A basic WMS supports named layers and styles which do not enable end-users to define custom symbology. The SLD standard extends the WMS standard to allow users to provide styling rules in a Styled Layer Descriptor file. Web map services that support SLDs retrieve features from web feature services and apply the styling rules contained in the SLD.

What systems can I use to implement SLDs?

At wetransform, we use the open source framework deegree to provide OGC- and INSPIRE-compliant view and download services. deegree view services (Web Map Services) support the use of SLDs. Like most web map servers, deegree supports several deegree-specific functions which extend the SLD, SE and FE standards to enhance styling. Our development process for each SLD was to first check the examples and requirements in the INSPIRE data specification, and then to use an XML editor to iteratively implement the SLD. We directly tested is on our cloud platform haleconnect, with data sets specifically developed for this purpose. When a dataset is published on the haleconnect platform, the feature type is identified and our INSPIRE SLD library is searched for a matching style layer. INSPIRE SLDs are then applied if available.

What are the positives?

SLDs can display features with simple symbology requirements, and for many INSPIRE themes, the SLD standard is adequate. Filter encoding (FE) can be used to make selections and apply symbology to different geometries, or attributes. Many INSPIRE SLDs are based on INSPIRE codelist values. Datasets are filtered based on codelist values to obtain the desired feature sets, and symbology is applied to only those features matching the filter criteria. In other cases, SLDs are based on geometry type. At wetransform, we apply deegree-specific filter functions to filter datasets by geometry type in order to apply the correct symbology.

In our daily work to publish and maintain INSPIRE-compliant view and download services for our customers, the importance of supporting the portrayal rules outlined in data specifications is ever present. We have thus been working for a long time to provide as complete as possible portrayal rules, which we provide as presets for any INSPIRE services published on our cloud platform, haleconnect.

What is an SLD, and why might I need it in INSPIRE?

The technical guidelines for each of the 34 INSPIRE themes contain a list of required or recommended layers which define the cartographic representation of data sets provided as view services. The chosen model for feature display in INSPIRE is the Styled Layer Descriptor (SLD) and Symbology Encoding (SE) standards, developed and published by the OGC.

The OGC standard SLD is an XML document that uses the OGC standards Symbology Encoding (SE) and Filter Encoding (FE) to define the cartographic rules by which to display features. The SLD standard extends the OGC Web Map Service (WMS). A basic WMS supports named layers and styles which do not enable end-users to define custom symbology. The SLD standard extends the WMS standard to allow users to provide styling rules in a Styled Layer Descriptor file. Web map services that support SLDs retrieve features from web feature services and apply the styling rules contained in the SLD.

What systems can I use to implement SLDs?

At wetransform, we use the open source framework deegree to provide OGC- and INSPIRE-compliant view and download services. deegree view services (Web Map Services) support the use of SLDs. Like most web map servers, deegree supports several deegree-specific functions which extend the SLD, SE and FE standards to enhance styling. Our development process for each SLD was to first check the examples and requirements in the INSPIRE data specification, and then to use an XML editor to iteratively implement the SLD. We directly tested is on our cloud platform haleconnect, with data sets specifically developed for this purpose. When a dataset is published on the haleconnect platform, the feature type is identified and our INSPIRE SLD library is searched for a matching style layer. INSPIRE SLDs are then applied if available.

What are the positives?

SLDs can display features with simple symbology requirements, and for many INSPIRE themes, the SLD standard is adequate. Filter encoding (FE) can be used to make selections and apply symbology to different geometries, or attributes. Many INSPIRE SLDs are based on INSPIRE codelist values. Datasets are filtered based on codelist values to obtain the desired feature sets, and symbology is applied to only those features matching the filter criteria. In other cases, SLDs are based on geometry type. At wetransform, we apply deegree-specific filter functions to filter datasets by geometry type in order to apply the correct symbology.

Symbology encoding is used to apply scale ranges and symbology choices in SLD layers. The MaxScaleDenominator and MinScaleDenominator elements can be used to control display ranges for your datasets. We use scale ranges to control the display of Administrative Units layers, so that each administrative hierarchical level displays at only one scale range.

Map 1 - Administrative Units, Catalonia. Filter and scale range applied to Administrative Hierarchical Level 3rd order
Map 1 Administrative Units, Catalonia. Filter and scale range applied to Administrative Hierarchical Level 3rd order.
Map 2 - Administrative Units, Catalonia. Filter and scale range applied to Administrative Hierarchical Level 5th order
Map 2 Administrative Units, Catalonia. Filter and scale range applied to Administrative Hierarchical Level 5th order.

Symbology encoding also offers standard cartographic styling options. Surface features can be styled using color or graphic fill options, and opacity. Line features can be styled in various ways by applying color and opacity, line casing, dashed lines and line join options which control how line features are symbolized where they join. Point features can be symbolized using graphic symbols, such as icons, or the WellKnownName element that includes the values square, circle, triangle, star, cross, and x.

The Symbology Encoding standard (SE) also supports the styling of text labels. Font family, style and size selection are all supported. Label placement rules enable the user to control how labels are displayed in relation to the geometry they describe, including offsets, rotation and splining.

What are the challenges?

In some cases, the SLD standard cannot handle the complexity of INSPIRE data models. Feature types with properties which contain links to geometries, and indirect geometries, commonly found in the Transport Network theme, cannot be symbolized.

There are also challenges associated with the display of INSPIRE compliant, complex GML which contains multiple features with the same geometry type, which are overlapping. The Administrative Units layer displays with all administrative hierarchical levels at once, and from the perspective of the viewer, the information displayed is indiscernible. The Administrative Units theme also contains feature types with linked features, which makes partitioning by feature type problematic. As mentioned, wetransform applies scale ranges to control display in this case (See Map 1., Map 2.).

In many themes, a further challenge is the requirement to provide one SLD layer per codelist value - That’s a lot of SLD layers! Some codelists, such as those found in the Habitats and Biotopes theme, have hundreds of values. To complicate matters, codelists which exist in externally referenced documents, such as Natura200, make symbolization based on their values difficult.

In our work with the Utility and Governmental Services theme, we discovered a need for a standardized icon library for the symbolization of point geometries found in the Administrative and Social Governmental Services codelist. Objects defined in this codelist include hospitals, schools, police and fire stations, and other institutions which offer essential services, and should be symbolized using standardized iconography.

A further challenge of the SLD standard is the need to rely on web map server-specific functionality to apply advanced cartographic styling such as hatching, patterned fills, marker lines and the display of continuous data using interpolation over color ramps, and more.

What is wetransform working towards?

Portrayal recommendations vary widely across the data specification documents of all themes, and often contain unusable SLD code examples, however many of the descriptions contain adequate information to create working SLDs. Many SLDs are based on required attributes, such as geometry, and lend themselves to generic implementation. We are currently building an extensive library of INSPIRE compliant SLDs across all 34 Annex themes. In the future, we hope to develop functionality which will provide end-users with more fine-grained control of the attributes symbolized.

(more)

News entry thumbnail
INTERGEO 2018
08.10.2018 by Akshat Bajaj, Thorsten Reitz

INTERGEO 2018 is right around the corner, and will be bigger than ever. From 16th to 18th October, the EU Geodata community will come together in Messe Frankfurt with the aim to influence and innovate the very DNA of digital initiatives: geodata. With a diverse range of speakers and organizations joining in, all participants will be exposed to different perspectives on the rapid changes currently happening in the world of geodata.

Join us at our booth 12.1F.033 to learn about unique possibilities in Data Modeling, Data Transformations and Publishing and Viewing of WFS, WMS and ATOM services. See how you can solve challenges around INSPIRE, XPlanung, and ALKIS by leveraging our tools, Hale Connect and Hale Studio.

INTERGEO 2018 is right around the corner, and will be bigger than ever. From 16th to 18th October, the EU Geodata community will come together in Messe Frankfurt with the aim to influence and innovate the very DNA of digital initiatives: geodata. With a diverse range of speakers and organizations joining in, all participants will be exposed to different perspectives on the rapid changes currently happening in the world of geodata.

Join us at our booth 12.1F.033 to learn about unique possibilities in Data Modeling, Data Transformations and Publishing and Viewing of WFS, WMS and ATOM services. See how you can solve challenges around INSPIRE, XPlanung, and ALKIS by leveraging our tools, Hale Connect and Hale Studio.

(more)

News entry thumbnail
Perks of working at wetransform
28.09.2018 by Akshat Bajaj, Florian Esser, Johanna Ott, Kate Lyndegaard, Eleazar Araujo

Finding and retaining great talent has never been easy, and in today’s economy, companies need to offer the right work life balance. It’s important to keep things dynamic and offer team members the environment to help customize their work experience and make the most out of their personal and professional lives.

At wetransform, we want our team to grow professionally and personally and we wanted to know what they think is important to keep the ideal work-life balance. Take a look at what some of their favorite perks of working here are:

Florian Esser/ Senior Software Engineer

Cologne, Germany

Florian Esser

Remote work

At wetransform, I can work remotely up to 60% of my time. Since we have a strong remote culture and have central communication platforms that all team members use continuously, I never feel disconnected from the team when not at the office. This flexibility allows me to contribute to wetransform’s success while living with my family in Cologne.

Johanna Ott/ Geospatial Consultant

Darmstadt, Germany

Johanna Ott

Flexible working hours

I really appreciate to be able to work with flexible working times. That allows me to work at the time of the day when I am most productive and also enables to run errands if needed during conventional working hours.

Kate Lyndegaard/ Product Manager

Darmstadt, Germany

Kate Lyndegaard

Standing on the forefront

The best thing about working at wetransform is the opportunity to immerse myself in INSPIRE and open data standard implementation, at the most detailed level, on a daily basis. Working with geospatial data in all formats, across various software and platforms, there is never a dull moment!

Akshat Bajaj/ Marketing Manager

Berlin, Germany

Akshat Bajaj

Gym Reimbursements

Wetransform gives a monthly stipend for fitness related activities. This has allowed me to try out different gyms and also provides me with the option to try out other activities such as MMA classes!

Eleazar Alejandro Araujo/ Full Stack Web Developer

Darmstadt, Germany

Eleazar Araujo

Concrete learning opportunities

One of the things I like the most about working at wetransform is that I can play an active role on how the products are planned, designed and implemented. As a software developer, it is really fulfilling to grow and learn beyond the coding tasks and actually understand how it all fits a bigger purpose.

Finding and retaining great talent has never been easy, and in today’s economy, companies need to offer the right work life balance. It’s important to keep things dynamic and offer team members the environment to help customize their work experience and make the most out of their personal and professional lives.

At wetransform, we want our team to grow professionally and personally and we wanted to know what they think is important to keep the ideal work-life balance. Take a look at what some of their favorite perks of working here are:

Florian Esser/ Senior Software Engineer

Cologne, Germany

Florian Esser

Remote work

At wetransform, I can work remotely up to 60% of my time. Since we have a strong remote culture and have central communication platforms that all team members use continuously, I never feel disconnected from the team when not at the office. This flexibility allows me to contribute to wetransform’s success while living with my family in Cologne.

Johanna Ott/ Geospatial Consultant

Darmstadt, Germany

Johanna Ott

Flexible working hours

I really appreciate to be able to work with flexible working times. That allows me to work at the time of the day when I am most productive and also enables to run errands if needed during conventional working hours.

Kate Lyndegaard/ Product Manager

Darmstadt, Germany

Kate Lyndegaard

Standing on the forefront

The best thing about working at wetransform is the opportunity to immerse myself in INSPIRE and open data standard implementation, at the most detailed level, on a daily basis. Working with geospatial data in all formats, across various software and platforms, there is never a dull moment!

Akshat Bajaj/ Marketing Manager

Berlin, Germany

Akshat Bajaj

Gym Reimbursements

Wetransform gives a monthly stipend for fitness related activities. This has allowed me to try out different gyms and also provides me with the option to try out other activities such as MMA classes!

Eleazar Alejandro Araujo/ Full Stack Web Developer

Darmstadt, Germany

Eleazar Araujo

Concrete learning opportunities

One of the things I like the most about working at wetransform is that I can play an active role on how the products are planned, designed and implemented. As a software developer, it is really fulfilling to grow and learn beyond the coding tasks and actually understand how it all fits a bigger purpose.

(more)

Tradition would have it that we release a version of hale studio right in time of the INSPIRE conference. The new release 3.4.1 is a bug fix release that addresss frequently-reported issues such as:

  • Fixed problem with GeoServer App-Schema export configuration dialog on Windows
  • Updated cached GML XSD to version 3.2.2
  • Loading an Excel lookup table multiple times no longer causes an error
  • Fixed file name problem when partitioning by feature type in a GML export
  • Fixed problem that prevented partitioning by feature type when transforming external data or with CLI
  • Fixed project validation issue for arrays of numbers

The whole list is available in the changelog.

Download the latest version and send us your feedback:

A 3.5.0 release is also on its way, which brings some changes to the underlying platform as well as a long list of new features.

Thanks to our customers for funding this work on the 25th release of hale studio!

Tradition would have it that we release a version of hale studio right in time of the INSPIRE conference. The new release 3.4.1 is a bug fix release that addresss frequently-reported issues such as:

  • Fixed problem with GeoServer App-Schema export configuration dialog on Windows
  • Updated cached GML XSD to version 3.2.2
  • Loading an Excel lookup table multiple times no longer causes an error
  • Fixed file name problem when partitioning by feature type in a GML export
  • Fixed problem that prevented partitioning by feature type when transforming external data or with CLI
  • Fixed project validation issue for arrays of numbers

The whole list is available in the changelog.

Download the latest version and send us your feedback:

A 3.5.0 release is also on its way, which brings some changes to the underlying platform as well as a long list of new features.

Thanks to our customers for funding this work on the 25th release of hale studio!

(more)