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!
These are the highlight features we’ve added:
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!
Note: As this is a major release, projects created with hale studio 3.0 may be incompatible with previous versions of HALE.
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 Custom Transformation Functions help for more information on how to define and use custom transformation functions.
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 <pre>TransportNetwork</pre>, to small objects, such as <pre>TransportLinks</pre>.
We have also added several new helper functions, in particular for working with geometries. </p>
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 <pre>Formatted String</pre> and in all Groovy Functions.
You can also set Project variables through the updated hale command line interface. Please see the Project variables section for more information.
When MapQuest stopped providing acces 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 default basemap, you are now free to configure any WMS-based or Tile-based map. Check the Map View section 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.
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.
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, as reverses order for each level of inner rigns. Furthermore, we have added an Xlink validator to make sure all <pre>href</pre> properties point to valid resources. Thanks to the European Environmental Agency for funding this work.
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.