# Monaco ground terrain

© IGN — RGE ALTI, downloaded 24 October 2026, [Open Licence 2.0](https://www.etalab.gouv.fr/licence-ouverte-open-licence/). [Official dataset](https://www.data.gouv.fr/datasets/rge-alti-r). No endorsement is implied.

`monaco-rge-ground.json` is a 330 × 376 pixel-centre grid, west to east and north to south, with approximately 4.93 × 4.96 m posting. Source values are NGF-IGN69 elevations, not game-relative heights. The retained `ground-native-centre-samples.bil` contains unmodified little-endian Float32 values selected at every fifth pixel centre of a 1650 × 1880 WMS numeric crop. Its SHA-256 is `ebb1c76b8d4f9190a3d013383436d37509889eef9c6a38547730e1eeadeab6f8`. The full crop's request, response headers and checksum are recorded in `ground-native-request.json` and `source-summary.json`; the 12.4 MB full-resolution research crop is not a runtime dependency. The retained samples are sufficient to reproduce the bundled grid offline.

The WMS layer is `ELEVATION.ELEVATIONGRIDCOVERAGE.HIGHRES`. [IGN documents its numeric Float32 WMS format](https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-raster/mnt/publication-wms-mnt/). `official-metadata.xml.gz` retains the byte-exact metadata response (including its original line endings), compressed for storage, and records the product's reference and reuse terms. Local acquisition year is unknown; publication/download dates are not survey dates. A separate IGN resource (`ign_rge_alti_par_territoires`) disagrees with the WMS raster by 11.114 m at the tunnel/cliff and 1.569 m at Tabac. The matching `ign_rge_alti_wld` point queries agree with 19 raster centres within 0.005 m; those responses are retained. The resources are not mixed.

`quality-polygons.geojson` preserves all eight matched WFS source-quality polygons. The query is WFS 2.0 `GetFeature`, layer `ELEVATIONGRIDCOVERAGE.HIGHRES.QUALITY:source_fra`, bbox `43.728,7.409,43.746,7.435,urn:ogc:def:crs:EPSG::4326`, count 30, JSON, endpoint `https://data.geopf.fr/wfs/ows`. Valid cells require code 1, native 1 m, origin “Laser topo et laser topo/bathy”, precision class “Emq < 30 cm”. This source class does not guarantee total error after reprojection or scene alignment. Unknown polygons override known coverage. All 4 × 4 rasterized subpixels must be covered, then a one-cell erosion protects mask boundaries. Original heights below −5 m and mapped sea are omitted. Invalid values stay `null`; quality, validity and stated accuracy arrays remain explicit. 69,984 of 124,080 cells survive, covering 93.8% of the mapped land in this crop.

`local-land-mask.u8` is derived from the separately bundled OSM coastline and the game's authored distant sea closure. © OpenStreetMap contributors, [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). Its provenance is in the [coastline notice](../osm/NOTICE.md); this adapted grid and mask are shared with the source data here. All heights still originate from IGN. Source values are rounded to millimetres for compact storage, not to assert millimetre accuracy.

Reproduce with Python 3 and Pillow: `python3 tools/prepare-rge-terrain.py`. The renderer interpolates only four valid source cells, blends to EU-DEM over three cells inside coverage boundaries, and applies an **authored −1.3 m scene alignment** based on open low-harbour anchors. `datum-audit.json` records the comparison. It is not a geodetic transformation. Road clearance cuts and harbour lowering remain authored rendering adaptations. Ground above a tunnel is not its roadway; the source is not used directly as the driving surface.
