Orbis.GNSS.PrecisePositioning.FixedSolution (Orbis v0.15.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(),
  optional(:code_weight) => float(),
  optional(:phase_weight) => 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 => :bounded_ils | :widelane_narrowlane_bounded_ils,
    :integer_ratio => float() | :infinity,
    :integer_best_score => float(),
    :integer_second_best_score => float() | nil,
    :integer_candidates => pos_integer(),
    :troposphere_applied => boolean(),
    :ztd_estimated => boolean(),
    optional(:wide_lane_fixed) => boolean(),
    optional(:dropped_cycle_slip_sats) => [String.t()],
    optional(:split_cycle_slip_arcs) => [map()],
    optional(:ambiguity_search) => %{
      order: [String.t()],
      float_cycles: %{required(String.t()) => float()},
      covariance_cycles: [[float()]],
      covariance_inverse_cycles: [[float()]]
    }
  },
  position: position(),
  residuals_m: [residual()],
  used_sats: [String.t()],
  wide_lane_ambiguities_cycles: %{required(String.t()) => integer()} | nil,
  ztd_residual_m: float() | nil
}