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

Mapstore - Modern Webmapping

Mapstore - Modern Webmapping

This presentation provides an introduction to MapStore covering the work done so far, with a special focus on the latest features, as well as on the work in progress.

Simone Giannecchini

August 01, 2019

More Decks by Simone Giannecchini

Other Decks in Technology


  1. GeoSolutions ⚫ Founded in Italy in late 2006 ⚫ Expertise

    • Image Processing, GeoSpatial Data Fusion • Java, Java Enterprise, C++, Python • JPEG2000, JPIP, Advanced 2D visualization ⚫ Supporting/Developing FOSS4G projects ⚫ GeoServer, MapStore ⚫ GeoNetwork, GeoNode, Ckan ⚫ Clients ⚫ Public Agencies ⚫ Private Companies ⚫ http://www.geo-solutions.it
  2. Contents ⚫ What is MapStore? ⚫ What did we do

    last year? ⚫ Where is MapStore going?
  3. What is MapStore? It’s a Framework You can build many

    different applications with its plugins (and by developing your own)
  4. What is MapStore? It’s a Framework So you need to

    be a developer to use it this way …and need some basic knowledge ES2015 ReactJS Redux RxJS Less / CSS …or ask «someone» to build the application for you If you are familliar with all of this technologies you can also send us your resume!
  5. What is MapStore? It is also a Product Use it

    as is or slightly modifying the look&feel
  6. What is MapStore? It is also a Product So you

    DON’T need to be a developer to use it this way …just edit some configuration …and basic css …using the documentation (we are improving this) …and ask on the mailing list when in doubt
  7. Recent Improvements ⚫ Dimensions handling ⚫ Time ⚫ Elevation ⚫

    Projections Selector ⚫ Annotations ⚫ No Stress Services Integration
  8. Recent Improvements ⚫ GeoNode Integration ⚫ Styler ⚫ Templates ⚫

    CSS / SLD Editor ⚫ Widgets Tray ⚫ New Documentation WebSite
  9. Elevation Dimension • Connect to WMS layers that have Elevation

    dimension • Automatically recognized, panel in the Layers Settings • DTM for MousePosition and CesiumJS (useForElevation) • You need GeoServer DDS plugin
  10. Time Dimension • Connect to WMS layers that have Time

    dimension • Needs WMTS-Multidim GeoServer plugin • Automatically recognized, a TimeLine tool appears over the map
  11. Projection Selector • Unrfotunately I don’t believe it is… •

    But usually (unless we do 3D) a map IS flat • So we have to deal with projections
  12. Projection Selector • And this is not the easiest thing

    in the world • A lot of projections exist, with many variants and a lot of weird things can happen using some of them
  13. Projection Selector • We have libraries for the frontend (e.g.

    proj4js and OpenLayers) that can work with them • We have backend services that handle them (e.g. GeoServer) • But… prepare for some pain
  14. Projection Selector • Add your preferred projection(s) (with caution!) "projectionDefs":

    [{ "code": "EPSG:54029", "def": "+proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m no_defs", "extent": [ -20003999.8508586, -20003989.8508586, 20003989.8508586, 20003990.8508586 ], "worldExtent": [ -179.99999, -89.99999, 179.9999, 89.99999 ] }]
  15. Projection Selector • Enable them in your plugins { "name":

    "CRSSelector", "cfg": { "additionalCRS": { "EPSG:54029": { "label": "Van Der Grinten I" } }, "filterAllowedCRS": [ "EPSG:4326", "EPSG:3857", "EPSG:54029" ], "allowedRoles": ["ALL"] … } }
  16. Projection Selector • Enable them in your plugins { "name":

    "MousePosition", "cfg": { … "filterAllowedCRS": ["EPSG:4326", "EPSG:3857", "EPSG:54029"], "additionalCRS": { "EPSG:54009": { "label": "Van Der Grinten I" } } } }
  17. StyleEditor • Enable style editing in localConfig.json (only for ADMINs)

    • Or (for everybody) { "name": "StyleEditor", "cfg": { "editingAllowedRoles": ["ADMIN"] } } { "name": "StyleEditor", "cfg": { "editingAllowedRoles": null } }
  18. StyleEditor • Edit the style using a smart editor •

    Syntax highlighting • Support for SLD and CSS
  19. StyleEditor • Edit the style using a smart editor •

    Helper tools (e.g. color picker) • Autocomplete and validation
  20. StyleEditor • Requirements: • User needs FULL access to GeoServer

    REST services • Properly configured CORS in GeoServer
  21. GeoNode Integration - Layer & Map Preview Layer and Map

    previews provide navigation tools and give access to advanced functionalities
  22. GeoNode Integration - Info and Print Get information from layers

    and print the previewed map inside the Map Viewer of MapStore
  23. GeoNode Integration - Edit Data Attribute table give to users

    the access of each feature of a layer and provides a set of tools to edit, filter, query and draw data
  24. GeoNode Integration - Map Viewer Create and edit maps inside

    the Map Viewer. Add new layers with the Catalog tool
  25. No Stress Integration "proxyUrl": { "url": "proxy/?url=", "autoDetectCORS": true }

    • Connect to external servers seamlessly • Automatically uses a proxy when needed • Use with care, still experimental
  26. Time and Elevation • TimeSlider should work also without the

    WMTS-MultiDim extension, using WMS Capabilities info (like we do for elevation) • More integrated Elevation and Time handling tools (now they are accessible in different places) • Elevation profiles
  27. Vector Tiles • Sources • WMS • WMTS • WFS3

    • Formats • MapBox MVT • GeoJSON • TopoJSON • Styling • SLD • CSS • MapBox styles
  28. Others • Projections • Bug fixing and extended support in

    the various plugins • CORS Automatic Detection • Improve CORS error detection (not easy!)