# MRANTI Park extraction and validation report

## Completed result

| Check | Result |
|---|---:|
| Supplied DXF-derived parcels | 143 |
| Google footprints retained | 393 |
| Valid Google 2023 height estimates | 251 |
| Height unknown, displayed flat | 142 |
| Valid footprint geometry | 393 / 393 |
| Footprints intersecting supplied parcel union | 393 / 393 |
| Tall estimates flagged for review (>50 m) | 12 |

Extraction is complete. Unknown heights are missing usable estimates, not missing downloads. No synthetic buildings, default heights, area-derived heights, floors or manually generated geometry were added.

## Acquisition status — no authentication

- Google V3 shard `31d_buildings.csv.gz`: successfully downloaded, **981,524,569 bytes**. Scanned **9,678,497 rows**, 5,774 centroid candidates near the AOI, retained 393 intersecting footprints at confidence >= 0.65.
- Four 2023 S2 level-2 `31` manifests inspected. The EPSG:32647 manifest identified the two intersecting raster tiles below.
- `31cdc_2023_06_30/tile_KtssFnDII5A.tif`: successfully downloaded, **857,029,374 bytes**.
- `31cc4_2023_06_30/tile_sCRD4RwKiRw.tif`: successfully downloaded, **1,236,167,935 bytes**.
- Manifest confirms original band order: fractional count (1), height (2), presence (3). CRS EPSG:32647; 0.5 m pixel spacing; nodata -99.
- Range requests returned HTTP 206, proving public partial access. The installed GDAL HTTPS reader failed with `SSL certificate OpenSSL verify result: unable to get local issuer certificate (20)`, including CA configuration retries. Verified HTTPS downloads through Python requests succeeded; complete intersecting tiles were read locally. This issue was resolved and did not prevent extraction.
- CARTO returned an API-key-required tile image. The viewer now uses unauthenticated OpenStreetMap and optional Esri imagery. Esri tile requests returned HTTP 200 and its imagery rendered in the final alignment view.
- **No remaining extraction network blocker. No Earth Engine session or Google authentication was used.**

## Height methodology

AOI raster windows include a 0.003-degree margin around parcel bounds to include roofs crossing the AOI bounding box. Delivery includes only cropped height and presence bands, not the multi-gigabyte source shards.

For each unchanged source footprint, select the raster whose S2 level-7 cell contains the footprint centroid. Adjacent raster tiles overlap; predictions are not pooled or counted twice. Record the selected tile and source URL on each building. Include pixel centres inside the footprint only; exclude masked/nodata/nonfinite samples; require building_presence >= 0.5 and 0 < height <= 100 m. Height is the 75th percentile of retained pixels, rounded to 0.01 m for serialization. Where no samples remain, height_m is null. Rounding does not imply centimetre accuracy.

Estimated heights range from **1.5 m to 94 m**. Twelve values over 50 m are retained as supplied model outputs and flagged for independent verification. Presence >= 0.5 is an analyst threshold, not a calibrated probability or a claim of verified detection precision. Original footprint confidence is retained.

Google describes approximately 4 m effective raster resolution despite 0.5 m delivered pixel spacing. Tall-building heights, trees, misalignment and geographic transfer can affect the model. Source heights are estimates, not surveyed building records.

## Parcel and spatial validation

- Every retained footprint intersects the union of the 143 valid supplied parcels. Features list all intersecting parcel IDs and their overlap fraction in EPSG:32647.
- Spatial overlap is not proof of ownership. A footprint may cross a lot boundary; it was not clipped or shifted.
- Both original GeoJSON parcel files are byte-for-byte identical to the input ZIP. SHA-256 hashes are recorded in `data/validation_qa.json`.
- The supplied boundary MultiPolygon has a degenerate component with too few points. The original file is untouched. Acquisition used the supplied boundary; final QA used the valid parcel union and compared it with a repaired working boundary. Repaired-boundary/parcel-union symmetric-difference area is approximately 2.44e-11 square degrees.
- The original DXF itself is not inside this package; validation uses the package's DXF-derived GeoJSON, without independently redoing the CAD conversion.
- Representative overhead satellite inspection shows the main campus detections on actual roofs, with parcel road layout geographically consistent. No coordinate shift was applied. Imagery dates and orthorectification differ; this check cannot certify metre-level survey alignment or identify all false positives.

## Viewer verification

Headless Chromium opened the actual static viewer with WebGL. Desktop counters showed 143 parcels, 393 footprints, 251 estimates and 142 unknown heights; zero JavaScript page errors. Verified 390 px mobile viewport with no horizontal overflow, map first, and automatic park refit. Screenshots are included in `validation/`. Default height scale is 1×; unknown heights are excluded from the extrusion source.

External basemap requests may load slowly or be cancelled during viewport changes. This does not alter the bundled extraction. GitHub Pages needs no build, API key or authentication; the viewer's local data and MapLibre assets are included.

## Sources and attribution

- [Google Open Buildings V3](https://sites.research.google/gr/open-buildings/): release May 2023; underlying imagery dates vary.
- [Google Open Buildings 2.5D Temporal](https://sites.research.google/gr/open-buildings/temporal/): 2023 model data, v1.
- [Google official direct-download notebook](https://github.com/google-research/google-research/blob/master/building_detection/open_buildings_temporal_download_region_geotiffs.ipynb).
- [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). Google data modified by AOI filtering and per-building height summarization.
- Parcel data: MRANTI supplied DXF-derived files. Basemap: OpenStreetMap. Satellite: Esri and providers.

Exact source URLs are in `processing/height_tiles.json` and each building's properties.
