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

Explore open-source tools to create digital urb...

Explore open-source tools to create digital urban models for MapStore - FOSS4G EU 2025

The presentation describes processes and open-source tools employed by the author and his team to build and consume digital models for urban environments. The results of these processes will be rendered in MapStore as 3D Tiles layers, an OGC community standard designed for streaming and rendering massive 3D geospatial content. MapStore WebGIS framework support for 3D Tiles and glTF models through the Cesium mapping library has been greatly enhanced to support a more powerful integration. The latest versions of MapStore also include improvements and tools for exploring 3D data such as Map Views, Styling, 3D Measurements, Annotations and more.

Attendees will be presented with an overview of our work related to 3D data processing and visualization, and a selected city will be used to exemplify the processes. At the end of the presentation, attendees will be able to use the presented processes, tools and workflows to replicate them in different urban scenarios, finally visualizing them with the 3D tools of the MapStore WebGIS application.

Avatar for Simone Giannecchini

Simone Giannecchini PRO

July 22, 2025
Tweet

More Decks by Simone Giannecchini

Other Decks in Technology

Transcript

  1. Andrea Aime Technical Lead [email protected] @geowolf GeoSolutions Innovative, robust, cost-effective

    solutions leveraging best-of-breed Open Source products. This presentation is brought to you by 2 Jody Garnett Product Owner [email protected] @[email protected] GeoCat Government Geographic Data publishing
  2. GeoServer at a Glance Java Web Application to share and

    edit geospatial data. Publish data from any major spatial data source using open standards. Core Protocols WMS – maps WFS – vector WFS-T – editing WCS – coverage WMTS – tiles TMS – tiles WMS-C – tiles Extension/community protocols WPS – process CSW – search OGC API - Features - vector OGC API - json + rest standards OGC STAC - spatio-temporal asset catalogue 3 Core Contributors 2025 sponsors
  3. Peter Smythe is the newest PSC member Core committers are

    nominated by their peers and trusted with the ability to approve pull-requests. We also support community commit access by request (often to work on a specific research and development topic): • 25 committers Project Steering Committee serves to guide the project drawing from the various groups with a stake in the success of the project. • Alessio Fabiani • Andrea Aime • Ian Turton • Jody Garnett • Jukka Rahkonen • Kevin Smith • Nuno Oliveira • Peter Smythe • Simone Giannecchini • Torben Barsballe GeoServer Team 5
  4. GeoServer maintains a list service providers: • Core Contributors Ongoing

    commitment to the project devoting resources to security fixes, releases and maintenance activities. • Experienced Providers Successfully contribute functionality to the project on behalf of their customers. • Additional Services Providers Provide training, setup and integration support and assistance using GeoServer. (request: please take part in community) GeoServer Service Providers Core contributors directly contribute to project sustainability and are recognized for: • core, committer, support Experienced providers participate in aspects of the project as community members: • development, coding, documentation, outreach, translation, training, service, product 6
  5. Incoming Community • WFS freemarker output format • Graticules •

    Features autopopulate • JWT headers auth • GeoServer monitor Kafka • Datadir loader • ogcapi-features Community modules GeoServer maintains a “community space” for experiments and new developers to work. • Developers propose a community module idea and request commit access • We make sure they compile! • May be proposed as an extension when both the author and functionality is ready Spot a community module of interest, reach out to see how you can help. Graduating extension • Raster Attribute Table Outgoing Community • app-schema/webservice -test • gwc-distributed • imagemap • Jdbc-metrics • monitor-hibernate • Pgraster • Saml • Wps-sextante • xslt Downgraded extension • h2 7 COM MUN NITY Identifies slides talking about community modules Hey yes, that’s where a lot of action happens experiment supported un-supported end-of-life
  6. September 2026 March 2025 2.26.x Releases covered by this presentation

    2.27.x September 2025 2.27.x 9 March 2026 2.28.x 2.28.x 2.28.x 3.0.x 3.0.x? YOU ARE HERE
  7. • Security fixes for supported versions only ◦ In July

    2025 “supported” is 2.26.x and 2.27.x ◦ In Sep 2025 “supported” will mean 2.27.x and 2.28.x • Please upgrade your GeoServer installations! • Always two, there are. No more. No less. ◦ Balance between stability and encouraging development ◦ Easier to get answers - user forum and stack exchange typically cover only supported versions Are you using a older version? Upgrade! Photo by SpaceX on Unsplash 10
  8. Upgrade? What’s in it for me? • Much! • Check

    what’s new in 2.27 and 2.26 • Check the bottom of each slide to see who sponsored a certain feature, who implemented it, and what version contains it ◦ This icon marks activities done without any sponsoring Version Author Sponsor ♥ 11
  9. Demo request page rewritten • Demo request page rewritten •

    Works fully with Javascript, no server side helper • Can show response in-line, with headers • Can show response in separate page • WPS and WCS request builders switched as well 2.26.x Dave Blasby GeoCat GeoCat Live
  10. • OGC API services now show up in the home

    page under their general category • Old and new services for the same purpose, side by side OGC APIs at home Dave Blasby GeoCat GeoCat Live 2.26.x 16 COM MUN NITY
  11. • New code for loading the GeoServer data directory •

    Same old XML files, but better performance especially for ◦ Large data directories ◦ Over network file systems • Backport from the GeoServer cloud project • Default loader since 2.27.0 Data directory loader Gabriel Roldan Camptocamp 2.27.x 17 COM MUN NITY
  12. • The war file has been Java 17 compatible for

    a while • The Windows installer and “bin” package are compatible out of the box since 2.26.x • The GeoServer docker image uses Java 17 • All builds now include testing on Java 21 too (not widely used though) • GeoServer cloud uses Java 21 by default Windows installer and bin package Java 17/21 ready Andrea Aime GeoSolutions 2.26.x 18
  13. • Searchable tables in GeoServer GUI normally return whatever “contains”

    the search them • Use double quotes, and they will search for the exact word instead Exact searches in the GeoServer GUI Alessandro Ricchiuti GeoSolutions 2.26.x 19
  14. • Allows locking down admins to a certain <folder> when

    setting up file stores • For workspaces admins <folder>/<workspace> • Prevents admins from wandering around on the whole file system File system sandbox Andrea Aime GeoSolutions 2.27.0/2.26.2 20
  15. EPSG database v11.0.31 22 2.27 Daniele Romagnoli GeoSolutions • Long

    overdue update • New database structure • Updated geodetic information • New EPSG codes: from ~6700 to almost 8000 Deutsche Bahn
  16. GeoCSS language improvements 23 2.26 Andrea Aime • Multi-layer styles

    • Scale dependencies by zoom level @mode 'Flat'; @TileMatrixSet 'WorldCRS84Quad' tiger:poly_landmarks { /* @title parks and green spaces */ [CFCC in ('D82', 'D32', 'D84', 'D85')] { fill: #B4DFB4; stroke: #88B588; }; … } tiger:tiger_roads [@z > 12] { stroke: #666666, #FFFFFF; stroke-width: 6, 4; z-index: 1, 2; … } tiger:poi [@z > 14] { mark: symbol('circle'), mark-size: 11, 7; … } ♥
  17. Improved Polygon Label Function Improvement: - Automatic “tolerance” based on

    polygon size - Compare with centroid or envelope center 24 2.26 Andrea Aime GeoSolutions ♥ Tolerance 0.1 (too small for some polygons) Previously: “maximum inscribed circle”: - Rectangle → infinite max circles! - Tolerance → has to be “just” right or this happens (see below)
  18. Improved vector tiles generation 25 2.26 Andrea Aime GeoSolutions ♥

    @mode "Flat"; tiger:poly_landmarks { fill: gray; vt-attributes: 'CFCC,LANAME'; vt-labels: true; } tiger:tiger_roads [@z > 11] { stroke: black; vt-attributes: 'NAME'; vt-coalesce: true; } tiger:poi [@z > 12] { mark: symbol(square); } • New vendor option flags to control attributes, polygon label points, geometry merging • As usual, driven by the style (scale dependencies, filters, and now vendor options too)
  19. MapML module improvements 26 2.26 Various authors GeoSolutions Natural Resources

    Canada • Maps for HTML initiative • Have a <mapml-viewer> tag just like we have a <video> tag • Lots of novelties ◦ MapML CRS authority ◦ Better WMS integration, WFS viewer ◦ MapML vector tiles with CSS client side styling ◦ Better multi-layer handling ◦ Custom WMS dimensions ◦ Output templating with Freemarker ◦ Native Tiled CRS configuration
  20. Coverage views: native Jiffle • New band composition mode: Jiffle

    • Jiffle in SLD works only for WMS • Works for all raster outputs, WCS and WPS included • E.g. NDVI: don’t just view it, download it and use it for processing as well 2.27.x Daniele Romagnoli GeoSolutions RURALL 28
  21. Image mosaic: min/max merge mode • Given N overlapping images

    in a mosaic • Compute for each overlapping pixel the min or the max value 2.26.x Andrea Aime GeoSolutions Naval Research Laboratory 29
  22. New SingleStore community module • SingleStore is a distributed SQL

    database that supports both transactional and analytical workloads, using a combination of in-memory and disk-based storage. • Designed for low-latency queries at scale and is often used in real-time data applications. • Simple spatial support, only Geography, only single part geometries. Lines are always great circles • New community module 2.27.x GeoSolutions Verizon 30
  23. GeoParquet community module • GeoParquet: columnar, cloud native, compact vector

    data storage • Store reads GeoParquet files ◦ Local ◦ HTTP ◦ Blob storage • Uses DuckBD for the actual reading (fast!) 2.27.x Gabriel Roldan Camp2Camp 31
  24. OGC API Features extension 33 - OGC API Features graduated

    from community to Extension – now part or releases - Code sprint organized by Camp2Camp - Implements: Core, CRS by reference, Filtering, CQL2 - Unofficial extensions for sorting and POST search - Passes CITE test conformance Gabriel Roldan Camptocamp Geo2France and others 2.27.0 Andrea Aime GeoSolutions Jody Garnett GeoCat
  25. OGC API - Features 34 Gabriel Roldan Camptocamp Geo2France and

    others 2.27.0 Andrea Aime GeoSolutions Jody Garnett GeoCat
  26. OGC API - Processes community module 2.27.x Andrea Aime GeoSolutions

    ISSI 35 - Invoke spatial analysis online with the ease of OGC APIs - Sync or Asynch execution - Bonus bit not found in the official spec: invoke processes as GET requests too http://host:port/geoserver / ogc/processes/v1/processes/JTS:buffer/execution? geom=POINT(0 0)& geom[type]=application/wkt& &distance=10&capStyle=Square &response[f]=application/json
  27. • Other OGC APIs in various states of completion •

    Please join the development or share funds to push these beyond the finish line too OGC API community modules Andrea Aime GeoSolutions GeoSolutions OGC GeoNovum Maps API Coverages API Implementing, yet still incomplete Missing, looking for volunteers/sponsors Records API Process API Tiles API Styles API STAC API 36 COM MUN NITY 2.27 x DGGS API DAPA API
  28. OGC compliance push 2.27.0 ♥ Andrea Aime (GeoSolutions) Peter Smith

    (AfriGIS) 37 - Spin off from OGC API Features effort - Now testing compliance (and passing it) in every pull request! - Official compliance recognition underway - Dedicated presentation in this very conference, Friday, 11am, EL11, join us to learn more!
  29. JTS 1.20 upgrade 2.26.0 Martin Davis CrunchyDB 39 - RelateNG

    - Topological relationship tests (e.g. intersection test) - Faster, more robust - Lots of new functionality related to polygon “coverages” (polygonal space partition) useful for writing plugins and new processes - See all details in its release notes: - https://github.com/locationtech/jts/releases/tag/1.20.0
  30. - Significant speed up by external contributor! - Changes across

    the board - Faster PNG encoding for tiles in a MetaTile (ImageIO-EXT) - Less locking contention (GWC) - Improved parallelization GWC tile generation speedup 2.26.x Mitchell Bosecke ? 40 Before After
  31. Official Docker image x.y.z Several contributors 42 COM MUN NITY

    • Java 17 upgrade • Tomcat 9.0.97 upgrade • CORS headers problem fixed • Allow running as unprivileged user • Set admin credentials with environment variables • GDAL build
  32. Platform independent binary for JDK 17/21 2.26 Andrea Aime GeoSolutions

    GeoSolutions 43 COM MUN NITY • Support running on Java 17 and Java 21 • Upgrade to latest Marlin renderer
  33. GeoServer Cloud 2.26.1+ Gabriel Roldan Camptocamp Several Camptocamp customers 44

    COM MUN NITY • Cloud Native distribution ◦ Built on the strengths of GeoServer ◦ Microservices architecture ◦ Dynamic scaling, advanced security, simplified operations • Version 1.9.0 upgrade to GeoServer 2.26.1 • Multi-platform (amd64/arm64) Docker images • Improved Catalog scalability • Improved security scalability with GeoServer ACL • Continuous Integration acceptance tests pipeline • JSON logging output in logstash format • New integrations incl. GeoNode • Horizontal pod auto-scaling (inc. in helm-chart)
  34. Disclosure Policy Update (GSIP 220) • Name Changed ◦ “Responsible

    Disclosure” to “Coordinated Vulnerability Disclosure” • Policy unchanged: ◦ Communicate first ◦ Stable and maintenance branches patched ◦ Patches are released for downloads ◦ Share vulnerability with community • Communication changed: ◦ GeoServer nows provides CVE Numbers ◦ Automated scans flag dependencies with known vulnerabilities, only if a vulnerability is confirmed will we provide a CVE number 46 2.24 Jody GeoCat GeoCat Map
  35. • geoserver-users → OSGeo Discourse ◦ Can login with credentials

    you have and ask (or answer) a question ◦ Forum approach allows repeative questions to stay answered ◦ Previously email list has seen a similar level of involvement as gis stackexchange (which is a surprising result) ◦ Ability to drop-in and engage without long term commitment ◦ GSIP-225 Reducing friction on communication channels 49 2.26 Jody ♥
  36. No more release candidates? • Developers have been asking for

    community uptake on RC testing for a while • It’s a “once every six months” activity • Response has been tepid/missing ◦ But massive thanks to the few that did provide feedback, we love you! • Time to accept reality: RCs, under this conditions, are just busywork • GeoServer 2.26.0 released directly, without a RC 50 Release Candidate
  37. RERO: Release Early Release Often Key open source “development strategy”:

    - feedback loop between user and developer community. - Social contract for shared success - Avoid pressure of larger releases - Quick “does this work” feedback - Faster response when reporting issues (developer is still available) - Reduces risk etc… Going forward: Help test nightly builds! (docker nightly builds included!) 51
  38. GeoServer Sponsorship GeoServer Sponsorship allows activities that are beyond the

    reach of an individual developer. (Poor sustained suppot for valuable project) • OSGeo Foundation is doing so much! • Asking for financial support at this time Added a page to the website: • Previously Just in the wiki page • Easier to raise funds for specific activities • “log4j” vulnerability had offers of funding (so we know users are out there) Sponsor via OSGeo Foundation options: • Email [email protected] for invoice • GitHub Sponsorship (tag your repo) • PayPal Donation Perks: • GeoServer website recognition • Mention in release announcements • OSGeo website recognition • GeoServer continues to happen 52
  39. We are at a turning point in the Java ecosystem.

    Spring 5 is no longer supported, but Spring 6 requires switching from JavaEE to Jakarta EE (API break) and Java 17 as the minimum 54 Spring 5 → 6 JavaEE → Jakarta EE Wicket 7 → 10 Tomcat 9 → 10 Spring security 5 → 6 OAuth/OpenID connect modules rewrite Java 11 → Java 17 Jetty 9 → 12 JAI → ImageN 3 Presentation about this GeoServer 3 Status Report: How We Got Here, How It’s Going This afternoon, same room!
  40. • What is mkdocs? ◦ faster than sphinx-build ◦ the

    search works (finally) ◦ offers live preview when editing • markdown is less complicated ◦ Less explicit directives (so we will need writers guidelines to cover conventions) • Lower barrier of entry: ◦ reStructuredText → Markdown • Theme: “material for mkdocs” ◦ Graphics designer likes it ◦ Clear documentation and examples ◦ version and language switchers - Format transition: - pandoc + jody wrote a script sphinx-build to mk-docs ? Jody Garnett (GeoCat) GeoCat Live GeoCat Map 55 • GSIP-221 • Outstanding PR in need of volunteers for completion
  41. • Long requested issue tracker switch • We need to

    find/develop the right tooling ◦ Keep title/comments (most tools do) ◦ Keep attachments (trickier) ◦ Keep cross-issue links ◦ Possibly map users (at least well known ones) • E.g. (does not match all desired) https://github.com/lemeurherve/jira-issues- importer From Jira to Github issues ? ? ? 56
  42. • The community has a very loose “road map”, often

    missing funds to enact it • Core developers are mostly employed in companies providing commercial services for GeoServer, or using it in a product, or hosting solution → customer driven (no other significant source of funding) • Other developers pop up occasionally to provide improvements, fixes and new features they need • Larger changes require planning and funding! Roadmap - whatever else you want to push for Community 57 Everyone ♥