A web app and CLI: one latitude/longitude in, LOD2 context geometry out: buildings, terrain, streets, trees. Built on DEFRA 1m LiDAR and Ordnance Survey vectors. Public, free, English coverage.
WHY IT EXISTS
Context modelling is the unglamorous first hour of every environmental analysis: someone manually extracts surroundings, terrain, and vegetation before the real work starts. England has high-quality open LiDAR and OS data, but stitching it into usable 3D geometry takes scripting most teams do not have time to write.
I wrote that scripting once, properly, and shipped it as a tool.
APPROACH
One Python pipeline integrating multiple geospatial APIs:
- OS OpenData and Ordnance Survey for building footprints
- DEFRA latest 1m LiDAR composite for buildings, terrain, and vegetation
- GeoPandas + Fiona for vector pipelines
- Laspy for raster/LiDAR pipelines
- rhino3dm for headless 3D geometry generation (no Rhino app, server context)
Two front ends: a CLI for use inside Rhino/Grasshopper workflows, and a Streamlit web app for one-click access from any browser.
COVERAGE
- Any lat/lng in England, not just test cases.
- LOD2 output: extruded building footprints with roof-height-from-LiDAR, classified terrain mesh, vegetation point clusters, street centrelines.
- Used on 20+ personal and consultancy projects; examples include a residential overheating site context and an urban outdoor-comfort study, both generated in under 5 minutes per site.
CHALLENGES
- Data heterogeneity: DEFRA, OS OpenData, and Ordnance Survey use different projections, formats, and access patterns. Unified ingestion layer required.
- LiDAR classification: separating building, terrain, and vegetation returns at 1m resolution needs careful filtering.
- Headless geometry: rhino3dm in a server context with no Rhino app meant rebuilding the geometry generation pipeline from primitives.
- Coverage: pipeline has to degrade gracefully when LiDAR tiles are missing or partial.
WORKFLOW
- Building footprint extraction: OS OpenData and Ordnance Survey vector queries.
- LiDAR acquisition: DEFRA 1m datasets for buildings, terrain, vegetation.
- Data processing: GeoPandas, Fiona, Laspy for vector and raster pipelines.
- Geometry generation: rhino3dm, headless, LOD2 output.
- Tool layer: CLI plus Streamlit web app.
OUTCOMES
- 20+ projects shipped using the tool (consultancy and personal).
- Publicly available: anyone can use it at the link above.
- Hours-per-project of context modelling eliminated.
- Foundation for downstream environmental analyses (CFD, solar, daylight) at urban scale.