We are currently rolling out the latest feature release of hale»connect. This version has already been deployed to most public cloud and private cloud setups and is now also available for on premise setups.
We have increased the number of data sources that you can use, improved performance of INSPIRE view services (as shown in the chart below), and extended metadata support.
So far, hale»connect uses what is known as blob mode to store complex GML objects. This means that instead of generating a fully-fledged normalized database schema, the GML is stored as a single big blob. While this works well for WFS and has additional advantages, it limits WMS performance in several critical places.
We have now introduced a new hybrid mode that stores the data as before as a blob in the database, but also uses the SLD to create a relational database structure that is used for rendering in the WMS.
This relational structure only contains the information that is relevant for rendering, i.e. the geometry and any properties referenced in the SLD. In many cases, this enables us to achieve much better rendering performance, as the data for rendering can be fetched more efficiently from the database.
Limitation 1: Hybrid mode is currently not supported for data set series.
Limitation 2: Whether the hybrid mode can be used for a publication depends on the structure of the data and the SLD. Certain constructs may not (yet) be supported. This includes, for example, if information from associated features is required in the SLD (example: visualization of MappedFeature depending on GeologicUnit).
In the new hybrid mode, generalized geometries can be generated in order to optimize the rendering in the WMS for different scales. This means that the rendering performance is significantly less affected by detailed geometries, but the complete details are still available via the WFS and on a large scale in the WMS.
Users can only choose to activate or deactivate generalization at this time. If activated, a standard configuration provided by us is applied, which creates four generalization steps for scales around 1: 5,000, 1: 15,000, 1: 150,000 and 1: 1,000,000.
Note that the generalization option is only available if the hybrid mode can be used for a data set.
The performance when rendering WMS requests suffers greatly when large sets of objects are to be rendered. In extreme cases, a single request can encompass several million objects to render, e.g. if an entire data record is to be displayed on a small scale at once. Often this results in response times that are beyond any timeouts, and which are also beyond the INSPIRE Quality of Service requirements.
In hale»connect there is now the possibility to limit the maximum number of features rendered for a given tile. This limitation already applies to the database in hybrid mode and for SLDs without filters, even in blob mode. Larger objects are preferred over smaller objects to be more likely to select objects that are also visible or that span several tiles.
For this functionality there are no user-visible fine-tuning options – it can only be turned on or off. When activated for a dataset, no more than 10,000 features are rendered for a single 256x256 tile.
An error has led to inconsistent feature type assignment in the database. This could lead to problems when inserting data.
This problem has been resolved by reading and using the assignment stored in the database. To do this, however, the data in the database must be corrected so that it uses the correct mapping.
This happens automatically with this version when the WMS/WFS service is started, but the data is no longer compatible with previous versions after the process has been completed.
The logs should contain messages such as “Starting attempt to fix blob mappings in feature store” and “Completed fixing blob mappings in feature store” with additional details at the first start for each feature store / publication.
In order to avoid the possible caching of incorrect tiles by Mapproxy, it is recommended to switch off the bsp-mapproxy service for the duration of the process (e.g. by setting the configuration key override_replicas.bsp-mapproxy to 0 before the deployment).
Interested in learning more about how hale»connect can make INSPIRE easy for you? Click here.