Sidereon.Terrain.MmapTerrain.TerrainStoreError (Sidereon v3.0.0)

Copy Markdown View Source

Terrain store conversion, parse, and checksum error. A :tile error keeps its source path, original message, and complete nested Sidereon.Terrain.tile_error/0.

Summary

Types

t()

Typed terrain store error.

Types

t()

@type t() :: %Sidereon.Terrain.MmapTerrain.TerrainStoreError{
  datum: Sidereon.Terrain.horizontal_datum() | nil,
  error: Sidereon.Terrain.tile_error() | nil,
  expected: non_neg_integer() | nil,
  expected_tile_id: {integer(), integer()} | nil,
  field: String.t() | nil,
  found: non_neg_integer() | nil,
  found_tile_id: {integer(), integer()} | nil,
  kind:
    :io
    | :parse
    | :unsupported_version
    | :unsupported_datum
    | :duplicate_tile
    | :tile_id_mismatch
    | :checksum
    | :attested_checksum_mismatch
    | :tile_id_out_of_range
    | :tile_bounds_mismatch
    | :non_wgs84_tile
    | :tile,
  lat_index: integer() | nil,
  lon_index: integer() | nil,
  message: String.t() | nil,
  path: String.t() | nil,
  reason: String.t() | nil,
  tag: non_neg_integer() | nil,
  version: non_neg_integer() | nil
}

Typed terrain store error.

:tile_id_out_of_range is an index record naming a tile id outside the coordinate domain, and :tile_bounds_mismatch one whose bounds are not that one-degree cell's edges (field names the bound). :non_wgs84_tile is a DTED tile whose DSI names a horizontal datum other than WGS84 (datum), refused by the converter because the store records no datum. :tile retains the source path, original message, and nested tile error.