Geo/tools/ is now every geographic script, with Geo/README.md documenting each one; the Blender-side builders moved beside their outputs in Art/blender/*/ and import their helpers from Geo/tools/osm_common.py. That module gains to_unreal_local() and to_blender_local(): the only place in the repository that multiplies metres by 100, so a second silent scale cannot be introduced. block_height_report.py adds height provenance for the block — 3 of 15 buildings have no height data and render at a placeholder 6.4 m. asset_metadata.py writes and audits <asset>.geo.json sidecars; four now exist (hero-facade, terrain, street, blockout) and the audit recomputes each centre from the origin, failing anything that disagrees.
4.0 KiB
Elevation check — Hollywood Blvd block
Measured 2026-11-06 with Geo/tools/elevation_probe.py against the USGS Elevation Point Query Service (3DEP, 1 m seamless DEM, raster id 129943). Raw responses: Geo/raw/epqs-2026-11-06.json. Reproduce with:
python3 Geo/tools/elevation_probe.py Geo/raw/osm-api-map-2026-11-06.osm --workers 5
Heights are orthometric, NAVD88, as published for 3DEP CONUS. They are not ellipsoidal heights and must not be mixed with GPS/ellipsoid values.
Note: the point service answers in 6–8 s per request, so the probe runs requests in parallel and samples a grid rather than a dense sweep.
Grid along the boulevard
Five positions along the 279.4 m block, at the south sidewalk (12.6 m from the centreline), the road centreline, and the north sidewalk (13.6 m).
| Along block | South sidewalk | Centreline | North sidewalk |
|---|---|---|---|
| 0.0 m (Orange Dr) | 118.90 | 119.36 | 119.59 |
| 69.8 m | 118.11 | 118.46 | 118.49 |
| 139.7 m | 116.95 | 117.41 | 117.50 |
| 209.5 m | 116.04 | 116.27 | 116.47 |
| 279.4 m (Highland Ave) | 115.65 | 115.91 | 116.10 |
Crossings: Orange Dr 118.96 m, mid-block 117.53 m, Highland 115.95 m.
What the numbers say
- Longitudinal grade: about 3.3 m of fall over 279 m, roughly 1.2 %, descending eastward toward Highland. That is a real, visible slope for a walking demo, not a rounding artefact: it repeats consistently on all three lines.
- Cross slope: the north sidewalk sits 0.4–0.7 m higher than the south across a 26 m road reserve, which is 1.5–2.5 %. The road drains southward.
- Total relief on walkable surfaces: 3.94 m (115.65 m at the Highland end to 119.59 m at the Orange Drive end).
Decision
AGENTS.md requires separately licensed elevation data unless the DEM shows less than 1 m of variation. Here the variation is 3.94 m, so elevation data is required, and the sampled source already qualifies: USGS 3DEP 1 m DEM is a US Government work in the public domain, so there is no licence conflict and no third-party purchase.
Chosen source: USGS 3DEP 1 m (3DEP seamless, CONUS), reprojected to EPSG:26911 with the origin in ../manifests/local-origin.md, vertical datum NAVD88 recorded.
Consequence for 0.1.0: the demo cannot use a flat ground plane. The street and sidewalks must follow this grade, or the walkable demo will look and feel wrong at the Highland end, where the whole block drops away.
Caveat on building-interior samples
Points inside the hero footprint returned 114.53–117.13 m — a 2.6 m spread within one building outline, which is not ground reference. 3DEP can carry structures and voids there. Those four diagnostic points are excluded from the relief figure; use the street and sidewalk lines, not building interiors, for any ground surface.
DEM acquired
Downloaded 2026-11-06 from the 3DEP export service, already in EPSG:26911, clipped to E 376 100–376 650 / N 3 774 050–3 774 400 at 1 m. Manifest, checksum, and full request: ../manifests/2026-11-06-3dep-dem.md. File is committed — it is 984 KB, public domain, and the blockout needs it.
Cross-check at three points: raster 115.911 / 119.422 / 117.593 m against the service's own point query 115.910 / 119.418 and this document's probe 115.911 / 119.418 / 117.53. Agreement is centimetres, so the georeferencing holds.
Window statistics: min 110.46 m, max 127.73 m, spread 17.28 m — building tops and the ground rising north of the boulevard. The walkable relief stays 3.94 m; the demo ground mesh follows the street, not the window envelope.
Next
Sample the kerb line and the crossing ramps— done: seven cross-sections in2026-11-06-cross-sections.mdlocate the gutters at ±10–11 m and show a ~2 % crown. They also show the DEM does not resolve a kerb upstand, so kerb height stays an assumption.- Build the ground mesh from the DEM along the street, not from a flat plane, and assert the 3.94 m fall survives the Blender→Unreal path.