feat(geo): adopt Mapbox building calibration (3.1 m per level) (#26)

Merged PR #26: adopt Mapbox building calibration

Co-authored-by: Zwitschi <zwitschi82@gmail.com>
This commit was merged in pull request #26.
This commit is contained in:
zwitschi authored and zwitschi committed 2026-11-08 16:38:28 +01:00
1 parent 81f7cd3991
commit 5ffe62f6aa
37 files changed
+125 -88

No files matched your search

+21
View File
@@ -379,3 +379,24 @@ Scope: facts and traps that cost time to establish. Planned work lives in [TODO.
**0.6 m lower per 6 levels** → Mapbox implies **3.1 m per level**, not 3.2.
Worth revisiting `LEVEL_HEIGHT` if a measured storey height ever lands.
- Its query API surface: `height`, `min_height`, `type`, `extrude` per polygon.
## 2026-11-09 — Mapbox calibration adopted into the blockout
- Owner decision: adopt Mapbox. Applied:
- `LEVEL_HEIGHT` 3.2 → **3.1 m** in `Geo/tools/block_height_report.py`, and the
Blosm `--level-height` default in `Art/blender/blockout/blosm_blockout.py`.
- `HEIGHT_OVERRIDES` in block_height_report: ways 1490910971, 1492058875,
1492747608 → 3.0 m (Mapbox single-storey; the 2-level guess gave 6.4 m).
- `classify_height(tags, level_height, way_id)` now takes the way id so
overrides apply; `mapbox_buildings.py` passes it, so the cross-check agrees
with the height table.
- Re-running the cross-check: **66 match, 6 non-building, 0 close/disagree**.
- Geometry: blockout regenerated at 3.1 (object names preserved — the frontage
exporter maps `element.020`/`element`/`element.019`/named buildings, all still
present, 6/6 exported), frontage re-imported, DemoMap rebuilt, packaged build
`-qaselftest` all PASS.
- **Blosm adds roof mass** on top of `levels × levelHeight`: 6922 39.1 m vs table
37.2, El Capitan Theatre 20.5 m vs 18.6 — both ~+1.9 m. That is a roof, not a
height error; the table is the tagged height, the mesh is storey + roof.
- Gotcha: regenerating the blockout is safe for names, but any future change to
the import must re-verify the 6/6 frontage export and the `element.*` mapping.