Multi-epoch static receiver solution.
position is the shared ITRF/IGS ECEF receiver position in metres.
per_epoch_clock contains the fitted receiver clock for each epoch and
constellation. covariance contains the full stacked state covariance plus
ECEF and ENU position covariance blocks. Influence and residual fields are
index-aligned to the input epochs and used measurements. rejected_sats
lists, per epoch, each satellite left out with its
Sidereon.GNSS.Positioning.Solution.rejection_reason/0; with the
ionosphere requested, a satellite with no resolvable carrier (a GLONASS
satellite with no channel or a channel outside -7..6) is reported as
:ionosphere_carrier_unresolved and the rest of its epoch is solved.
Summary
Types
Epoch-local receiver clock estimate for one GNSS system.
Static solve covariance blocks.
Geodetic receiver position in radians and metres.
Core static solve iteration and model metadata.
ECEF receiver position in metres.
Decoded multi-epoch static positioning solution.
Types
@type clock_bias() :: %{ epoch_index: non_neg_integer(), system: String.t(), clock_s: float() }
Epoch-local receiver clock estimate for one GNSS system.
@type covariance() :: %{ state_m2: [[float()]], position_ecef_m2: [[float()]], position_enu_m2: [[float()]] }
Static solve covariance blocks.
Geodetic receiver position in radians and metres.
@type metadata() :: %{ iterations: non_neg_integer(), converged: boolean(), status: Sidereon.GNSS.Positioning.Solution.status(), outer_iterations: non_neg_integer(), final_robust_scale_m: float() | nil, used_measurements: non_neg_integer(), n_parameters: non_neg_integer(), redundancy: integer(), ut1_degraded: nil | :before_coverage | :after_coverage }
Core static solve iteration and model metadata.
ECEF receiver position in metres.
@type t() :: %Sidereon.GNSS.StaticPositioning.Solution{ covariance: covariance(), geodetic: geodetic() | nil, geometry_quality: Sidereon.GeometryQuality.t(), metadata: metadata(), per_epoch_clock: [clock_bias()], per_epoch_influence: [map()], per_satellite_batch_influence: [map()], per_satellite_influence: [map()], position: position(), rejected_sats: [ [{String.t(), Sidereon.GNSS.Positioning.Solution.rejection_reason()}] ], residual_rms_m: float(), residuals_m: [map()], used_sats: [[String.t()]] }
Decoded multi-epoch static positioning solution.