v0.1 · NYC, 5 boroughs · public demos free

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.

How it works

Address in. Reproducible artifacts out.

  1. 1
    Type an NYC address

    We geocode it, snap to a 250m AOI, and pull the latest USGS NAIP orthophoto.

    > 100 E 21st St, Brooklyn
  2. 2
    Fuse imagery + footprints + LiDAR

    SAM2 segments rooftops; we align them against NYC OpenData footprints and lift heights from NYS LiDAR p95.

    orthophoto+footprints+LiDAR
  3. 3
    Get classified change + 3D mesh

    Per-building change class, vertex-colored LOD1 mesh, and a one-page run summary — all downloadable.

    preview.pngchange.geojsonmesh.ply
Change detection

Per-building classification: unchanged / modified / demolished / added, each with a confidence score and baseline-IoU.

Learn more
3D reconstruction

LOD1 PLY meshes from NYS LiDAR, vertex-colored by change type — drop straight into three.js, Unreal, Blender, or QGIS.

Learn more
Reproducible API

Every run records SHA-256s of each input asset — defensible audit trail for insurance, diligence, and permitting workflows.

Learn more
Run output

What you get per run

Three artifacts, every run, on a fixed 250m AOI. Real output below from the Brooklyn demo.

View full demo
preview.png
Change-classified overlay

Aerial imagery with per-building fills and outlines, ready to share.

change.geojson
Per-feature classification
  • unchanged127
  • modified7
  • demolished0
  • added0
{
  "kind": "modified",
  "iou": 0.74,
  "height_m": 12.4
}
mesh.ply
LOD1 extruded buildings
vertices
3.9k
faces
5.6k
height source
LiDAR p95
vertex colors
change palette

Drop into three.js / Blender / Unreal. Vertex-colored so the change palette renders without extra work.

Built for diligence

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.

SHA-256 per input

Imagery, footprints, LiDAR — all hashed and embedded in run_summary.json.

Server-locked options

Imagery 2024, baseline 2017, SAM2. Clients can't drift the contract.

QA metrics included

mask_iou, change_polygon_f1, mesh_footprint_iou — included in every run.

Try it

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.

Free plan · 5 runs/month
Imagery year
2024
Baseline year
2017
Segmentation
SAM2
Public MVP supports SAM2 only.
Outputs
At least one output is required.
Sign up — freeSign inFree account: 5 runs/month. Public demos above need no account.