City Encoder

Computational / 2026
Grasshopper · GhPython · LunchBox ML
Role — Concept, Development & Visualization

Modeling a whole city—or any large set of parcels—when you don't know each building's height is normally a slog: you'd measure or guess thousands of them. City Encoder skips that. Measure a handful of real heights, and let machine learning infer the rest.

You assign actual heights to a small sample of parcels, then the tool derives a feature for every parcel—footprint area, the area-to-height ratio, distance to the city center—and trains a LunchBox ML model on the known ones. It predicts a height for each remaining parcel and extrudes the entire city in seconds. Custom GhPython handles the feature engineering and massing; LunchBox ML does the regression. The same approach works anywhere you have a few real numbers and want a fast, reasonable estimate for the rest of a list.

01
Base Import the city's parcel footprints over an aerial—flat, height-less geometry.
02
Sample Give a small, representative set of parcels their actual measured heights—the training data.
03
Train Build per-parcel features (area, ratio, distance to center) and fit a LunchBox ML model on the known samples.
04
Generate Predict heights for every remaining parcel and extrude the whole city at once.