News > HALE

Free hale»studioTraining on May 20th at 13:00 CEST (English)

Last month over a hundred users attended our introductory webinar to hale»studio. Now we offer a follow-up training – again, free of charge! The webinar on May 20th addresses hale»studio users with a beginner or intermediate level of expertise. We will therefore address aspects of data transformation that can be challenging for this user group.

To allow you an even better learning experience, you can look at the webinar topics in advance here. Just follow the links (more …) to the descriptions in the online help:

  1. Installing plug-ins for loading a FileGeodatabase
  2. Loading multiple WFS services that require a combined schema by creating a combined schema
  3. Loading multiple shapefiles and CSV files
  4. Using Join or Spatial join functions for multiple source datasets
  5. Using the Merge function
  6. Using the classification function with an Excel Mapping table
  7. Filtering attributes by setting condition contexts on source data attributes
  8. Mapping filtered data by using the Assign Bound function
  9. Visualizing data by filtering them in the views for source data and for transformed data and displaying them in the map view
  10. Selecting instances in the map view and displaying them in the views for source data and for transformed data

You can register for the webinar here…


…or register for the webinar by sending an email with your contact details to info@wetransform.to and enter Registration for TOP 10 Challenges as subject.

Happy transforming!

Free hale»studioTraining on May 20th at 13:00 CEST (English)

Last month over a hundred users attended our introductory webinar to hale»studio. Now we offer a follow-up training – again, free of charge! The webinar on May 20th addresses hale»studio users with a beginner or intermediate level of expertise. We will therefore address aspects of data transformation that can be challenging for this user group.

To allow you an even better learning experience, you can look at the webinar topics in advance here. Just follow the links (more …) to the descriptions in the online help:

  1. Installing plug-ins for loading a FileGeodatabase
  2. Loading multiple WFS services that require a combined schema by creating a combined schema
  3. Loading multiple shapefiles and CSV files
  4. Using Join or Spatial join functions for multiple source datasets
  5. Using the Merge function
  6. Using the classification function with an Excel Mapping table
  7. Filtering attributes by setting condition contexts on source data attributes
  8. Mapping filtered data by using the Assign Bound function
  9. Visualizing data by filtering them in the views for source data and for transformed data and displaying them in the map view
  10. Selecting instances in the map view and displaying them in the views for source data and for transformed data

You can register for the webinar here…


…or register for the webinar by sending an email with your contact details to info@wetransform.to and enter Registration for TOP 10 Challenges as subject.

Happy transforming!

(more)

After last week’s focus on Groovy, today we will take a closer look on other advanced functions and functionalities of hale studio that often get overlooked but provide great value. Making good use of these functionalities can help you on your way to becoming a more efficient hale studio power user.

For the remainder of this article it’s assumed that you have working knowledge of hale studio and are familiar with its terminology. For a primer on hale studio concepts, please refer to the online help.

Synchronize Schema Explorer and Alignment View

In large and complex source and/or target schemas, it can become difficult to find a specific source type or attribute. If you have the type or attribute relation open in the Alignment view, the button “Synchronise with cell selection” (highlighted in the screenshot below) can simplify navigation. When active, hale studio will jump to the source and target types or attributes of the selected mapping in the Schema Explorer.

Spatial Join

An advanced feature of hale studio is its ability to join objects of your source dataset based on the spatial relationship of their geometries with the Spatial Join transformation function. In contrast, the regular Join is limited to the equality of textual attributes. For the comparison of geometries, Spatial Join supports all modes of the Dimensionally Extended nine-Intersection Model: contains, covered by, covers, crosses, equals, intersects, overlaps, touches, and within.

Internally, Spatial Join is powered by a spatial index that is built when hale studio imports the source data. You can leverage the spatial index in your own Groovy scripts via the helper functions _.geom.spatialIndexQuery and _.geom.boundaryCovers. Make sure to check out our previous post on the subject if you would like to learn more about using the spatial index in Groovy scripts!

Filtering Data with Contexts

