With the arrival of version 4.0.0-Nitroball, we have, among other features and additions, given the GIS viewers of the Platform a new look, improving the source code and updating the Cesium library version.
Cesium library update
The first thing we have done has been to update the Cesium library to a more current version – specifically to the stable version 1.92 – so that we achieve a better optimization of the map viewer, as well as the correction of several pending bugs.
Additionally, this version update allows us to load new layer types, such as OpenStreetMap 3D Building Assets, which we find very useful and valuable for some Products and Projects.
We have completely rewritten the map viewer API, adapting it to the new version of the Cesium library and optimizing its operation for 3D environments and digital terrain models (no more flat mountains!).
Besides, we have taken this chance to encapsulate all the API code, freeing the part of Codemirror code which goes from 6,600 lines in the previous version to less than 30, so developing new features is now simpler and cleaner.
Another advantage of encapsulating the code in a library external to the viewer itself is that it will allow us to update it in an easy way, so we will be able to easily provide continuity and support.
We’ve given some thought to the map user interface, replacing the tool block at the top of the map with a button system:
With this, we have increased the display area of the map, leaving the functional bars on the sides floating. For future versions, we plan to enable or disable buttons and/or toolbars, as well as configure their location and easily add new buttons.
We have created a map legend that shows the layers loaded on the map, showing their symbology and allowing the layer to be shown or hidden by clicking on it.
By default, we have incorporated a number of tools that can be useful to the user:
- Measure distances.
- Measure areas.
- Geolocate the user.
- Show cursor coordinates.
- Entity selection by its attributes.
Entity selection by its attributes
We want to emphasize this new tool that allows us to select an entity from the map based on a basic query of its attributes.
If we have loaded a layer from an entity/ontology, we can select it, search for the attribute we want to match, and add the value we are looking for. If it exists, it will be selected on the map.
We will be expanding the tool in the future, but this is already a useful start.
New Layer Types
We expanded the type of external layers that can be loaded by adding Cesium Ion Assets options as well as ArcGIS Enterprise map services.
What about the old viewers in the Platform? Well, they will continue to work as before without any problem. When creating the viewers, you can choose to «make them the old way», or use this new version.
We hope that these new improvements will be of your interest and that you will be able to get the most out of the new GIS viewers of the Platform.