openworld_radio_twin.providers.terrain#

Functions

flat_terrain(query)

Return a gridded flat ground at local z=0 so surface classes can be assigned per cell.

validate_terrestrial_surface(terrain)

Classes

MapzenTerrainProvider(client)

Global raw HGT fallback with explicit void handling and source headers.

TerrainProvider(client)

TerrainQuery(longitude, latitude, radius_m, ...)

USGS3DEPTerrainProvider(client)

Exceptions

exception openworld_radio_twin.providers.terrain.TerrainProviderError[source]#

Bases: RuntimeError

class openworld_radio_twin.providers.terrain.TerrainQuery(longitude, latitude, radius_m, spacing_m)[source]#

Bases: object

longitude: float#
latitude: float#
radius_m: float#
spacing_m: float#
property axis: ndarray#
openworld_radio_twin.providers.terrain.flat_terrain(query)[source]#

Return a gridded flat ground at local z=0 so surface classes can be assigned per cell.

No elevation source is queried. The grid uses the same axes as a DEM-backed terrain at the requested spacing, so semantic surface classification and the per-class terrain meshes work unchanged on a planar ground.

Return type:

TerrainGrid

class openworld_radio_twin.providers.terrain.USGS3DEPTerrainProvider(client)[source]#

Bases: object

static covers(longitude, latitude)[source]#
Return type:

bool

async terrain(query)[source]#
Return type:

TerrainGrid

class openworld_radio_twin.providers.terrain.MapzenTerrainProvider(client)[source]#

Bases: object

Global raw HGT fallback with explicit void handling and source headers.

async terrain(query)[source]#
Return type:

TerrainGrid

class openworld_radio_twin.providers.terrain.TerrainProvider(client)[source]#

Bases: object

async terrain(query, allow_bathymetry=False)[source]#
Return type:

tuple[TerrainGrid, list[str]]

openworld_radio_twin.providers.terrain.validate_terrestrial_surface(terrain)[source]#
Return type:

None