ARAIM snapshot geometry.
:receiver is {lat_rad, lon_rad, height_m}. :clock_systems is the
ordered receiver-clock column list, encoded as GNSS system letters.
Summary
Types
A row as {id, azimuth_deg, elevation_deg}, {id, azimuth_deg, elevation_deg, system}, or a map.
Functions
Build ARAIM geometry from per-satellite azimuth and elevation rows.
Build an ARAIM geometry snapshot.
Types
@type az_el_row() :: {String.t(), number(), number()} | {String.t(), number(), number(), atom() | String.t()} | %{ :id => String.t(), :azimuth_deg => number(), :elevation_deg => number(), optional(:system) => atom() | String.t() }
A row as {id, azimuth_deg, elevation_deg}, {id, azimuth_deg, elevation_deg, system}, or a map.
@type t() :: %Sidereon.GNSS.ARAIM.Geometry{ clock_systems: [String.t()], receiver: receiver(), rows: [Sidereon.GNSS.ARAIM.Row.t()] }
Functions
@spec from_az_el_deg([az_el_row()], {number(), number(), number()}, [ atom() | String.t() ]) :: {:ok, t()} | {:error, term()}
Build ARAIM geometry from per-satellite azimuth and elevation rows.
Rows may be {id, azimuth_deg, elevation_deg},
{id, azimuth_deg, elevation_deg, system}, or maps with :id,
:azimuth_deg, :elevation_deg, and optional :system.
@spec new([Sidereon.GNSS.ARAIM.Row.t()], {number(), number(), number()}, [ atom() | String.t() ]) :: t()
Build an ARAIM geometry snapshot.
Receiver latitude and longitude are radians, receiver height is meters, and
clock systems use GNSS letters or supported atoms such as :gps.