Sidereon.GNSS.RINEX.Clock.Record (Sidereon v3.0.0)

Copy Markdown View Source

One data record with its typed reading.

record_type is :ar, :as, :cr, :dr or :ms; satellite is the canonical identifier of an AS record and nil otherwise. civil_epoch keeps the epoch fields, its second the nearest double to every digit the seconds field states; epoch is the instant in the product's time scale, nil when the time system resolves to no scale. values are the declared values, bias first; surplus_values are values present beyond the declared count as %{position: index, value: value}. line is the one-based line of the record in the source (nil for a record built or edited through the API) and line_count the lines it spans. reading and continuation_reading say how the first and continuation lines were read: {:columns, :v300 | :v304}, {:columns_trailing_text, :v300 | :v304}, :whitespace or :edited. The trailing suffix itself remains retained by the core when declared values are edited and the product is written; trailing_text_bytes and zero-based trailing_text_column expose it on the record and survive value edits.

Summary

Types

reading()

@type reading() ::
  {:columns, :v300 | :v304}
  | {:columns_trailing_text, :v300 | :v304}
  | :whitespace
  | :edited
  | {:other, String.t()}

t()

@type t() :: %Sidereon.GNSS.RINEX.Clock.Record{
  civil_epoch: Sidereon.GNSS.RINEX.Clock.CivilEpoch.t(),
  continuation_reading: reading() | nil,
  epoch: Sidereon.GNSS.Ionosphere.Epoch.t() | nil,
  line: pos_integer() | nil,
  line_count: non_neg_integer(),
  name: String.t(),
  reading: reading() | nil,
  record_type: :ar | :as | :cr | :dr | :ms,
  satellite: String.t() | nil,
  surplus_values: [%{position: non_neg_integer(), value: float()}],
  trailing_text_bytes: binary() | nil,
  trailing_text_column: non_neg_integer() | nil,
  values: [float()]
}