Sidereon.GNSS.ARAIM.Row (Sidereon v0.29.0)

Copy Markdown View Source

One satellite row in an ARAIM geometry snapshot.

:line_of_sight is an ECEF receiver-to-satellite unit vector, and :elevation_rad is the receiver elevation angle in radians.

Summary

Functions

Build a row from receiver-relative azimuth and elevation in degrees.

Types

t()

@type t() :: %Sidereon.GNSS.ARAIM.Row{
  elevation_rad: float(),
  id: String.t(),
  line_of_sight: {float(), float(), float()} | [float()] | map(),
  system: String.t()
}

Functions

from_az_el_deg(id, azimuth_deg, elevation_deg, receiver, system \\ nil)

@spec from_az_el_deg(
  String.t(),
  number(),
  number(),
  Sidereon.GNSS.ARAIM.Geometry.receiver(),
  atom() | String.t() | nil
) :: {:ok, t()} | {:error, term()}

Build a row from receiver-relative azimuth and elevation in degrees.

Azimuth is clockwise from north, elevation is above the local horizon, and receiver is {lat_rad, lon_rad, height_m}.

new(id, line_of_sight, elevation_rad, system \\ nil)

@spec new(
  String.t(),
  {number(), number(), number()} | [number()] | map(),
  number(),
  atom() | String.t() | nil
) :: t()

Build a satellite geometry row.

line_of_sight is dimensionless ECEF {e_x, e_y, e_z} and elevation_rad is radians. If system is omitted, it is derived from the satellite token's leading letter.