In hale studio, a context on a schema element can be used to restrict the element to certain instances or property values. After setting a context on a schema element, the effect of mapping cells defined on that element is limited to the instances or property values that match the context condition.

A special type of context is the index context that can be used in cases where the order of elements in the source instance conveys a special meaning. In the example below, the information on the language of a name is given implicitly through the order in which the names appear. The first name is in German, the second name is in English, and the third one is in Italian.

More information about contexts is available in the hale studio help. There you can also find a tutorial on how to create contexts.

Make the Most of the Map View

The Map view of hale studio provides you with a cartographic representation of both source and transformed data. Both can be displayed alongside each other, with different layouts to choose from. An often overlooked feature of the Map view is that you can select geometries by clicking on them and then inspect the properties of the corresponding object in the data view. You can also select multiple instances, just hold the Ctrl key when you click. Selected instances are highlighted in red, as can be seen in the screenshot below.

You can find the data views for source and transformed instances directly beneath the map. To show the properties of the objects selected in the map, activate the Use instances selected in the application mode in the upper left corner of the data view.

Vice versa you can also filter the data view and highlight the geometries of the filtered instances in the map. To do that, first activate the Random/filtered source data instances mode in the data view (upper left corner), then enter the desired filter expression and finally activate the globe button in the upper right corner of the data view. In the screenshot below, the source objects were filtered for a specific value of the bodenart property. The geometries of the filtered objects are highlighted in red in the map.

Happy transforming!

After last week’s focus on Groovy, today we will take a closer look on other advanced functions and functionalities of hale studio that often get overlooked but provide great value. Making good use of these functionalities can help you on your way to becoming a more efficient hale studio power user.

For the remainder of this article it’s assumed that you have working knowledge of hale studio and are familiar with its terminology. For a primer on hale studio concepts, please refer to the online help.

Synchronize Schema Explorer and Alignment View

In large and complex source and/or target schemas, it can become difficult to find a specific source type or attribute. If you have the type or attribute relation open in the Alignment view, the button “Synchronise with cell selection” (highlighted in the screenshot below) can simplify navigation. When active, hale studio will jump to the source and target types or attributes of the selected mapping in the Schema Explorer.

Spatial Join

An advanced feature of hale studio is its ability to join objects of your source dataset based on the spatial relationship of their geometries with the Spatial Join transformation function. In contrast, the regular Join is limited to the equality of textual attributes. For the comparison of geometries, Spatial Join supports all modes of the Dimensionally Extended nine-Intersection Model: contains, covered by, covers, crosses, equals, intersects, overlaps, touches, and within.

Internally, Spatial Join is powered by a spatial index that is built when hale studio imports the source data. You can leverage the spatial index in your own Groovy scripts via the helper functions _.geom.spatialIndexQuery and _.geom.boundaryCovers. Make sure to check out our previous post on the subject if you would like to learn more about using the spatial index in Groovy scripts!

Filtering Data with Contexts

In hale studio, a context on a schema element can be used to restrict the element to certain instances or property values. After setting a context on a schema element, the effect of mapping cells defined on that element is limited to the instances or property values that match the context condition.

A special type of context is the index context that can be used in cases where the order of elements in the source instance conveys a special meaning. In the example below, the information on the language of a name is given implicitly through the order in which the names appear. The first name is in German, the second name is in English, and the third one is in Italian.

More information about contexts is available in the hale studio help. There you can also find a tutorial on how to create contexts.

Make the Most of the Map View

The Map view of hale studio provides you with a cartographic representation of both source and transformed data. Both can be displayed alongside each other, with different layouts to choose from. An often overlooked feature of the Map view is that you can select geometries by clicking on them and then inspect the properties of the corresponding object in the data view. You can also select multiple instances, just hold the Ctrl key when you click. Selected instances are highlighted in red, as can be seen in the screenshot below.

You can find the data views for source and transformed instances directly beneath the map. To show the properties of the objects selected in the map, activate the Use instances selected in the application mode in the upper left corner of the data view.

