geo: measure block elevation and pick the DEM source

Probe 22 points with the USGS 3DEP point service: walkable surfaces span
115.65-119.59 m, a 3.94 m relief, so elevation data is required by the AGENTS
rule. Grade falls ~3.3 m eastward over the 279 m block (1.2%) and the north
sidewalk sits 0.4-0.7 m above the south. 3DEP 1 m is public domain and becomes
the chosen source; the tile itself is still to be downloaded.

Factored the shared OSM helpers into Geo/scripts/osm_common.py so the street
profile and the elevation probe read the same geometry.
This commit is contained in:
zwitschi committed 2026-11-06 22:43:13 +01:00
1 parent 255c1a9e86
commit 65fb3759c9
9 files changed
+621 -152

No files matched your search

+49
View File
@@ -0,0 +1,49 @@
# Elevation check — Hollywood Blvd block
Measured 2026-11-06 with `Geo/scripts/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:
```bash
python3 Geo/scripts/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`](../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.
## Next
1. Download the 3DEP tile(s) covering the demo bounds, keep the source file (size is larger than the OSM extract; decide commit vs local-only with a manifest and checksum at that point).
2. Reproject to EPSG:26911, clip to the block plus margin, and record the vertical datum and the clip bounds.
3. Sample the kerb line and the crossing ramps specifically — the grid above is a street-level average, not a kerb profile.