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.
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: atom(), outer_iterations: non_neg_integer(), final_robust_scale_m: float() | nil, used_measurements: non_neg_integer(), n_parameters: non_neg_integer(), redundancy: integer() }
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(), atom()}]], residual_rms_m: float(), residuals_m: [map()], used_sats: [[String.t()]] }
Decoded multi-epoch static positioning solution.