Orbis.GNSS.Broadcast (Orbis v0.9.0)

Copy Markdown View Source

A parsed RINEX broadcast-navigation product (GPS LNAV, Galileo I/NAV+F/NAV, BeiDou D1/D2, GLONASS).

Holds the broadcast Keplerian elements and clock terms as a resource handle, the broadcast-ephemeris counterpart to Orbis.GNSS.SP3. Pass a handle to Orbis.GNSS.Positioning.solve/4 to position from broadcast ephemeris instead of a precise SP3 product. The navigation file is parsed exactly once; the parsed product is held as a reference, not re-parsed per call.

Parsing covers RINEX 3.x and 4.xx files: GPS, Galileo, and BeiDou records (including BeiDou geostationary satellites), and GLONASS (a PZ-90.11 state-vector model propagated by Runge-Kutta integration rather than Keplerian elements). Other constellations in a mixed file are skipped, as are version-4 CNAV-family messages.

Summary

Functions

Parse a RINEX 3.x or 4.xx navigation file from disk.

Like load/1 but raises on failure.

Parse an in-memory RINEX 3.x or 4.xx navigation text buffer into a handle.

Types

t()

@type t() :: %Orbis.GNSS.Broadcast{handle: reference()}

Functions

load(path)

@spec load(String.t()) :: {:ok, t()} | {:error, term()}

Parse a RINEX 3.x or 4.xx navigation file from disk.

Returns {:ok, %Orbis.GNSS.Broadcast{}} or {:error, reason}. The file is read and parsed once; the parsed product is held as a resource handle.

load!(path)

@spec load!(String.t()) :: t()

Like load/1 but raises on failure.

parse(text)

@spec parse(String.t()) :: {:ok, t()} | {:error, term()}

Parse an in-memory RINEX 3.x or 4.xx navigation text buffer into a handle.