Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MapStore, a year in review (FOSS4G 2023 Edition)

MapStore, a year in review (FOSS4G 2023 Edition)

MapStore is an open source product developed for creating, saving and sharing in a simple and intuitive way maps, dashboards, charts and geostories directly online in your browser. MapStore is cross-browser and mobile ready, it allows users to:

- Search and load geospatial content served using widely used protocols (WMS, WFS, WMTS, TMS, CSW) and formats (GML, Shapefile, GeoJSON, KML/KMZ etc..)
- Manage maps (create, modify, share, delete, search), charts, dashboard and stories directly online
- Manage users, groups and their permissions over the various resources MapStore can manage
- Edit data online via WFS-T with advanced filtering capabilities
- Deeply customize the look&feel to follow strict corporate guidelines
- Manage different application contexts through an advanced wizard to have customized WebGIS MapStore viewers for different use cases (custom plugins set, map and theme)

You can use MapStore as a product to deploy simple geoportals by using the standard functionalities it provides but you can also use MapStore as a framework to develop sophisticated WebGIS portals by reusing and extending its core building blocks.

MapStore is built on top of React and Redux and its core does not explicitly depend on any mapping engine but it can support both OpenLayers, Leaflet and Cesium; additional mapping engines could be also supported (for example MapLibre GL) to avoid any tight dependency on a single engine.

This presentation will give the audience an extensive overview of the MapStore functionalities for the creation of mapping portals, covering both previous work as well work for the future releases. Eventually, a range of MapStore case studies will be presented to demonstrate what our clients (like City of Genova, City of Florence, Halliburton, Austrocontrol and more) and partners are achieving with it.

Simone Giannecchini

November 14, 2023

More Decks by Simone Giannecchini

