All projects

Geospatial Tooling

LiDAR2Building Geospatial Engine

LOD2 context geometry from a lat/lng for anywhere in England

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.

Try LiDAR2Building →

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

  1. Building footprint extraction: OS OpenData and Ordnance Survey vector queries.
  2. LiDAR acquisition: DEFRA 1m datasets for buildings, terrain, vegetation.
  3. Data processing: GeoPandas, Fiona, Laspy for vector and raster pipelines.
  4. Geometry generation: rhino3dm, headless, LOD2 output.
  5. 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.
LOD2 context generated from a single lat/lng — buildings, terrain, streets, and trees, ready for analysis in minutes.