Vice versa you can also filter the data view and highlight the geometries of the filtered instances in the map. To do that, first activate the Random/filtered source data instances mode in the data view (upper left corner), then enter the desired filter expression and finally activate the globe button in the upper right corner of the data view. In the screenshot below, the source objects were filtered for a specific value of the bodenart property. The geometries of the filtered objects are highlighted in red in the map.

Happy transforming!

(more)

HALE has been supported well by the community in the past months with contributions, through support subscriptions and projects. We have thus been able to create an additional feature and maintenance release. So, why should you upgrade?

HALE has been supported well by the community in the past months with contributions, through support subscriptions and projects. We have thus been able to create an additional feature and maintenance release. So, why should you upgrade?

GeoServer App-Schema configuration

Publishing OGC services based on GML Application Schemas and Complex Features with GeoServer is now easier than ever. Use HALE to define the mapping from your data store to an application schema, such as INSPIRE or NAS. Then, upload the resulting configuration for the GeoServer App-Schema plugin directly to your GeoServer instance. This feature was developed together with GeoSolutions S.R.L, Italy. More information on the new feature including future plans is available at the GeoSolutions Blog.

GeoServer App-Schema Integration in HALE for Easy INSPIRE Services

Inline transformations

Declarative Mapping, as implemented in HALE, is about simplification and effective re-use of transformation projects. When you encounter complex structures in your data, the mapping can still get quite complicated. By using the Inline transformation function, you tell HALE that it should transform objects in a complex feature the same way as it would standalone features.

As an example, let’s look at a mapping between two CityGML ADEs. In both source and target schemas, there are a Building and a BuildingPart type. BuildingParts can be features on their own, thus a mapping is defined based on a Retype between the corresponding source and target types. Buildings can also contain BuildingParts, and to transform these internal BuildingParts we use the Inline transformation, with the additional step to include it in the respective target property.

Namespace agnostic loading of XML/GML

HALE relies on qualified names for the transformation and handling of data, which consist of local names and namespaces. In many cases, you still want to transform data where only the local name matches. This can be the case for instance when using data based on a previous version of a schema or for data that is published via an OGC Web Feature Service. We have added an option when loading XML or GML data that instances will be loaded even if the namespaces do not match the schemas exactly.

HL Consulting BVBA funded this work under a Professional Support Subscription for HALE. They use this feature to define their alignments on a schema that allows them to make extensive use of relation inheritance in their alignment, to have one mapping that they can use to transform data from different services.

Tweaks and Bug fixes

We’ve added a lot of smaller improvements and fixed some issues:

  • The command line interface has been extended with the capability to use whole folders as source for the transformation.
  • Deprecated INSPIRE SpatialDataSet export, as INSPIRE now recommends to use a WFS 2.0 FeatureCollection instead, and added support for generating a Dataset Feed file for an ATOM-based INSPIRE predefined Dataset Download Service when exporting to a WFS 2.0 FeatureCollection.
  • Added a Groovy Join transformation that allows for more control on the creation of transformed instances.
  • Introduced helper functions for Groovy scripts for dealing with geometries and performing type conversions.
  • Structural copies with Rename and Retype can now explicitly exclude geometry objects parsed by HALE, for cases where the original geometry encoding should be retained.
  • A default SRS can now be specified on the command line, for reading data from a specific source, in case HALE cannot correctly detect the SRS.
  • Handling foreign key constraints during the export to a database has been improved.

Check out the help for a list of all improvements and more information.

Get HALE 2.9.4

To get HALE 2.9.4, go to the downloads section and enjoy your work with it!

Please use the board to tell us what you think of this new release; don’t hesitate to tell us about problems you’re encountering and features you’re missing, wither there or on Github.

(more)

In the past weeks, we’ve received feedback from multiple users, projects and workshops where HALE is used, including a substantial code contribution. We’ve collected the feedback and just released the final 2.9.3 build. What’s new?

