MapStore Release 2022.02.00
We are pleased to announce the new release 2022.02.00 of MapStore, our flagship Open Source WebGIS product. The full list of changes for this release can be found here, while this blog highlights the most interesting ones. In Github it is possible to also consult the full list of new features, enhancements and fixes we have provided with this release.
One of the main purposes of this new version of MapStore is to add new functionalities for the 3D support opening the doors to further interesting enhancements for the next releases. Let’s now go through the most important improvements together.
New 3D functionalities
With this release, MapStore is getting a new set of functionalities for 3D visualization. 3d has been the main focus of our work for 2022, starting with version 2022.01.00 we have been providing powerful 3D functionalities thanks to our support for 3D Tiles. With this release we are providing even more advanced functionalies and more will be developed as part of the next releases in 2023.
Support to vector layers
With v2022.02.00 MapStore now supports loading both WFS layers as well vector files (eg. SHP, GeoJson etc.) in the 3D map and we have worked to guarantee that essential functionalities like the Identify function work just fine. We also worked on a number of additional 3D functionalities, as described below.
- Refactor of the overall style editor for vector features to aling it with the existing Visual Style Editor design and user experience. Many symbolizers are supported such as: point (with also support for marks and icons), polygon, line and text
- Annotations support in 3D mode (read-only)
- 3D style enhancements for labels
- 3D styling for properties such as clamp to ground for polylines, depth test through the BillboardGraphics class of Cesium and the drape mode for polygons
Performance of MapStore 3D mode have been enhanced with the inclusion of the Explicit Rendering so that new frames are rendered only under specific scenarios like, most commonly, the camera change or a loading of a 3D Tile or a Terrain layer for example. That is a really important feature that helps saving client system resources by also making the user experience more fluid than ever before.
Support to map specific terrain sources
In previous versions, Terrain support was based on a global configuration used for all 3D maps. By adding a new Terrain layer type in MapStore it is now possible to configure the preferred Terrain provider for each 3D map. Thanks to this new concept it is also possible to have a different Terrain layer for different application contexts as shown below.
Support for additional Cesium options
- Show sky atmosphere
- Show ground atmosphere
- Show fog
- Enable depth test against terrain
MapStore Side Toolbar
With v2022.02.02 we have decided to kick off a new design of the Map Viewer introducing a Side toolbar in the user interface. This is enabled by default (you can always switch to the usual Burger Menu by changing the application configuration or simply selecting in the context’s wizard) to provide a (hopefully) more fluid user experience thanks to the ability to work with multiple tools at the same time.
As part of this new design also the Annotations tool location in the UI has been changed (it is now available from TOC) to guarantee a more coherent workflow through a more coherent user experience with the rest of the layers.
For developers and MapStore administrators: we suggest to have a look at the online documentation to learn how to:
- Replace the Burger Menu with the Side toolbar in a MapStore downstream project
- Update existing contexts to use the Side toolbar
- Update existing custom extensions to work with the Side toolbar
Our printing tool providea number of new features, such as:
- Ability to select the desired projection for printed maps (it is configurable from plugin configuration)
- Ability to select the desired export format other than PDF (it is configurable from plugin configuration, eg. for JPG or PNG)
Dashboards and GeoStories
MapStore v2022.02.00 provides a few new features and enhancements for Dashboards and GeoStories.
Starting from v2022.02.00 it is possible to define multiple maps for the same Map widget. In view mode it is possible to switch between configured maps through a dropdown switcher. Connections with other widgets are still possible and they are preserved while switching from a map to another one!
Import and Export
The Import and Export capabilities have been included also for Dashboard and GeoStories.
OpenID and Keycloak
MapStore now supports OpenID connect hence it is possible for MapStore users to authenticate through one of the given OpenID service supported (e.g. Google and Keycloack). This extends the existing user authentication capabilities provided so far by GeoServer and LDAP making MapStore even more suitable to more use cases.
Improving MapStore loading times
We have performed a number of activities in order to improve MapStore loading times. A few examples:
- We reduced the main bundle size of the application to optimize the loading time by cleaning up or lazy loading some of the MapStore dependencies
- Most part of plugins have been converted to modular plugins and they have been removed from the main bundle to be lazy-loaded only if effectively present in the application configuration: that applies not only to regular plugins but also to custom extensions
- We have improved the extensions system to make it more robust and avoid possible conflicts between extensions/plugins
Release v2022.02.00 aim at making MapStore more robust, lighter and faster to load; there is also room for further improvements.
For developers: we suggest to have a look at the online documentation to learn how to make an existing custom extension modular. It is possible to refer to our MapStoreExtension template project in Github.
Ongoing and future work
For the next releases we are working on the following functionalities (in sparse order):
- 3D Views Tool: a really powerful tool for the MapStore 3D viewer where it is possible to define and configure directly from the user interface advanced 3D visualizations with features like clipping and masking layers and more that you don’t expect! Stay tuned!
- 3D Measurement tool: the Measurement tool will be completely redesigned with dedicated measurement function for the 3D context like measure height from the terrain, measure angle in 3D space, measure slope etc.
- Further enhancements for the 3D ecosystem: enriched styling capabilities, more 3D configuration options, performance optimizations in managing 3D vector features rendering in Cesium map
- Chart Switcher for Dashboard: to be in the same line of what done in v2022.02.00 with the Map Switcher e.g. the ability to define multiple charts for the same widget and switch between them through a selector
- Support to multi-variable charts to eventually be able to chart multiple variable at the same time
- General improvements for MapStore downstream projects to simplify and enhance the management and maintenance of MapStore based projects
- Performance and more, further enhancements are expected to improve the loading time of MapStore pages and themes.
If you want to play with the current release, you can access the live demo here and login with username demo and password 123demoUser.
If you are interested in learning more about how we can help you develop a WebGIS using MapStore or help you achieve your needs with MapStore, GeoServer, GeoNode and GeoNetwork through our Enterprise Support Services, Professional Training Services and Subscription Services please contact us!
The GeoSolutions team,