DTED terrain loading and elevation lookup.
Summary
Functions
Open a DTED terrain directory.
Open a DTED terrain directory or raise.
Look up terrain height at {longitude_deg, latitude_deg}.
Look up one ORTHOMETRIC terrain height in meters or raise.
Look up a batch of terrain heights.
Look up a batch of ORTHOMETRIC terrain heights in meters or raise.
Load one DTED tile from disk.
Load one DTED tile or raise.
Read the nearest posting elevation from a loaded DTED tile.
Read one ORTHOMETRIC tile posting height in meters or raise.
Types
Functions
@spec dted(String.t()) :: {:ok, Sidereon.Terrain.Dted.t()} | {:error, term()}
Open a DTED terrain directory.
The returned handle loads tiles lazily as lookups request them.
Open a DTED terrain directory or raise.
@spec height(Sidereon.Terrain.Dted.t(), number(), number(), keyword()) :: {:ok, float()} | {:error, atom()}
Look up terrain height at {longitude_deg, latitude_deg}.
Returns {:ok, height_m} in meters above the DTED ORTHOMETRIC vertical datum,
or {:error, reason}. Points outside cached DTED coverage return 0.0 from
the core terrain model. Longitude is first by design.
Look up one ORTHOMETRIC terrain height in meters or raise.
@spec height_batch(Sidereon.Terrain.Dted.t(), [{number(), number()}], keyword()) :: [ok: float(), error: atom()] | {:error, term()}
Look up a batch of terrain heights.
points is a list of {longitude_deg, latitude_deg} pairs. The returned list
has one {:ok, height_m} or {:error, reason} entry per input, preserving
order. Heights are meters above the DTED ORTHOMETRIC vertical datum.
Look up a batch of ORTHOMETRIC terrain heights in meters or raise.
@spec load_tile(String.t()) :: {:ok, Sidereon.Terrain.DtedTile.t()} | {:error, term()}
Load one DTED tile from disk.
Load one DTED tile or raise.
@spec tile_elevation(Sidereon.Terrain.DtedTile.t(), number(), number()) :: {:ok, integer()} | {:error, atom()}
Read the nearest posting elevation from a loaded DTED tile.
Returns an integer height in meters above the DTED ORTHOMETRIC vertical datum. Longitude is first.
Read one ORTHOMETRIC tile posting height in meters or raise.