openworld_radio_twin.environment#

Functions

flat_environment(radius_m[, spacing_m])

Create an explicit flat test fixture; production providers never call this.

Classes

EnvironmentData(terrain, surface_features, ...)

FeatureSource(property, dataset, record_id, ...)

MaterialProfile(surface_class, ...)

SurfaceClass(value)

Stable numeric classes shared by meshes, rasters, exports, and the viewer.

SurfaceFeature(feature_id, surface_class, ...)

TerrainGrid(east_m, north_m, ...[, ...])

A regular local ENU grid with elevations relative to the scene origin.

TerrainSource(provider, dataset, ...[, ...])

class openworld_radio_twin.environment.SurfaceClass(value)[source]#

Bases: IntEnum

Stable numeric classes shared by meshes, rasters, exports, and the viewer.

GROUND = 0#
VEGETATION = 1#
PAVED = 2#
WATER = 3#
class openworld_radio_twin.environment.TerrainSource(provider, dataset, vertical_datum, requested_spacing_m, source_resolution_m, interpolation, source_url, license, attributes=<factory>)[source]#

Bases: object

provider: str#
dataset: str#
vertical_datum: str#
requested_spacing_m: float#
source_resolution_m: float | None#
interpolation: str#
source_url: str#
license: str#
attributes: dict[str, str | int | float | bool | None]#
class openworld_radio_twin.environment.TerrainGrid(east_m, north_m, source_elevation_m, model_elevation_m, local_elevation_m, source_origin_elevation_m, origin_elevation_m, source, model_operations=())[source]#

Bases: object

A regular local ENU grid with elevations relative to the scene origin.

Rows run south-to-north and columns west-to-east. source_elevation_m preserves provider elevations sampled onto this grid. model_elevation_m is the physical RF surface after recorded transformations, and local_elevation_m removes its elevation sampled at ENU (0, 0).

east_m: ndarray#
north_m: ndarray#
source_elevation_m: ndarray#
model_elevation_m: ndarray#
local_elevation_m: ndarray#
source_origin_elevation_m: float#
origin_elevation_m: float#
source: TerrainSource#
model_operations: tuple[dict[str, object], ...] = ()#
property shape: tuple[int, int]#
property cell_shape: tuple[int, int]#
property spacing_m: float#
elevation_at(east_m, north_m)[source]#

Bilinearly sample local elevation without extrapolating the scene.

Return type:

float

with_model_elevation(values, operation)[source]#

Return a terrain with an auditable physical-surface transformation.

Return type:

TerrainGrid

class openworld_radio_twin.environment.FeatureSource(property, dataset, record_id, update_time, license)[source]#

Bases: object

property: str | None#
dataset: str | None#
record_id: str | None#
update_time: str | None#
license: str | None#
class openworld_radio_twin.environment.SurfaceFeature(feature_id, surface_class, geometry, source_theme, source_subtype, source_class, source_surface, sources, classification_basis, precedence, width_m=None, width_source=None)[source]#

Bases: object

feature_id: str#
surface_class: SurfaceClass#
geometry: BaseGeometry#
source_theme: str#
source_subtype: str | None#
source_class: str | None#
source_surface: str | None#
sources: tuple[FeatureSource, ...]#
classification_basis: str#
precedence: int#
width_m: float | None = None#
width_source: str | None = None#
class openworld_radio_twin.environment.MaterialProfile(surface_class, sionna_material, basis, confidence, note)[source]#

Bases: object

surface_class: SurfaceClass#
sionna_material: str#
basis: str#
confidence: str#
note: str#
class openworld_radio_twin.environment.EnvironmentData(terrain, surface_features, surface_cells, overture_release, surface_provenance)[source]#

Bases: object

terrain: TerrainGrid#
surface_features: tuple[SurfaceFeature, ...]#
surface_cells: ndarray#
overture_release: str | None#
surface_provenance: dict[str, object]#
surface_class_at(east_m, north_m)[source]#

Return the semantic class of the cell containing one local point.

Return type:

SurfaceClass

openworld_radio_twin.environment.flat_environment(radius_m, spacing_m=5.0)[source]#

Create an explicit flat test fixture; production providers never call this.

Return type:

EnvironmentData