Surfaces and materials#

The ground of a scene is split into non-overlapping semantic surfaces, each mapped to a documented Sionna material. Where a class is placed and which RF material it receives are separate contracts: Overture features decide the former, OWRT’s material profile the latter.

Surface classes#

Class

ID

Sionna material

Interpretation

Ground

0

itu_medium_dry_ground

Generic exposed ground; not an in-situ measurement

Vegetation

1

itu_wood

Wood as a reproducible proxy; foliage volume loss is not modelled

Paved

2

itu_concrete

Concrete proxy, not an inferred pavement composition

Water

3

itu_wet_ground

Wet ground pending a calibrated water model

The materials are ITU-R P.2040 surrogates, each recorded with a surrogate confidence label. material_profile="itu" applies this table; material_profile="uniform" assigns the ground class everywhere and one material. Classes are compiled on flat ground as well as on terrain, so a flat scene with the ITU profile still distinguishes water and paved surfaces.

How classes are assigned#

Overture land_cover, land_use, water and transportation segment features are normalised into one aligned grid at the terrain mesh spacing using cell-centre classification. Evidence precedence is:

  1. water geometry,

  2. explicit road surface,

  3. inferred road surface,

  4. explicit land-use surface,

  5. physical land cover,

  6. semantic land use,

with ties resolved by the stable class ID. Overture class and subtype are evaluated independently against the published schema. Road width_rules are interpreted as edge-to-edge widths in metres and, together with scoped road_surface rules, split at their linear-reference boundaries. Missing road widths and surfaces use recorded deterministic road-class assumptions, so footways do not inherit motor-road dimensions and gravel or dirt roads remain ground.

What is exported#

Every scene with an environment grid writes:

  • terrain/surface_classes.npy, the cell labels consumed by the solver;

  • terrain/scene_info.json, with the class-to-material mapping, profile version, the semantic-source release, the class/subtype conversion table, per-basis feature counts, the road-width and surface assumptions, and the source licence summary.

Elevation arrays are grid nodes, while surface classes label the cells between them: an (N, M) elevation grid has (N - 1, M - 1) class cells. Both run south to north by row and west to east by column. The exported raster is exactly the geometry Sionna sees; no semantic polygon is exported separately.

Selective masking at solve time#

The Sionna RT solve can exclude individual surface classes without recompiling the scene. include_ground, include_vegetation, include_paved and include_water in engine_config remove the corresponding meshes from the active scene while the source meshes and provenance stay in the dataset. Roof and wall switches apply the same operation to buildings. See Sionna RT.