In the past weeks, we’ve received feedback from multiple users, projects and workshops where HALE is used, including a substantial code contribution. We’ve collected the feedback and just released the final 2.9.3 build. What’s new?

Support for SQLite and SpatiaLite

You can now work with SQLite and SpatiaLite files using HALE. We even support 2D and 3D geometries. This was made possible by a contribution from GeoSolutions S.R.L, Italy. Special thanks to Stefano Costa and Sandro Salari!

Improved Styling for the Map view

Create individual styles for your feature types with just one click. Using specific styles provides a better overview in the map. To easily identify associated types, the type symbol reflects the style. As an additional option, you can quickly assign a random color to a selected type. For more control specify a custom style with the style editor.

HALE Style Quick Editing

Included INSPIRE version 4.0 schemas

Experienced HALE users know they can load any GML/XML Schema using the corresponding XSD file. However, it’s more convenient to just search and select a schema from the presets defined in HALE. INSPIRE version 4.0 schemas now included.

Performance improvements and bug fixes

A couple of users reported performance issues since release 2.9.0, and we’ve now received reproduction cases and were able to identify the culprits. Other issues fixed:

  • Fixed wrong detection of GML namespace that could happen if certain GML 3.3 schemas were imported in a schema (Thanks to Fabio Vinci for the bug report).
  • Fixed error on XML export that could lead to an invalid file (Thanks to Giuseppe Procino for the bug report).
  • Fixed parsing GML geometries defined through a Ring instead of a LinearRing.
  • Show 3D WKT (instead of 2D WKT) for 3D geometries in the data views.
  • Fixed error that could lead to a Merge relation no longer being editable after a schema upgrade.
  • Variable values for Groovy scripts are no longer converted and passed as a String by default.
  • Fixed deadlock that could occur when disabling the Groovy restriction when a project is loaded.
  • Fixed saving a project as a project archive if resources include a query string (e.g. WFS requests).

Get HALE 2.9.3

To get HALE 2.9.3, go to the downloads page and enjoy your work with it!

Please use the board to tell us what you think of this new release; don’t hesitate to tell us about problems you’re encountering and features you’re missing.

(more)

ON the road to HALE 3.0, we’ve release a maintenance release of HALE. In addition to making numerous fixes available to in a released version, 2.9.2 also sports two headline features:

ON the road to HALE 3.0, we’ve release a maintenance release of HALE. In addition to making numerous fixes available to in a released version, 2.9.2 also sports two headline features:

Improved WFS Client + Transactional WFS Support

With this feature, you can publish GML to a transactional Web Feature Service, for instance for publishing INSPIRE data to a deegree server. We currently support are Transactional Web Feature Services following the OGC WFS 1.1.0 or WFS 2.0.0 specifications. There are two different providers for publishing to WFS:

  • Direct upload: Does a single request that starts as soon as the first transformed features are available. Use this option if you are sure the WFS can cope with the amount of data in a single transaction.
  • Partitioned upload: Partitions the transformed data before upload to be able to do multiple requests to the WFS-T for large data sets. The partitioning is done based on the references between features. Features that are connected are kept together so the WFS-T is able to retain those references.

Improved Database Reader/Writer

We’ve had a silently released database writer for PostGreSQL in HALE for a while, and due to popular request we’ve improved it a bit and provided official support and documentation.

PostGreSQL Configuration

Compatibility to FME and other fixes

We’ve also tested whether the FME Plugin for HALE still works with the most current FME versions (2014 SP3 and 2015) and can confirm it’s compatibility. You can thus combine both tools. For example, use HALE to do restructuring of complex data and encoding as GML, but use FME to read formats unsupported by HALE or to employ special transformers.

As usual, there has been a set of other improvements, for example to make the encoding of MultiSurfaces and complex aggregates more flexible.

Get HALE 2.9.2!

To get HALE 2.9.2, go to the downloads page and enjoy your work with it!

Watch the HALE Tutorial video to get started on working with HALE:

Please tell us what you think of this new release; don’t hesitate to tell us about problems you’re encountering and features you’re missing.

(more)