Orbis.GNSS.PrecisePositioning.FixedSolution (Orbis v0.10.0)

Copy Markdown View Source

Static multi-epoch integer-fixed carrier-phase 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()
}

t()

@type t() :: %Orbis.GNSS.PrecisePositioning.FixedSolution{
  epoch_clocks: [epoch_clock()],
  epochs: [NaiveDateTime.t()],
  fixed_ambiguities_cycles: %{required(String.t()) => integer()},
  fixed_ambiguities_m: %{required(String.t()) => float()},
  float_solution: Orbis.GNSS.PrecisePositioning.MultiEpochSolution.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(),
    integer_status: :fixed | :not_fixed,
    integer_method: :lambda | :widelane_narrowlane_lambda,
    integer_ratio: float() | :infinity,
    integer_best_score: float(),
    integer_second_best_score: float() | nil,
    integer_candidates: pos_integer(),
    troposphere_applied: boolean(),
    ztd_estimated: boolean()
  },
  position: position(),
  residuals_m: [residual()],
  used_sats: [String.t()],
  wide_lane_ambiguities_cycles: %{required(String.t()) => integer()} | nil,
  ztd_residual_m: float() | nil
}