Other Decks in Technology


  1. About GeoSolutions • Founded in late 2006 • Offices in

    Italy & US • Supporting/Developing FOSS4G projects • MapStore, GeoServer, GeoNode , GeoNetwork, CKAN • Offer • Enterprise Support Services • Deployment Warranty • Professional Training • End-To-End Projects (Integration) • Clients • UN FAO (CIOK, FIGIS, NRL, FORESTRY, ESTG), UN WFP, World Bank, DLR, EUMETSAT, JRC, NATO CMRE, UNESCO, UNEP, etc.. • BAYER, DigitalGlobe, MDA, TOPCON, SwissRE, Halliburton, etc.. • https://www.geosolutionsgroup.com
  2. Agenda • What is MapStore? • Who uses MapStore? •

    MapStore at work • What’s new in MapStore • MapStore roadmap for 2023
  3. • Create and share maps, charts, dashboards and stories online

    • Mobile first | Responsive • Mapping engine agnostic • OpenLayers|Leaflet|Cesium • Leveraging React ecosystem • Pluggable Look & Feel • Consume data from many sources • OSM, Bing, WFS, CSW, WMS, WMTS • License is Simplified BSD • Commercial friendly! What is MapStore?
  4. What is MapStore? It is a Product Use it as

    is and customize the look & feel
  5. It is a Framework You can build many different applications

    with its plugins (and by developing your own) Event Tracking - Crime Map Covid Tracking Map What is MapStore?
  6. Who uses MapStore? • Halliburton • Austrocontrol • MapStand •

    UN FAO • EMSA • World Bank (via GeoNode) • Unesco (via GeoNode) • EARTH-I • Arno river basin authority • Region of Tuscany (Hydrologic Service) • Region of Tuscany (Urbanistic Department) • LaMMa • AtolCD and Compagnie Nationale du Rhône CNR • City of Munich • City of Florence • City of Genova • City of Bozen • City of Brussels • IGB (via GeoNode) • Rennes Métropole and CRAIG (via geOrchestra) clients and users around the world!
  7. Who uses MapStore? Rennes Métropole - geOrchestra As part of

    the geOrchestra platform for disseminating heterogeneous sets of geospatial data
  8. Who uses MapStore? CRAIG - geOrchestra As part of the

    geOrchestra platform for disseminating heterogeneous sets of geospatial data
  9. Who uses MapStore? MapStand Platform for tracking of oil and

    gas energy activities and live geo-tagged news
  10. AtolCD and Compagnie Nationale du Rhône Who uses MapStore? Geospatial

    data dissemination platform for renewable power from hydroelectric facilities on the Rhone
  11. Who uses MapStore? Arno river basin authority Geospatial platform for

    the geological and hydrogeological assessment in Tuscany
  12. Who uses MapStore? City of Genoa Geoportal for multiple use

    cases involving the territorial information system of the city of Genoa from citizen services to civil protection and the urban planning and mobility
  13. MapStore at work • Many features available out-of-the box •

    Many scenarios are covered • Works with of OGC standards • Easy to set up and configure • Easy to customize and extend • Open Source project • Compatible with the most common browsers: FF, Edge, Chrome and Safari • Compatible with mobile devices
  14. MapStore Map Viewer: overview MapStore at work TOC tools Layers

    with legend Backgrounds Widgets & Charts Options Sidebar Search Tool Footer tools Nav toolbar
  15. MapStore Dashboard: general overview MapStore at work Chart Widgets Counter

    Widget Text Widget Legend Widget Widget menu Map Widget Table Widget Dashboard toolbar
  16. MapStore at work MapStore GeoStory Create inspiring and immersive stories

    by combining text, interactive maps and multimedia content (e.g. images, video or other third party content) View mode Edit mode
  17. MapStore at work Navigation toolbar GeoStory sections Title section Paragraph

    section Media section Other kind of sections are available, like Maps and Immersive! Tell your story with a modern look !
  18. MapStore at work Build your story by adding different kind

    of sections, one after the other with an advanced web editor: • Title/Cover • Paragraph • Immersive • GeoCarousel • Media (Map, Image, Video) • Web Page Sections are organized in a continuous scrolling layout!
  19. MapStore at work The Application Context Manager is an administrative

    tool designed to build and configure different MapStore viewer configurations for the same MapStore installation A multisteps wizard allows the administrator to configure a custom MapStore viewer
  20. MapStore at work • Step #1: configure the name of

    the context and the window title The Context URL: https://mapstore.geosolutionsgroup.com/mapstore/#/context/newyorkcity
  21. MapStore at work • Step #2: configure the default map

    state and map contents • Layers in TOC • Backgrounds • Catalog sources • CRS • Annotations • Map Import • Map Export
  22. MapStore at work • Step #3: configure the set of

    plugins to include in the context viewer • Select plugins to include • Configure each plugin • Make plugins ready to be activated by users on the fly • Install a custom plugin • Direct link to the plugin online doc
  23. MapStore at work • Step #4: customize the Theme of

    your context Yes, you can do it from the User Interface! Support to include your own theme (via .less file) in the build to be available for a quick selection in the wizard
  24. MapStore at work Easy to customize and extend: customize the

    theme and develop your own plugins to be uploaded and installed in one or more application contexts! Cadastrapp Urbanisme Longitudinal Profile
  25. For Developers MapStore Extensions: leveraging on the Application Context system

    MapStore gives you the ability to build custom extensions in a structured and standard way • Dedicated repository: so that you can manage versioning and keep your extension inline across different versions of MapStore • Ready to be installed: following the guidelines your extension can be uploaded and installed in a running MapStore instance • Well documented: we are trying to keep the online documentation always in line at each MapStore release • Extension Template: we provided a template project as a quick start to encourage developers to use this system and improve it: https://github.com/geosolutions-it/MapStoreExtension
  26. What’s new in MapStore What has been released from the

    last FOSS4G ? Two major series in the middle: 2022.02 Released in Sep 2022 (2 minor releases included) 2023.01 Released in Apr 2023 (latest minor release June 21, 2023) = Lots of new powerful updates!
  27. New with 2022.02 - Improved 3D data handling Look at

    https://docs.mapstore.geosolutionsgroup.com/en/v2023.01.02/user-guide/la yer-settings/#styling-of-vector-layer • Support to WFS layers and imported vector layers (GeoJSON, Shapefile…) in 3D mode ◦ Visualization of 2D and 3D Geometries in 3D mode ◦ Support to Styling ◦ Support to Identify
  28. New with 2022.02 - Improved 3D data handling Points Lines

    Polygons Normalized the UI/UX to be in line with the existing Visual Style Editor for WMS layers • Styling properties specific for 3D mode with the inclusion of dedicated symbolizers!
  29. New with 2022.02 - Improved 3D data handling Identify for

    3D Tiles and 3D vector layers! • Enhanced the support for the Identify (click on map) in 3D mode according to the camera orientation
  30. New with 2022.02 - Improved 3D data handling • Improved

    3D mode performances: applied Explicit Rendering strategy to avoid frames loading when the map is idle
  31. New with 2022.02 - Improved 3D data handling • Improved

    the 3D Map Options related to the globe in Map Settings: enable atmosphere, enable fog and enable depth test
  32. New with 2022.02 - Improved 3D data handling Look at

    https://docs.mapstore.geosolutionsgroup.com/en/v2023.01.02/developer-guide/ maps-configuration/#terrain Now you can configure the preferred Terrain provider for each 3D map! • Improved the support for Terrain layers including a new dedicated layer type to support terrain provider layer for the 3D viewer
  33. New with 2022.02 - Loading Time 2022.01.02 2022.02.02 mapstore2.js 1.4

    Mb mapstore2.js 2.6 Mb • Further performance improvements from v2021.02 concerning the loading time of MapStore pages ◦ Reduced the initial MapStore JS bundle size by lazy-loading needed lib dependencies ◦ Modular Plugin: for a dynamic import of plugins and extensions only when lib dependencies are needed
  34. New with 2022.02 - Side Toolbar • Side Toolbar: ◦

    A new design for the MapStore map viewer ◦ Faster and easier access to MapStore tools ◦ Allows concurrent use of multiple tools on the same map
  35. New with 2022.02 - Query params handling • First implementation

    in v2022.01.01 series ◦ Provided the ability to send query params using POST • Enhanced in v2022.02.00 ◦ Support to multiple embedded maps on the same web page via POST • Enhanced respectively in v2022.02.01 and v2022.02.02 ◦ Provided support for a simplified handling of query parameters ◦ Support of query params for 3D mode More documentation available online at: https://docs.mapstore.geosolutionsgroup.com/en/v2023.01.02/developer-guide/map-query-parameters Example https://mapstore.geosolutionsgroup.com/mapstore/#/viewer/openlayers/new?addLayers=gs:us_states &center=-106.458,45.699&zoom=5&mapInfo=gs:us_states&mapInfoFilter=STATE_FIPS=30
  36. New with 2022.02 - Google and Keycloak authentication with OpenID

    Connect • OpenID integration: authentication providers supporting the protocol plug-in (Google and Keycloak) Look at https://docs.mapstore.geosolutionsgroup.com/en/v2023.01.02/developer-guide/i ntegrations/users/openId/
  37. What’s new in MapStore And… what about 2023.01 ? Check

    it out on Github https://github.com/geosolutions-it/MapStore2/releases/tag /v2023.01.00 https://github.com/geosolutions-it/MapStore2/releases/tag /v2023.01.01 https://github.com/geosolutions-it/MapStore2/releases/tag /v2023.01.02
  38. New with 2023.01 - Map Views • Create your immersive

    experience within the MapStore Viewer using the new powerful Views Tool! Check out the online documentation https://docs.mapstore.geosolutionsgroup.com/en/v2023.01.02/user-guide/map-views/
  39. New with 2023.01 - Map Views • Configuring different custom

    views within the same map is now possible! ◦ Descriptive panel ◦ Map position and camera orientation ◦ Animation time ◦ Custom layers visibility ◦ More options for 3D!
  40. New with 2023.01 - Map Views • Additional and advanced

    options are available for the 3D mode Clip and Mask of 3D Tiles (using WFS or Vector features) Clipping of Terrain Layers Globe Translucency
  41. New with 2023.01 - 3D Measurement • The Measurement tool

    is now supported also in 3D mode • Distance • Area • Point Coordinates • Height from terrain • Angle • Slope A completely new design provides a Measurement tool more compact and flexible to improve also the UX!
  42. New with 2023.01 - 3D Styling • Leader line property

    to connect a marker, 3D model, icon or text to the terrain
  43. New with 2023.01 - 3D Styling Based on glTF model

    support (raw GLB is also supported) • 3D Models support as a new Point Symbolizer type
  44. New with 2023.01 - WFS/Vector Legend • Layer items in

    TOC will show the legend for WFS and vector layers when a style has been defined
  45. New with 2023.01 - Dashboards • Chart Switcher/Map Switcher: to

    allow switching between multiple charts and maps respectively using a single widget • Legend widget improved: to make it interactive and more responsive
  46. What’s new in MapStore Lots of other enhancements to the

    existing MapStore capabilities have been also included • Improved interoperability with services other than GeoServer (Server Type option and more) • … and allow to load 3D Tiles tilesets via query parameters • Filter by viewport in Attribute Table • Improved responsiveness for MS widgets in mobile • Ability to set domain sharding directly from the Catalog component • 3D zoom via share URL now supports the camera orientation • Client side customization for WMTS background layers attributions • ...and much more. Check out the releases page in Github to learn more!
  47. Ongoing work We are actively working on interesting new features

    and improvements for existing and new tools to be available in next releases! The MapStore community is also growing a lot, Thank you all for using MapStore!
  48. Ongoing work - Attribute Table • Attribute Table: ◦ Ability

    to disable editing functions for layers in TOC (read-only layers) ◦ Restrict editing functionalities only to certain MS groups ◦ Keep the state of the UI column visibility settings when saving a map and in user session Q2
  49. Ongoing work - Application Context • Application Context: ◦ Import/export

    tool will be available for MapStore Contexts as it is for Maps, Dashboards and GeoStories Q3 • Sharing options: ◦ Share tool enanchement for creating permalinks so that it will be possible to share the exact state of the map without saving it
  50. Ongoing work - Catalog Tool • Cloud Optimized GeoTIFF (COG):

    ◦ The support for a new source type will be included in MapStore Catalog tool … • Efficient Imagery Data Access: ◦ Only the data you need ◦ Improving scalability and reducing bottlenecks • Reduced Data Duplication: ◦ Data available online for all consumers … to be in line with many software already using it! Q4 • Many Providers: ◦ eg. S3, Google Cloud Storage, Azure
  51. • Further updates to align the 3D measurement capabilities to

    the one available in 2D: ◦ Export to GeoJSON ◦ Convert measurements to Annotation ◦ Convert measurements to vector layer in TOC Ongoing work - Even more on 3D • Map type and camera orientation persisted when saving a map • Features editing support for 3D (also for Annotations) • CesiumJS update to the last version (to support 3D Tiles version 1.1) Q3 Q3 Q4 Q3
  52. Ongoing work - Even more on 3D • MapStore Widgets

    available also in 3D mode! • Experimentation on possible performance improvements for Terrain layers rendering: ◦ BIL Terrain caching server side and GeoServer enhancements on DDS/BIL format ◦ Terrain layer served with static quantized-mesh Q3 Q4
  53. Ongoing work - Even more on 3D • Support of

    3D maps also in Dashboards and GeoStories! Q3
  54. Ongoing work - Further styling improvements • Geometry Transformations in

    Visual Style Editor for WFS and Vector layers ◦ Geodesic line (LineSymbolizer) ◦ Start/End Point (PointSymbolizer) Q3
  55. Ongoing work - More for the Interoperability • Improved the

    Interoperability with OCG compliant services other than GeoServer ◦ Better handle of GetMap and GetFeatureInfo format list in Catalog and Layer Settings from WMS services Q3
  56. Ongoing work - Charts • MapStore Charts will be improved:

    ◦ Multiple variable charts ◦ Additional chart types ◦ More configuration options Enhancing the integration with PlotlyJS! Both Dashboard and MapViewer! Q4
  57. Ongoing work - Aliases • Manage Feature Attributes Aliases across

    MapStore tools Attribute Table Identify Filter Layer Widgets Style Editor Q3
  58. Ongoing work - Google Photorealistic 3D Tiles • Google Photorealistic

    3D Tiles: ongoing experiments on MapStore DEV are giving really good results with this! Keeping up with Google by using Map Tiles APIs with MapStore Still Experimental (Pre-GA Offerings) CesiumJS version updated to 1.91.0! Q3 Check it out! https://dev-mapstore.geosolutionsgroup.com/mapstore/ #/context/MapStorePhotorealistic3DTiles/44034
  59. MapStore Online Documentation Check out the updated User and Developer

    guides of the last release v2023.01.02 https://docs.mapstore.geosolutionsgroup.com/en/v 2023.01.02/user-guide/home-page/ https://docs.mapstore.geosolutionsgroup.com/en/v 2023.01.02/developer-guide/
  60. More Info - Online resources • Demo site: https://mapstore.geosolutionsgroup.com •

    User documentation: https://mapstore.readthedocs.io/en/latest/user-guide/home-page/ • Developers documentation: https://mapstore.readthedocs.io/en/latest/developer-guide/requirements/ • GitHub Repo: https://github.com/geosolutions-it/MapStore2 • Youtube Videos: https://www.youtube.com/playlist?list=PLe2yzutVrnZ5tjYGYYcKmZzo_M9ku5I9X • Mailing Lists: https://groups.google.com/g/mapstore-users https://groups.google.com/g/mapstore-developers