Static multi-epoch integer-fixed carrier-phase solution.
Summary
Types
@type epoch_clock() :: %{ epoch: NaiveDateTime.t(), rx_clock_s: float(), rx_clock_m: float() }
@type t() :: %Sidereon.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: Sidereon.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, :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(: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()], ztd_residual_m: float() | nil }