11-20, 16:00–16:25 (Pacific/Auckland), WG126
Abley’s open-source mapping stack powers high performance apps and APIs using PostGIS, GeoServer and MapLibre. The architecture underpins Abley’s SafeSystem data platform and road safety applications. This presentation, aimed at spatial developers, explores the stack’s architecture, discusses engineering challenges encountered and presents key learnings.
Abley’s open-source mapping stack powers its SafeSystem suite of road safety applications and data APIs, helping US transportation agencies optimise investments and reduce deaths and serious injuries on their road networks. The suite delivers consistently fast performance and smooth user interaction, even under heavy data loads.
The architecture comprises a PostGIS database, GeoServer (serving cached vector tile operational layers and managing security), MBTileserver for contextual data layers, and Nginx as a reverse proxy. Core road safety applications use MapLibre GL JS, plus a standalone API Explorer app enables seamless integration with desktop GIS tools via open standards like WMS and WFS. Docker Compose orchestrates the stack, ensuring consistent environments and enabling robust and scalable deployments, and simplifying testing and debugging.
Topics discussed in this presentation include pros/cons of alternative architectures considered, techniques for securing GeoServer within Docker, challenges and solutions when integrating secure services with desktop GIS and contributing back to open-source communities. The presentation also outlines a pragmatic, agile engineering approach that balances requirements, stability and system security while avoiding speculative over-engineering . Spatial developers will gain insights into performant spatial data hosting and discover practical guidance for getting started with GeoServer, as well as vector tiles and integrating with desktop GIS.
Stacy is an Associate Software Engineer at Abley. He has a PhD in Mechanical Engineering, which started him on a path of spatial software development using JavaScript and Python to solve wickedly complex problems across a variety of domains.