Building-level urban change detection from aerial imagery.
Type any NYC address. CityLens fuses the latest orthophoto with NYC's baseline footprints and NYS LiDAR, then returns a classified change.geojson, a LOD1 mesh.ply, and a rendered preview — every input SHA-256 recorded.
Public demos don't require sign-in. Creating a custom run requires a free account.
Address in. Reproducible artifacts out.
- 1Type an NYC address
We geocode it, snap to a 250m AOI, and pull the latest USGS NAIP orthophoto.
> 100 E 21st St, Brooklyn - 2Fuse imagery + footprints + LiDAR
SAM2 segments rooftops; we align them against NYC OpenData footprints and lift heights from NYS LiDAR p95.
orthophoto+footprints+LiDAR - 3Get classified change + 3D mesh
Per-building change class, vertex-colored LOD1 mesh, and a one-page run summary — all downloadable.
preview.pngchange.geojsonmesh.ply
Per-building classification: unchanged / modified / demolished / added, each with a confidence score and baseline-IoU.
Learn moreLOD1 PLY meshes from NYS LiDAR, vertex-colored by change type — drop straight into three.js, Unreal, Blender, or QGIS.
Learn moreEvery run records SHA-256s of each input asset — defensible audit trail for insurance, diligence, and permitting workflows.
Learn moreWhat you get per run
Three artifacts, every run, on a fixed 250m AOI. Real output below from the Brooklyn demo.

Aerial imagery with per-building fills and outlines, ready to share.
- unchanged127
- modified7
- demolished0
- added0
{
"kind": "modified",
"iou": 0.74,
"height_m": 12.4
}Drop into three.js / Blender / Unreal. Vertex-colored so the change palette renders without extra work.
Every input is hashed. Every run is reproducible.
CityLens records the SHA-256 of every orthophoto tile, footprint snapshot, and LiDAR tile. Re-run the same address tomorrow and you get a byte-for-byte audit trail back to the source data.
Imagery, footprints, LiDAR — all hashed and embedded in run_summary.json.
Imagery 2024, baseline 2017, SAM2. Clients can't drift the contract.
mask_iou, change_polygon_f1, mesh_footprint_iou — included in every run.
Featured demos
Featured demos are temporarily unavailable. You can still sign in to create a run.
Create a CityLens run
Pick a featured demo above, or sign in with a free account to run CityLens on any NYC address. We inject pipeline defaults — you only pick the address and outputs.