hale»studio 3.3.0 brings new SQL features, spatial operations, and hale»connect integration
The next version of hale»studio, your friendly data transformation tool, is here! This time, our focus was on the integration of hale»connect and hale»studio. We believe that as a community, we could work together effectively by sharing transformation projects in a dedicated environment. The new capabilities enable you to browse and download shared projects and to upload your own projects directly from hale studio.
As usual, we also improved the software in many other aspects:
- Arbitrary SQL Statements as Schema or Data Source: If you don't have the option to define a view on a database you're accessing, you can now use an arbitrary SQL statement both as schema and data source
- Spatial Operations: We've now made the spatial index hale creates when loading data accessible through Groovy Scripting, and provided helper functions to make usage in scripts easier. We also added in a Spatial Join function that supports all modes of the 9-intersection-model.
- Updated mapping documentation for help example projects
- Import/Export hale schema definitions as JSON
- DMG image for macOS installation
We've also fixed several bugs and added smaller improvements. The whole list is available in the changelog.
Get the latest version, and let us know what you think of it!
Share Transformation Projects on haleconnect.com
In infrastructure projects such as INSPIRE, we're all working with the same set of target data models. A request from implementers we hear often is that they want to see how it's done - they want to build on how others have created compliant INSPIRE data sets. We've now made it really easy to share transformation projects and to work together on them with the hale studio/hale connect integration. This integration currently enables you to do three things:
- Log in to your haleconnect.com account from within hale studio
- Browse and download hale transformation projects from haleconnect.com
- Share your own hale transformation projects to the community
If you have a private cloud or on premise installation of hale connect, you can also log in to that by changing the application settings.
On haleconnect.com itself, you can discuss transformation projects with others, such as project partners or customers. They can create tasks or just leave comments on any level of the transformation project, even on an individual cell.
Going forward, we will provide more capabilities, such as working with schemas shared on haleconnect.com and also to share custom functions. We're looking forward to your feedback on this!
Arbitrary SQL Statements as Source Schema and Source Data
When you're working with databases as sources, it can be highly efficient to combine views with hale studio's transformation capabilities. The main upsides include that some processing, filtering and joining can be done close to the data, and that only data really required for the transformation is transferred to hale studio. The issue is that sometimes you don't have the option to create views on the database. In these cases, you can now define your own using an arbitrary SQL statement, which can include joins, WHERE clauses and anything else your database will allow you to pack into said statement.
You can also use that statement to load exactly the right data for your transformation from the database.
Thanks to the Bundesanstalt für Wasserbau for funding this work.
Spatial Operations Support
Have you ever wanted to join objects based on the spatial relationship of their geometries or perform other typical spatial operations in hale? Now, you can finally do so. We've added several features at different levels towards that purpose:
- hale studio has an internal spatial index that is now accessible through an API and exposed to Groovy Scripting as well as Transformation Functions.
- To make usage of the index in Groovy Scripts and Custom Functions easy, we've added two helper functions called
spatialIndexQuery
andboundaryCovers
. - There is also a new cousin to the existing Join function called Spatial Join available now, which lets you join source objects based on the spatial relationship between its geometries. The Spatial Join function supports the relation types
contains
,covered by
,covers
,crosses
,equals
,intersects
,overlaps
,touches
, andwithin
.
Thanks to swisstopo for supporting the work on this feature.
Working with hale schema definition files
We've also made another internal capability of hale available to you - the ability to export any data model in a common format, called a hale schema definition. This can be exported both as XML or JSON. So if you've ever looked for a tool to convert XML Schema to JSON or a shapefile schema to a XML descriptor, look no further.