What's new in hale studio 3.0?

It's time for a new major release, and it does come packed with many new features and improvements. First, you might notice the new name and the new logo. HALE by itself was always hard to find with search engines and there is lots of other software called hale. Also, we've started to build a full data design and integration platform, and needed to diversify naming. HALE is thus now officially hale studio - but otherwise it remains the same!

So, which major changes does this new release bring?

  1. Create Custom transformation functions and use them across projects
  2. Write more powerful Groovy/Custom Functions with Collectors, new helper functions and multiple target support
  3. Define Priorities for type cells
  4. Define Project variables
  5. Automate processes with a much improved Command Line Interface
  6. Read MS Access (*.mdb) databases
  7. Validate XLinks
  8. Control Polygon Winding Order for GML output
  9. Use Project Generators
  10. Use Documentation Generators
  11. Improved Transactional WFS support
  12. Use any reference map
  13. ... and many more...

The majority of these new features were made possible through our contracts with more than 20 customers. We'd like to thank you all for your support!

As this is a major release, projects created with hale studio 3.0 may be incompatible with previous versions of HALE.

New features

Custom transformation functions HALE has had support for Groovy scripts for type and property transformation, but individual scripts couldn't be re-used. With custom transformation functions, you can define your own functions using Java or Groovy and re-use them throughout multiple mappings or even multiple projects.

The current implementation of Custom Functions allows you to define input parameters and input/output data structures. In the function editor, you can use lots of helper functions to quickly get results. Please see the help on custom transformation functions for more information on how to define and use custom transformation functions.

New Groovy Function Features Groovy Functions help when the functions we ship with hale studio don't match specific requirements. To make them more powerful, we have added several new capabilities. The first of these is to output multiple features from a single Groovy Retype, Groovy Merge or Groovy Join function. You can use this functionality to create multiple partial feature from one large feature, or to create copies of a feature in the target data set.

The second improvement we've added are Collectors. When you declare a collector, you tell hale that it should create a list of all objects it creates during transformation, for later access in this or another Groovy function. You can use this for post-processing of objects, or to easily create references from a large object, such as as TransportNetwork , to small objects, such as TransportLinks .

We have also added several new helper functions, in particular for working with geometries. These helper functions allow you to create, find, split or combine geometries.

Project Variables Sometimes you need to use a value in multiple functions that is a constant during one execution of the alignment, but might need to be changed later on, such as a dataset identifier. So far you'd have to modify all functions that use the constant value. Now, you can just define a global project variable and use that in many functions, such as Formatted String and in all Groovy Functions.

You can also set Project variables through the updated hale command line interface. Please see the project variables help for more information.

Use any Basemap you want When MapQuest stopped providing access to their nice tile services, that came as a surprise. We decided to not just drop in a new basemap like OSM Tiles, but insted improved the Map View. While we've set the new Stamen Terrain map as the defualt basemap, you are now free to configure any WMS-based or Tile-based map. Check the Map View help for more instructions on how to configure basemaps.

A big thanks to Fraunhofer IGD's Competence Center GEO, who contributed the CityServer3D Map View to make these improvements possible.

Read MS Access Databases MS Access databases are one of the most common formats used in reporting and statistics. In hale studio, you can now use MS Access databases to load source schemas and source data.

Thanks to the European Environmental Agency for funding this work.

Improved Compliance with INSPIRE guidance All GML writers now have an option to control and unify the winding order of any closed rings. You can either leave rings as they are, or unify them to clockwise or counter-clockwise winding order, with the latter being required for GML 3.2 and 3.3. The algorithm we employ takes into account axis order and direction, and reverses order for each level of inner rings. Furthermore, we have added an Xlink validator to make sure all href properties with local references point to valid resources.

Thanks to the European Environmental Agency for funding this work.

Much improved Interactive Documentation The interactive alignment documentation is really helpful to get input from domain experts on an alignment. During several major projects this year, we've seen it being used a lot and have improved it according to the feedback. In particular, even very large alignments with hundreds of cells can now be displayed, they can be searched and filtered, and much more.

Thanks to the Arbeitsgemeinschaft der deutschen Vermessungsverwaltungen for funding part of this work.

Minor tweaks & bug fixes For a full list of changes, please check out the changelog on GitHub.