Skip to main content

Module precise_positioning

Module precise_positioning 

Source
Expand description

Static multi-epoch PPP float/fixed positioning.

This module owns the language-independent static PPP orchestration: float carrier ambiguities, integer ambiguity resolution, and the fixed-ambiguity re-solve from SP3-backed ionosphere-free code and phase observations. The observation-only wide-lane/narrow-lane and cycle-slip preparation that runs ahead of the solve lives in the [prep] leaf submodule.

let solutions = solve_kinematic_ppp(&source, &[epoch], config)?;
assert_eq!(solutions.len(), 1);
assert!(solutions[0].innovation_rms_m.is_finite());

Re-exports§

pub use auto_init::solve_ppp_auto_init_fixed;
pub use auto_init::solve_ppp_auto_init_fixed_with_strategy;
pub use auto_init::solve_ppp_auto_init_float;
pub use auto_init::solve_ppp_auto_init_float_with_strategy;
pub use auto_init::PppAutoInitError;
pub use auto_init::PppAutoInitOptions;
pub use auto_init::PppAutoInitStrategy;
pub use auto_init::PppInitialGuess;
pub use cycle_slip::detect_cycle_slips;
pub use cycle_slip::geometry_free_m;
pub use cycle_slip::melbourne_wubbena_cycles;
pub use cycle_slip::update_geometry_free;
pub use cycle_slip::update_melbourne_wubbena;
pub use cycle_slip::CycleSlipConfig;
pub use cycle_slip::CycleSlipConfigError;
pub use cycle_slip::CycleSlipDetectorState;
pub use cycle_slip::CycleSlipError;
pub use cycle_slip::CycleSlipFlagEpoch;
pub use cycle_slip::CycleSlipFlagObservation;
pub use cycle_slip::CycleSlipStateKey;
pub use cycle_slip::GeometryFreeUpdate;
pub use cycle_slip::MelbourneWubbenaUpdate;
pub use cycle_slip::RunningMeanVariance;
pub use cycle_slip::SatelliteCycleSlipState;
pub use cycle_slip::DEFAULT_MINIMUM_ARC_LENGTH;
pub use cycle_slip::DEFAULT_RUNNING_STATISTIC_K_FACTOR;
pub use raim::solve_float_epoch_with_raim;
pub use raim::ProtectionLevels;
pub use raim::RaimConfig;
pub use raim::RaimError;
pub use raim::RaimFdeError;
pub use raim::RaimFdeResult;
pub use raim::RaimFdeStatus;
pub use raim::RaimGeometryRow;
pub use raim::RaimIdentification;
pub use raim::RaimResult;
pub use raim::RaimStatus;
pub use raim::SatelliteTestStatistic;
pub use tec::code_geometry_free_m;
pub use tec::estimate_code_slant_tec;
pub use tec::estimate_phase_slant_tec;
pub use tec::estimate_tec;
pub use tec::ionospheric_pierce_point;
pub use tec::level_slant_tec_arc;
pub use tec::phase_geometry_free_m;
pub use tec::slant_tec_from_code_geometry_free_m;
pub use tec::slant_tec_from_phase_geometry_free_m;
pub use tec::thin_shell_mapping_function;
pub use tec::vertical_tec_from_slant_tec;
pub use tec::CodeSlantTecEstimate;
pub use tec::IonosphericPiercePoint;
pub use tec::LeveledTecSample;
pub use tec::PhaseSlantTecEstimate;
pub use tec::TecConfig;
pub use tec::TecEpoch;
pub use tec::TecError;
pub use tec::TecEstimate;
pub use tec::TecEstimateSample;
pub use tec::TecLevelingResult;
pub use tec::TecLevelingSample;
pub use tec::TecObservation;
pub use tec::TecSatelliteArc;
pub use tec::DEFAULT_IONOSPHERIC_SHELL_HEIGHT_M;
pub use tec::ELECTRONS_PER_TECU_M2;
pub use tec::TEC_GROUP_DELAY_COEFFICIENT;
pub use velocity::predict_range_rate_m_s;
pub use velocity::solve_velocity;
pub use velocity::RangeRatePrediction;
pub use velocity::ReceiverVelocityState;
pub use velocity::VelocityConfig;
pub use velocity::VelocityObservation;
pub use velocity::VelocityRobustConfig;
pub use velocity::VelocitySolution;
pub use velocity::VelocitySolveError;

Modules§

auto_init
SPP-seeded auto-initialization driver for static multi-epoch PPP arcs.
cycle_slip
Dual-frequency cycle-slip detection for PPP preprocessing.
defaults
Canonical static-PPP solver defaults.
raim
Snapshot RAIM tests for PPP float residuals.
tec
Dual-frequency Total Electron Content estimation helpers.
velocity
Single-epoch receiver velocity range-rate model.

Structs§

