Orbis.GNSS.PrecisePositioning.MultiEpochSolution (Orbis v0.15.1)

Copy Markdown View Source

Static multi-epoch float-ambiguity phase positioning solution.

Summary

Types

epoch_clock()

@type epoch_clock() :: %{
  epoch: NaiveDateTime.t(),
  rx_clock_s: float(),
  rx_clock_m: float()
}

position()

@type position() :: %{x_m: float(), y_m: float(), z_m: float()}

residual()

@type residual() :: %{
  :epoch => NaiveDateTime.t(),
  :satellite_id => String.t(),
  :code_m => float(),
  :phase_m => float(),
  optional(:code_weight) => float(),
  optional(:phase_weight) => float()
}

t()

@type t() :: %Orbis.GNSS.PrecisePositioning.MultiEpochSolution{
  ambiguities_m: %{required(String.t()) => float()},
  epoch_clocks: [epoch_clock()],
  epochs: [NaiveDateTime.t()],
  metadata: %{
    iterations: pos_integer(),
    converged: boolean(),
    status: :state_tolerance | :max_iterations,
    n_epochs: pos_integer(),
    n_observations: pos_integer(),
    code_rms_m: float(),
    phase_rms_m: float(),
    weighted_rms_m: float(),
    troposphere_applied: boolean(),
    ztd_estimated: boolean()
  },
  position: position(),
  residuals_m: [residual()],
  used_sats: [String.t()],
  ztd_residual_m: float() | nil
}