Terrain#

Terrain input is a bare-earth digital elevation model (DEM): not a visual 3D tile and not a surface model that contains buildings. terrain="elevation" samples a DEM onto the local grid, terrain="flat" keeps a planar ground at local z = 0, and terrain="none" removes ground geometry entirely.

Bergen scene as flat baseline, terrain mesh, and terrain with semantic surfaces

The same Bergen scene: flat ground (A), the elevation-following mesh with one ground material (B), and the same mesh split into ground, vegetation, paved and water surfaces (C).

Providers#

United States

The USGS 3DEP Bare Earth DEM Dynamic service. OWRT queries the service catalog at the scene origin, chooses the highest-resolution source item, requests a bounded floating-point raster, and records the product title, reported resolution, vertical datum and metadata sample coordinates. A larger scene may cross product boundaries, so this point metadata is not presented as a uniform accuracy guarantee for the whole box.

Elsewhere, or when a bounded 3DEP request has no complete result

Mapzen Terrain Tiles on AWS, using the analytical Skadi HGT product rather than display tiles. Gzip payloads are decoded as big-endian signed 16-bit values and bilinearly sampled in their one-degree grids. Every tile, the upstream imagery sources reported by Mapzen, the actual grid spacing, the interpolation and the EGM96 orthometric datum are recorded.

Both products can contain bathymetry. HGT voids and values outside -500 m to 9,000 m are rejected rather than filtered or inpainted. No denoising, vertical exaggeration or learned super-resolution is applied.

Three elevation arrays#

Each terrain-enabled scene stores three grids under terrain/:

File

Content

source_elevation_m.npy

Provider elevations sampled onto the local grid, unchanged

model_elevation_m.npy

Ground elevations after the recorded modelling operations

local_elevation_m.npy

Model elevations minus the model elevation at ENU (0, 0)

The only modelling operation is water levelling. Overture polygons explicitly classified as ocean, bay, sea or strait are set to the datum’s 0 m level; other water components are set to the median of their source vertices. Each levelled component is horizontal, its basis, affected cells and vertices, original range and vertical datum are recorded, and no tidal correction is applied. A building whose anchor falls in a water cell is placed relative to this modelled surface rather than the submerged DEM. See Surfaces and materials for how the water class is determined.

Three independent resolutions#

Resolution

Controlled by

Meaning

Source DEM resolution

the provider

Reported and recorded; never improved by OWRT

Terrain mesh spacing

terrain_resolution_m

Deterministic resampling and triangle density

Radio-map cell size

the solver request

Receiver grid or measurement surface spacing

Requesting a 5 m mesh from a nominal 30 m source remains a resampled 30 m product. The terrain grid is limited to 250,000 cells; a request that exceeds it is rejected with the spacing to increase.

Bergen local elevation grid and cross-sections through the transmitter

Numerical terrain views from an exported bundle: the local elevation grid, and west-east and south-north profiles through the transmitter with the receiver surface at a constant height above ground.

Effect on simulation#

For Sionna RT, the terrain mesh is part of the ray-traced scene and the measurement surface follows it at the requested receiver height (Sionna RT). The CPU preview remains a planar analytical model and labels terrain as display and export context only. Batch datasets keep the terrain arrays with the shared scene assets even when a case retains no radio products, so a resumed dataset never re-queries a provider for elevation.