AmbiguitySearch
Frozen ambiguity-search metadata returned with a fixed PPP solution.
DualFrequencyEpoch
One raw dual-frequency PPP epoch.
DualFrequencyObservation
Raw dual-frequency PPP observation used by wide-lane/narrow-lane prep.
FixedAmbiguityOptions
Integer ambiguity resolution controls for fixed PPP.
FixedIntegerMetadata
Integer-search summary returned with a fixed PPP solution.
FixedSolution
Static integer-fixed PPP solution.
FixedSolveConfig
Static fixed-ambiguity PPP solve controls.
FloatCycleSlipEpoch
One float PPP epoch for cycle-slip ambiguity-tagging.
FloatCycleSlipObservation
One float PPP observation with optional raw dual-frequency fields for cycle-slip ambiguity-tagging.
FloatCycleSlipTaggedEpoch
One tagged float PPP epoch returned by cycle-slip prep.
FloatCycleSlipTaggedObservation
One tagged float PPP observation returned by cycle-slip prep.
FloatEpoch
One static PPP epoch.
FloatObservation
One ionosphere-free code/phase observation in a static PPP epoch.
FloatResidual
Per-satellite residual row in the returned public solution.
FloatSolution
Static float solution.
FloatSolveConfig
Static float solve controls.
FloatSolveOptions
Iteration and convergence controls.
FloatState
Initial static-arc state.
KinematicConfig
Configuration for a sequential kinematic PPP EKF solve.
KinematicEpochSolution
One epoch returned by solve_kinematic_ppp.
KinematicProcessNoise
Process-noise spectral densities for the kinematic PPP EKF.
KinematicState
Receiver state carried by the sequential kinematic PPP filter.
KinematicUpdateSummary
Summary of one kinematic PPP EKF measurement update.
MeasurementWeights
Measurement weighting options. Values are inverse sigmas, matching Sidereon’ historical row scaling.
PcvSample
One ANTEX PCV sample.
PppCorrectionLookup
Indexed static PPP correction lookup tables.
PppSplitArc
Public split-arc metadata for PPP ambiguity segmentation.
PreparedFloatEpoch
One prepared ionosphere-free epoch.
PreparedFloatObservation
One ionosphere-free PPP observation emitted by dual-frequency prep.
RangeCorrections
Range-correction options and precomputed correction tables.
ReceiverAntennaFrequency
Receiver antenna calibration at one frequency.
ReceiverAntennaOptions
Receiver antenna correction options.
SatelliteClockCorrections
Fine satellite clock series, keyed by GPS seconds.
TroposphereOptions
Troposphere controls.
VmfSiteSample
One VMF site-wise sample: the a coefficients at a single epoch.
VmfSiteSeries
A short, strictly ascending VMF site-wise a-coefficient series for one station, linearly interpolated to the observation epoch.
WideLanePrepOptions
Wide-lane and narrow-lane prep controls.
WideLanePrepResult
Prepared dual-frequency PPP arc for the fixed wide-lane/narrow-lane path.

Enums§

CycleSlipPolicy
Policy applied when a cycle slip is detected while preparing an ambiguity arc.
FixedSolveError
Static fixed PPP solve errors.
FloatSolveError
Static PPP solve errors.
FloatStatus
Static PPP solve termination status.
IntegerStatus
KinematicEpochStatus
Per-epoch status returned by the kinematic PPP EKF driver.
KinematicMotionModel
Deterministic receiver-position propagation model for the predict step.
KinematicPositionProcessNoise
Position process-noise model used by the kinematic PPP predict step.
KinematicSolveError
Kinematic PPP EKF solve errors.
MissingCorrection
NoEphemerisReason
TropoMapping
Tropospheric mapping-function selection for a PPP solve.
WideLanePrepError
Error from PPP wide-lane/narrow-lane prep.

Constants§

VMF_SITE_MAX_SAMPLES
Maximum number of 6-hourly VMF site samples carried for one arc.
VMF_SITE_SINGLE_SAMPLE_CLAMP_DAYS
Clamp window (days) on each side of a single-sample VMF series.

Functions§

build_ppp_lookup
Build indexed PPP correction lookups at the static-arc seed position.
correct_kinematic_state
Correct one kinematic PPP EKF state with a single epoch of code/phase rows.
predict_kinematic_state
Predict one kinematic PPP EKF state and covariance forward by dt_s.
prepare_widelane_fixed_epochs
Prepare raw dual-frequency PPP observations for the wide-lane then narrow-lane fixed ambiguity path.
solve_fixed_from_float
Search integer ambiguities from an existing float PPP solution and re-solve position/clocks with those ambiguities held fixed.
solve_float_epoch
Solve one float PPP epoch with the same state shape as Sidereon’ historical single-epoch API: receiver position, one receiver clock, and one ambiguity per observation.
solve_float_epochs
Solve a static multi-epoch float PPP arc.
solve_kinematic_ppp
Solve an ordered sequence of epochs with the kinematic PPP EKF.
split_float_cycle_slip_epochs
Rewrite float PPP ambiguity ids at detected dual-frequency cycle slips.