Skip to main content

Crate sidereon

Crate sidereon 

Source
Expand description

§sidereon

A thin, ergonomic API over the sidereon_core engine. It does not model anything itself: every function here delegates to a sidereon_core reference entry point and re-exports its result structs, so the numerical behavior is identical to calling the core directly. The value it adds is a small, human surface:

The input, result, and ephemeris types each function takes and returns are re-exported from sidereon_core under antex, rinex, astro, ephemeris, positioning, observables, and the curated rtk_filter / precise_positioning facades, so a consumer imports the ergonomic API types from this one crate. Lower-level RTK/PPP internals remain available under raw with their native core errors.

// Malformed input surfaces a single error type.
let parsed = sidereon::load_sp3(b"not a valid sp3 file");
assert!(matches!(parsed, Err(sidereon::Error::Sp3(_))));

Lower-level helpers re-exported through modules such as rinex keep their native core error type. Map them explicitly at wrapper boundaries; there is intentionally no blanket conversion into Error.

fn decode_from_reexported_core() -> sidereon::Result<()> {
    sidereon::rinex::decode_crinex("not a CRINEX file\n")?;
    Ok(())
}

Low-level RTK and PPP core modules live behind the explicit raw escape hatch, not the ergonomic facades.

let _ = sidereon::raw::rtk_filter::RtkFilterScratch::new();

Hot-path RTK filter APIs are intentionally not part of the ergonomic sidereon::rtk_filter facade.

use sidereon::rtk_filter::{update_epoch_with_scratch, RtkFilterScratch};

PPP preparation and raw solver APIs are intentionally not part of the ergonomic sidereon::precise_positioning facade.

use sidereon::precise_positioning::{prepare_widelane_fixed_epochs, solve_float_epochs};

RTK config builders consume the config. Dropping the returned value must not leave an unchanged copy available for solving.

use sidereon::{
    rtk_filter::{FloatSolveOpts, MeasModel, StochasticModel},
    RtkFloatConfig,
};

let epochs = Vec::new();
let ambiguity_ids = Vec::<String>::new();
let model = MeasModel {
    code_sigma_m: 0.3,
    phase_sigma_m: 0.003,
    sagnac: true,
    stochastic: StochasticModel::Rtklib,
};
let opts = FloatSolveOpts {
    position_tol_m: 1.0e-4,
    ambiguity_tol_m: 1.0e-4,
    max_iterations: 1,
};
let config = RtkFloatConfig::new(&epochs, [0.0; 3], &ambiguity_ids, &model, opts);
config.with_initial_baseline_m([1.0, 0.0, 0.0]);
let _ = sidereon::solve_rtk_float_with(config);
use std::collections::BTreeMap;

use sidereon::{
    rtk_filter::{
        AmbiguityScale, AmbiguitySet, FixedSolveOpts, FloatSolveOpts, MeasModel,
        ResidualValidationOpts, StochasticModel, ValidatedFixedSolveOpts,
    },
    RtkFixedConfig,
};

let epochs = Vec::new();
let ambiguity_ids = Vec::<String>::new();
let ambiguity_satellites = BTreeMap::new();
let wavelengths_m = BTreeMap::new();
let offsets_m = BTreeMap::new();
let float_only_systems = Vec::new();
let ambiguity_set = AmbiguitySet {
    ids: &ambiguity_ids,
    satellites: &ambiguity_satellites,
    scale: AmbiguityScale {
        wavelengths_m: &wavelengths_m,
        offsets_m: &offsets_m,
    },
    float_only_systems: &float_only_systems,
};
let model = MeasModel {
    code_sigma_m: 0.3,
    phase_sigma_m: 0.003,
    sagnac: true,
    stochastic: StochasticModel::Rtklib,
};
let opts = ValidatedFixedSolveOpts {
    float: FloatSolveOpts {
        position_tol_m: 1.0e-4,
        ambiguity_tol_m: 1.0e-4,
        max_iterations: 1,
    },
    fixed: FixedSolveOpts {
        position_tol_m: 1.0e-4,
        ambiguity_tol_m: 1.0e-4,
        max_iterations: 1,
        ratio_threshold: 3.0,
        partial_ambiguity_resolution: false,
        partial_min_ambiguities: 4,
    },
    residual: ResidualValidationOpts {
        threshold_sigma: None,
        max_exclusions: 0,
    },
};
let config = RtkFixedConfig::new(&epochs, [0.0; 3], ambiguity_set, &model, opts);
config.with_initial_baseline_m([1.0, 0.0, 0.0]);
let _ = sidereon::solve_rtk_fixed_with(config);

Modules§

almanac
Astronomical almanac events re-exported from the core crate.
antex
ANTEX 1.4 receiver and satellite antenna parser.
araim
Advanced RAIM multi-hypothesis snapshot integrity.
astro
Numerical astrodynamics engine for orbit propagation, force models, and future flight-dynamics primitives.
atmosphere
GNSS atmospheric correction models.
bias
Offline GNSS code and phase bias products.
broadcast_comparison
Broadcast-ephemeris accuracy: compare a broadcast navigation product against a precise SP3 product over a window (the orbit/clock pieces of the signal-in-space range error, SISRE).
carrier_phase
Carrier-phase combinations, cycle-slip detection, and Hatch smoothing.
clock_stability
Clock-stability estimators from IEEE Std 1139-2008 and NIST SP 1065.
combinations
GNSS observable linear combinations.
constants
Shared GNSS constants.
constellation
GNSS constellation identity catalog and validation helpers.
covariance
data
Data product filename, cache path, and archive URL catalog.
dgnss
Code-differential GNSS (DGPS) pseudorange corrections.
dop
Dilution of precision (DOP) from a satellite geometry.
ephemeris
Ephemeris products and satellite orbit/clock evaluation.
frame_catalog
Epoch-aware terrestrial reference-frame transformations.
frequencies
Canonical GNSS carrier-frequency table.
fusion
GNSS/INS fusion primitives.
geodesic
WGS84 geodesic direct and inverse helpers.
geodetic_time_series
Geodetic position time-series velocity, trajectory, step, and field tools.
geofence
Geodesic geofence containment with position uncertainty.
geoid
Geoid undulation lookup and orthometric-height conversion: the sidereon_core::geoid surface re-exported on the ergonomic crate.
geometry
GNSS geometry primitives.
geometry_quality
Geometry observability and residual-validation classification.
ils
Integer least squares - ambiguity-resolution kernels for precise / RTK positioning.
inertial
Inertial navigation primitives for ECEF strapdown propagation.
least_squares
Parameter-covariance primitives from the core least-squares substrate.
navigation
GNSS navigation-message synthesis and decoding.
nmea
Sans-I/O NMEA 0183 sentence parsing and GGA writing.
observables
Forward GNSS observable prediction.
observe
Ground-site observation convenience helpers for the Sun and Moon.
omm
CCSDS Orbit Mean-Elements Message (OMM) parser, encoder, and SGP4 bridge.
orbit
Compact orbit approximations.
passes
TLE pass prediction over a ground station.
positioning
Single-point positioning and GNSS geometry diagnostics.
ppp_corrections
Static-arc PPP correction precomputation.
precise_positioning
Stable PPP input, result, option, status, and error types used by the ergonomic PPP solve wrappers.
propagator
qc_obs
RINEX observation quality-control rollups.
quality
Measurement-quality control for GNSS positioning.
raw
Explicit escape hatch to the lower-level core RTK/PPP modules.
relative
Root-level shortcut for satellite-relative frames and CW propagation.
rinex
RINEX and CRINEX parsing.
rinex_qc
RINEX observation/navigation lint and mechanical repair types.
rtcm
RTCM 3 differential-GNSS stream decoding and encoding.
rtk
RTK double-difference primitives.
rtk_filter
Stable RTK input, result, option, status, and error types used by the ergonomic RTK solve wrappers.
sbas
sbas_pl
SBAS single-hypothesis protection levels.
sgp4
SGP4 satellite propagation with 0 ULP parity to the Vallado C++ reference implementation (v2020-07-13).
sidereal
Repeating-geometry residual filtering.
signal
GPS L1 C/A code generation, coherent correlation, and acquisition.
source_localization
Source localization from arrival times.
space_weather
CelesTrak CSSI space-weather parsing and NRLMSISE-00 lookup.
ssr
Engineering-unit State Space Representation corrections.
staleness
Product-staleness graceful degradation for time-varying GNSS products.
state
static_positioning
Multi-epoch static positioning over stacked pseudorange epochs.
tca
Time of closest approach search between two TLE-backed satellites.
tdm
CCSDS Tracking Data Message KVN reader and writer.
terrain
DTED tile reader and bilinear terrain lookup.
terrain_store
Memory-mappable terrain tile store with an explicit vertical datum contract.
tides
Solid-earth tide station displacement (IERS Conventions, Chapter 7).
tle
Two-Line Element (TLE) format parser and encoder.
velocity
Receiver velocity and clock-drift solve from GNSS range-rate observations.

Structs§

AirborneModel
Airborne receiver and multipath contribution model.
AppliedMediaCorrections
Media delays applied to a predicted tracking observable.
AttitudeQuaternion
Unit quaternion using scalar-first (w, x, y, z) storage.
BodyAzEl
Topocentric look angle of a body from a ground site.
CorrectedImuIncrement
Bias-corrected, scale-corrected IMU increment consumed by mechanization.
CrossingEvent
Crossing event reported for a sequence sample.
DecayLatch
Per-satellite latch for decay-like SGP4 propagation failures.
DegradationParams
Supplied DO-229 degradation terms not yet decoded from MT10, MT27, or MT28.
DopplerShift
Range-rate and Doppler shift result for a carrier frequency.
DragForce
Atmospheric-drag force model using cannonball drag over NRLMSISE-00 density.
EarthOrientation
A single evaluated Earth-orientation state for one epoch.
EarthRadiationPressure
Cannonball Earth albedo and infrared radiation pressure parameters.
Ecliptic
Ecliptic spherical coordinates, true ecliptic and equinox of date.
EmissionMediaBatch
Contiguous per-satellite outputs for emission-epoch state and media lookup.
EmissionMediaBatchOptions
Options for emission_media_batch_at_j2000_s.
Equatorial
Equatorial spherical coordinates with distance.
ErrorEllipse
A horizontal one-sigma error ellipse.
F64Bits
Exact JSON representation of an f64 bit pattern.
Fence
Geodesic polygon fence on WGS84.
ForceModelComponents
Additive force components for ForceModelKind::Composite.
GeodeticStationKm
Geodetic ground-station position (WGS84) for topocentric look angles.
GeofencePositionEstimate
Position estimate used by probabilistic crossing detection.
GeometryQuality
Geometry observability and covariance-validation diagnostics.
GeometryQualityThresholds
Configurable cutoffs for classify.
GnssSatelliteId
A satellite identifier: a constellation plus its within-system PRN/slot.
GroundStation
Ground-station geodetic coordinates.
HelmertParameters
Helmert parameters in the units used by the published tables.
HelmertRates
Helmert parameter rates in the units used by the published tables.
HelmertTransform
One published 14-parameter Helmert catalog entry.
Horizontal
Horizontal topocentric look angle.
ImuBias
Accelerometer and gyroscope biases.
ImuCalibration
IMU scale-factor and misalignment matrices.
ImuErrorModel
Bias and calibration model applied before strapdown mechanization.
ImuRateRandomWalk
Optional rate-random-walk densities for the generated IMU.
ImuSample
One IMU sample tagged by its end time in seconds since J2000.
ImuSimulationOptions
Options for synthetic IMU generation.
ImuSimulator
Stateful deterministic synthetic IMU generator.
ImuSpec
Datasheet-level IMU stochastic parameters.
ItrfPositionM
A position in the ITRF / IGS-realization Earth-Centered-Earth-Fixed frame, expressed in meters.
ItrfVelocityMS
A velocity in the ITRF / IGS-realization ECEF frame, in meters per second.
KeplerSolution
LookAngle
Topocentric look angle from a ground station to a TLE satellite.
MechanizationConfig
Configuration for ECEF strapdown mechanization.
MediaPredictOptions
Prediction options plus optional media corrections.
MediaPredictedObservables
Predicted observables with an additional media-corrected range.
MediaRangePrediction
Range-only prediction with an additional media-corrected range.
MmapPreciseEphemerisInterpolant
Evaluation-only precise-ephemeris interpolant backed by store bytes.
MoonElevationCrossing
One refined Moon elevation threshold crossing.
MoonElevationOptions
Options for Moon elevation threshold crossings (moonrise / moonset).
MoonIllumination
The Moon’s illuminated state as seen from a ground site.
MoonTransit
One refined Moon meridian transit (culmination).
NavState
Navigation state used by the ECEF strapdown mechanizer.
ObservableMediaOptions
Optional media corrections for one predicted tracking observable.
ObservableTroposphereCorrection
Troposphere correction settings for a predicted tracking observable.
Observation
Full topocentric observation of a target from a ground site.
ObservationReliability
Reliability diagnostics for one observation.
ObserveOptions
Options for general ground-site observation.
OrientedPreciseEphemerisStateSample
One ECEF SP3 state sample paired with the Earth orientation for that epoch.
PassPredictionOptions
Pass-prediction options.
PercentileRadius
A percentile circle or sphere radius.
PositionErrorMetrics
Standard position-error metrics from one ENU covariance.
PppFixedConfig
Typed input bundle for a static integer-fixed PPP solve.
PppFloatConfig
Typed input bundle for a static multi-epoch float PPP solve.
PreciseEphemerisInterpolant
A reusable precise-ephemeris interpolant with cached per-satellite nodes.
PreciseEphemerisStateSample
One precise-ephemeris state sample with ECEF position and velocity.
PredictedPass
Predicted visible pass.
ProbabilityHysteresis
Hysteresis confidence for probabilistic crossing detection.
ProbabilityOptions
Options for containment_probability_with_options.
ProtectionGeometry
A snapshot geometry and clock-column convention for ARAIM.
ProtectionRow
One satellite row in an ARAIM geometry snapshot.
RangeReliabilityRow
One geometry row for pre-data reliability design.
Refraction
Optional Bennett atmospheric-refraction inputs.
RejectedSat
A rejected satellite paired with its rejection reason.
ReliabilityOptions
Options for Baarda/Teunissen reliability design.
ReliabilityReport
Full reliability design report.
ReliabilitySummary
Aggregate reliability diagnostics for a design.
RinexSppBroadcastCorrections
Broadcast correction metadata used while converting RINEX observations into SPP SolveInputs.
RinexSppEpochInputs
One assembled RINEX observation epoch and its SPP inputs.
RinexSppEpochSolution
One RINEX observation epoch paired with its serial SPP solve result.
RinexSppOptions
Options for assembling RINEX observation epochs into SPP SolveInputs.
RinexSppSource
Delegating ephemeris source that lets a precise product solve with broadcast NAV metadata during RINEX SPP assembly.
RtcmSppEpochInputs
One set of assembled RTCM MSM observations and its SPP inputs.
RtkFixedConfig
Typed input bundle for a static residual-validated fixed RTK baseline solve.
RtkFloatConfig
Typed input bundle for a static multi-epoch float RTK baseline solve.
SbasErrorModel
Index-aligned SBAS error model for protection-level geometry rows.
SbasKMultipliers
Fixed SBAS protection-level multipliers.
SbasProtection
SBAS protection-level output for one geometry snapshot.
SbasSisError
One satellite’s DO-229 one-sigma range-error budget.
SchwarzschildRelativity
Schwarzschild correction for a single central body.
SerializableFusionSnapshot
Stable serializable fusion snapshot without retained replay history.
SerializableFusionState
Stable serializable fusion checkpoint.
SerializableImuSample
Serializable IMU sample.
SerializableInsFilterState
Serializable INS filter state and covariance.
SerializableLooseMeasurement
Serializable loose GNSS fix measurement.
SerializableNavState
Serializable navigation state with exact floating-point bit storage.
SerializableRateEndpoint
Serializable body-rate interpolation endpoint for retained IMU samples.
SerializableSatelliteId
Serializable GNSS satellite identifier.
SerializableStoredCheckpoint
Serializable retained filter checkpoint.
SerializableStoredImuSample
Serializable retained IMU sample with its replay interval metadata.
SerializableTightCarrierPhaseObservation
Serializable tight carrier-phase observation.
SerializableTightFilterState
Serializable tight receiver-clock augmentation.
SerializableTightGnssEpoch
Serializable tight raw GNSS epoch.
SerializableTightGnssObservation
Serializable tight raw GNSS observation.
SerializableTightRangeRateObservation
Serializable tight range-rate observation.
SerializableTimeSyncHistory
Serializable retained time-sync replay history.
SerializableTimeSyncHistoryConfig
Serializable retained-history capacity settings.
SiderealFilterOptions
Options controlling residual template stacking.
SiderealFilterOutput
Output of sidereal_filter.
SimulatedImuSequence
Batch output from synthetic IMU generation.
SolarRadiationPressure
Cannonball solar radiation pressure parameters.
SourcedDragForce
Atmospheric drag whose space weather is resolved per evaluation epoch.
SpaceWeather
Space-weather inputs to NRLMSISE-00 for drag.
SpaceWeatherPolicy
Lookup policy for rejecting lower-trust rows or monthly Ap defaults.
SpaceWeatherSample
NRLMSISE-00 drag input plus metadata about the consulted rows.
SpaceWeatherTable
Time-indexed CelesTrak CSSI space-weather table.
SphericalHarmonicCoefficient
Fully normalized real spherical-harmonic coefficient.
SphericalHarmonicGravity
Fully normalized spherical-harmonic gravity perturbation.
SphericalHarmonicGravityConfig
Copyable embedded-table selector for propagation force composition.
StaticClockBias
One solved epoch-local receiver clock.
StaticCovariance
State covariance for a static solution.
StaticEpoch
One receive epoch for solve_static.
StaticEpochInfluence
Leave-one-epoch-out diagnostic.
StaticResidual
One post-fit residual from the static solve.
StaticSatelliteBatchInfluence
Leave-one-satellite-out diagnostic across all epochs where a satellite appears.
StaticSatelliteInfluence
Leave-one-satellite-out diagnostic.
StaticSolution
Multi-epoch static receiver solution.
StaticSolutionMetadata
Metadata describing the static solve.
StaticSolveOptions
Options for solve_static.
StrapdownMechanizer
Streaming ECEF strapdown mechanizer.
SunElevationCrossing
One refined Sun elevation threshold crossing.
SunElevationOptions
Options for Sun elevation threshold crossings.
TdbEarthOrientationProvider
Earth-orientation provider for propagator epochs expressed as TDB seconds since J2000.
TerrestrialPositionM
Cartesian position in a named terrestrial frame, in metres.
TerrestrialState
A transformed terrestrial position and optional station velocity.
TerrestrialVelocityMPerYear
Cartesian station velocity in a named terrestrial frame, in metres per year.
ThirdBodyBodies
Enabled third bodies for ThirdBodyGravity.
ThirdBodyGravity
Third-body gravity from analytic Sun and Moon positions.
UkfUpdateOptions
UKF measurement-correction options.
UnscentedTransformOptions
Scaled unscented-transform parameters.
UtcInstant
UTC instant represented as unix microseconds.
VisibleSatellite
One satellite visible from a ground station at an instant.
Wgs84Geodetic
A geodetic (ellipsoidal) position on the WGS84 datum.
WtestNoncentralityComponents
Both Baarda w-test noncentrality forms from a single derivation: the noncentrality parameter delta0 = normal_q_inv(alpha / 2) + normal_q_inv(beta) and its square lambda0. Consumers that report both must take them from here rather than re-deriving one from the other.
ZonalCoefficients
Unnormalized zonal harmonic coefficients through degree 6.
ZonalDegrees
Active zonal harmonic degrees for ZonalGravity.
ZonalGravity
Closed-form zonal gravity perturbation through degree 6.

Enums§

AnomalyError
BodyObservationError
Error returned by ground-site Sun/Moon observation helpers.
ConingCorrection
Strapdown coning-correction setting.
CrossingKind
Crossing event kind.
DecayLatchedError
Error from opt-in decay-latched SGP4 propagation.
DopplerError
Error while computing Doppler shift.
EmissionMediaStatus
Per-satellite status for an emission-epoch state/media batch row.
Error
The one error type for the ergonomic API.
ErrorMetricsError
Error returned by position-error metric functions.
ForceModelKind
Which force model supplies the acceleration during propagation.
FrameCatalogError
Errors returned by terrestrial frame catalog operations.
FrameTransformError
Error returned when public frame-transform inputs are outside the valid domain.
FrameValueError
Error returned when constructing frame-tagged values from invalid inputs.
FusionFilterKind
Fusion filter family selector.
FusionStateCodecError
Errors returned by the versioned fusion-state codec.
GeodesicError
Error returned when geodesic inputs are outside the accepted domain.
GeofenceError
Error returned by geofence construction and evaluation.
GnssSystem
A GNSS constellation (satellite system).
ImuGrade
Coarse IMU class used to select a built-in ImuSpec preset.
ImuSampleKind
IMU sample payload.
ImuSimulationOutput
Output representation for generated IMU samples.
InertialError
Error returned by inertial frame, IMU, and mechanization entry points.
LookAngleError
Error while computing a TLE look angle.
Loss
SciPy’s loss selector for least_squares.
MoonElevationCrossingKind
Direction of a Moon elevation threshold crossing.
MoonTransitKind
Upper or lower culmination of the Moon (meridian transit).
ObservabilityTier
Observability and validation tier for an estimation geometry.
ObservableIonosphereCorrection
Ionosphere correction model for a predicted tracking observable.
ObservationClass
Provenance class of one daily CelesTrak space-weather row.
PassError
Error while planning a TLE-backed pass arc.
PositionUncertainty
Position uncertainty accepted by probabilistic geofencing.
PreciseInterpolantStoreError
Errors from precise-interpolant store conversion, serialization, and open.
ProbabilityMethod
Probability integration method.
RejectionReason
Why a satellite was excluded from the solve, in pinned priority order.
RinexSppError
Assembly-time error from building SPP inputs out of a parsed RINEX observation file.
SatelliteIdError
Error returned when constructing a GNSS satellite identifier from invalid input.
SbasPlError
SBAS protection-level input or numerical failure.
SerializableErrorStateLayout
Serializable error-state layout tag.
SerializableImuSampleKind
Serializable IMU sample payload.
SerializableStoredGnssMeasurement
Serializable retained GNSS measurement.
SiderealFilterError
Errors returned by sidereal filtering and repeat-period helpers.
SiderealTemplateMethod
Template estimator used by sidereal_filter.
SpaceWeatherSource
Where drag evaluations obtain space-weather values.
StaticInfluenceStatus
Status for a leave-one-out diagnostic solve.
StaticSolveError
Error returned by solve_static.
SunElevationCrossingKind
Direction of a Sun elevation threshold crossing.
Target
What to observe.
TerrestrialFrame
A supported terrestrial reference-frame realization.
XScale

Constants§

DEFAULT_IMU_SIM_SEED
Default deterministic seed used by ImuSimulationOptions::default.
EGM96_DEGREE_ORDER_36
Embedded EGM96 fully normalized coefficient table through degree and order 36.
EGM96_EMBEDDED_MAX_DEGREE
Maximum embedded EGM96 degree.
EGM96_EMBEDDED_MAX_ORDER
Maximum embedded EGM96 order.
EGM96_MU_KM3_S2
EGM96 gravitational parameter used with the embedded coefficient table.
EGM96_REFERENCE_RADIUS_KM
EGM96 reference equatorial radius used with the embedded coefficient table.
FUSION_STATE_CODEC_VERSION
Current binary and serde schema version for fusion checkpoints.
GEOFENCE_BOUNDARY_TOLERANCE_M
Boundary tolerance used when classifying a point on an edge, in metres.
PLANAR_FAST_PATH_MAX_RADIUS_M
Maximum anchor-to-vertex, anchor-to-query, and edge length for the planar path.
SIDEREAL_DAY_NANOS
Length of the mean sidereal day used for constellation-default GPS phasing.
SIDEREAL_DAY_SECONDS
Length of the mean sidereal day in SI seconds.
TERRESTRIAL_FRAME_CATALOG
Built-in published terrestrial Helmert catalog entries.
WGS84_NORMAL_GRAVITY_EQUATOR_MPS2
WGS84 normal gravity at the equator in m/s^2.
WGS84_NORMAL_GRAVITY_POLE_MPS2
WGS84 normal gravity at the pole in m/s^2.
WGS84_SOMIGLIANA_K
Somigliana normal-gravity formula constant derived from WGS84 table values.

Traits§

EarthOrientationProvider
Supplies Earth orientation at a propagator integration epoch.
ProtectionModel
Supplies per-row range sigmas for ARAIM protection and reliability designs.
RinexSppAssemblySource
Source of non-observation metadata needed during RINEX SPP assembly.

Functions§

catalog
Return the built-in terrestrial frame catalog.
catalog_entry
Return the published catalog entry for the requested forward direction.
classify
Classify geometry observability and covariance validation from scalar diagnostics.
containment
Boolean containment for one position and fence.
containment_probability
Containment probability from position uncertainty.
containment_probability_with_options
Containment probability with an explicit integration method.
crossing
Boolean crossing detection over a position sequence.
crossing_probability
Probabilistic crossing detection with probability hysteresis.
crossing_probability_with_options
Probabilistic crossing detection with explicit probability options.
decode_crinex
Decode Compact RINEX (Hatanaka) OBS text into plain RINEX OBS text.
distance_to_boundary
Signed boundary distance for one position and fence, in metres.
doppler_shift
Compute range rate, Doppler ratio, and carrier Doppler shift.
eccentric_to_mean
eccentric_to_true
emission_media_batch_at_j2000_s
Evaluate satellite emission-epoch states, clocks, and media delays in one call.
encode_crinex
Encode plain RINEX OBS text into Compact RINEX (Hatanaka) text.
error_ellipse_from_enu_m2
Horizontal one-sigma ellipse from an ENU covariance in square metres.
find_moon_elevation_crossings
Find Moon elevation threshold crossings (moonrise / moonset) for a station and UTC window.
find_moon_transits
Find Moon meridian transits (upper and lower culminations) for a station and UTC window.
find_sun_elevation_crossings
Find Sun elevation threshold crossings for a station and UTC window.
fit_precise_ephemeris_state_sample_orbit
Fit one satellite from ECEF state samples paired with Earth orientation.
fit_precise_ephemeris_state_sample_orbits
Fit selected satellites from ECEF state samples paired with Earth orientation.
gauss_markov_bias_decay
First-order Gauss-Markov bias decay factor over dt_s.
gauss_markov_bias_variance_increment
Bias process variance increment for a Gauss-Markov bias over dt_s.
gcrs_to_teme_compute
Core GCRS->TEME transform. Returns ((px,py,pz), (vx,vy,vz)).
gcrs_to_topocentric_compute
Compute topocentric az/el/range from a ground station to a satellite.
gcrs_to_true_of_date_matrix
GCRS to true equator and equinox of date rotation.
geodesic_direct
Solve the WGS84 direct geodesic problem.
geodesic_inverse
Solve the WGS84 inverse geodesic problem.
geodetic_from_ecef_proj
Convert ECEF meters to (longitude_degrees, latitude_degrees, altitude_m).
geodetic_to_itrf
Convert a WGS84 geodetic position to an ITRF/ECEF position.
geodetic_to_itrs
Convert geodetic (lat_deg, lon_deg, alt_km) to ECEF/ITRS (km).
gravity_ecef_mps2
WGS84 normal gravity vector in ECEF coordinates, in m/s^2.
ground_track
Sub-satellite (ground-track) geodetic points for one already-initialized satellite over a time grid.
horizontal_radius_at
Exact horizontal percentile circle radius from an ENU covariance.
itrf_to_geodetic
Convert an ITRF/ECEF position to a WGS84 geodetic position.
itrs_to_geodetic_compute
Convert ECEF/ITRS (km) to geodetic coordinates. Returns (latitude_deg, longitude_deg, altitude_km).
itrs_to_topocentric
Topocentric az/el/range from a station to an Earth-fixed (ITRS/ECEF) target.
lint_rinex_nav
Lint RINEX NAV text.
lint_rinex_obs
Lint RINEX OBS text, decoding CRINEX input when needed.
load_antex
Read and parse an ANTEX antenna calibration file.
load_bias_sinex
Read and parse a Bias-SINEX product. Files ending in .gz are decompressed.
load_bias_sinex_lossy
Read and parse a Bias-SINEX product, retaining non-fatal diagnostics. Files ending in .gz are decompressed.
load_code_dcb
Read and parse a CODE DCB product. Files ending in .gz are decompressed.
load_code_dcb_lossy
Read and parse a CODE DCB product, retaining non-fatal diagnostics. Files ending in .gz are decompressed.
load_crinex
Read and decode a Compact RINEX (Hatanaka) OBS file.
load_rinex_clock
Read and strictly parse a RINEX clock file.
load_rinex_clock_lossy
Read and lossily parse a RINEX clock file.
load_rinex_nav
Read and parse a RINEX NAV file into a queryable broadcast ephemeris store.
load_rinex_obs
Read and parse a RINEX OBS file.
load_sp3
Parse an SP3-c or SP3-d byte buffer into a precise-ephemeris product.
look_angle
Propagate a pre-parsed SGP4 element set and compute its topocentric look angle.
look_angle_arc
Topocentric look angle from a ground station to one already-initialized SGP4 satellite at each UTC instant.
look_angle_batch_parallel
Topocentric look angles for many already-initialized SGP4 satellites over a shared epoch grid, fanned across a rayon thread pool.
look_angle_batch_serial
Topocentric look angles for many already-initialized SGP4 satellites over a shared epoch grid, serially.
mean_to_eccentric
mean_to_true
mechanize_ecef
Propagate an ECEF navigation state by one corrected IMU increment.
metrics_from_ecef_covariance_m2
Rotate an ECEF covariance to ENU and compute all standard metrics.
metrics_from_enu_covariance_m2
Compute all standard metrics from an ENU covariance in square metres.
metrics_from_kinematic_solution
Compute all metrics from a kinematic PPP epoch solution.
metrics_from_position_covariance
Compute all metrics from a DOP position covariance without re-rotating it.
moon_az_el
Topocentric azimuth/elevation/range of the Moon from a ground site at an instant.
moon_elevation_deg
Topocentric geometric Moon (disk-center) elevation at a station and UTC instant, degrees.
moon_illumination
Illuminated fraction of the Moon as seen from a ground site at an instant.
nmea_epochs
Parse and group NMEA 0183 bytes into completed epoch snapshots.
normal_gravity_mps2
WGS84 Somigliana normal gravity magnitude at geodetic latitude and height.
observable_media_corrections
Evaluate optional media range corrections at a supplied topocentric geometry.
observe
General topocentric observation.
observe_spk_body
Convenience wrapper for observing an SPK body with default options.
orbit_repeat_lag
Compute a per-satellite orbital repeat lag from a broadcast ephemeris.
parse_antex
Parse ANTEX text into receiver and satellite antenna calibrations.
parse_bias_sinex
Parse Bias-SINEX bytes into an offline bias set.
parse_bias_sinex_lossy
Parse Bias-SINEX bytes and return non-fatal diagnostics with the bias set.
parse_code_dcb
Parse CODE DCB bytes into an offline bias set.
parse_code_dcb_lossy
Parse CODE DCB bytes and return non-fatal diagnostics with the bias set.
parse_nmea
Parse NMEA 0183 bytes into typed sentences with non-fatal diagnostics.
parse_rinex_clock
Strictly parse RINEX clock text into satellite clock-bias series.
parse_rinex_clock_lossy
Parse RINEX clock text while skipping malformed and non-AS rows.
parse_rinex_nav
Parse a RINEX NAV file into a queryable broadcast ephemeris store.
parse_rinex_obs
Parse RINEX OBS text into a typed observation product.
periodicity_strength
Score repeating components at candidate periods for 1 Hz samples.
periodicity_strength_with_sample_interval
Score repeating components at candidate periods for an explicit cadence.
precise_interpolant_store_checksum64
Return the FNV-1a checksum for precise-interpolant store bytes.
predict_batch_with_media
Predict media-corrected observables for many requests, serially.
predict_batch_with_media_parallel
Predict media-corrected observables for many requests in parallel.
predict_ranges_with_media
Predict media-corrected ranges for many requests.
predict_with_media
Predict observables and add optional troposphere and ionosphere range delays.
propagate_kepler
propagate_position
Propagate a station position from one decimal year to another.
range_rate_and_ratio
Compute range rate and dimensionless Doppler ratio from a GCRS state.
reliability_araim
Compute reliability for ARAIM geometry using the same ENU gain matrix as MHSS.
reliability_design
Compute internal and external reliability from supplied range geometry.
repair_rinex_nav
Repair RINEX NAV text with mechanical fixes supported by the core writer.
repair_rinex_obs
Repair RINEX OBS text with mechanical fixes supported by the core writer.
repeat_period
Return the default ground-track repeat period for a GNSS constellation.
rodrigues_delta_dcm
Exact Rodrigues direction-cosine matrix for a body delta angle.
sbas_protection_levels
Compute DO-229 SBAS HPL and VPL from geometry and supplied range sigmas.
sidereal_filter
Remove a repeating residual component by phase-stacking prior repeats.
simulate_imu_samples
Generate IMU samples from a navigation-state truth trajectory.
simulate_imu_samples_from_increments
Generate IMU samples from coning/sculling truth increments.
solar_day_period
Return the 24-hour solar day as a duration for diagnostic callers.
solve_kepler
solve_ppp_fixed
Lower-level positional form for static integer-fixed PPP.
solve_ppp_fixed_with
Search integer ambiguities from a float PPP solution and re-solve with them held fixed.
solve_ppp_float
Lower-level positional form for a static multi-epoch float PPP arc.
solve_ppp_float_with
Solve a static multi-epoch float PPP arc.
solve_rtk_fixed
Lower-level positional form for a static fixed RTK baseline with residual validation/FDE.
solve_rtk_fixed_with
Solve a static fixed RTK baseline with residual validation/FDE.
solve_rtk_float
Lower-level positional form for a static multi-epoch float RTK baseline.
solve_rtk_float_with
Solve a static multi-epoch float RTK baseline.
solve_spp
Run single-point positioning under the public validation/orchestration policy.
solve_spp_batch
Solve a batch of independent SPP epochs against a shared ephemeris, fanning the per-epoch solves across a rayon thread pool.
solve_spp_batch_serial
Solve a batch of independent SPP epochs against a shared ephemeris, serially.
solve_spp_from_rinex_obs
Assemble RINEX SPP epochs and solve them serially against the same source.
solve_static
Solve one static receiver position from multiple epochs of pseudoranges.
solve_velocity
Solve receiver ECEF velocity and clock drift from one epoch of range-rate or Doppler observations.
sp3_ecef_state_to_eci
Convert one SP3 ECEF state sample into the propagator’s inertial state.
spherical_radius_at
Exact three-dimensional percentile sphere radius from an ENU covariance.
spp_inputs_from_rinex_obs
Assemble every non-event RINEX observation epoch with at least one selected pseudorange into SPP SolveInputs.
spp_inputs_from_rtcm_msm
Convert RTCM MSM observation messages into SPP-ready epoch inputs.
spp_robust_fde_driver
Run robust-reweighted SPP under the RAIM/FDE exclusion loop.
ssr_store_from_rtcm
Build an SSR correction store from framed RTCM bytes.
sun_az_el
Topocentric azimuth/elevation/range of the Sun from a ground site at an instant.
sun_elevation_deg
Topocentric geometric Sun elevation at a station and UTC instant, degrees.
transform
Transform a Cartesian station position and optional velocity between frames.
transform_from_epoch
Propagate a station to a transform epoch, then transform it between frames.
true_imu_increment_between
Reconstruct the mechanization-consistent truth increment between two states.
true_to_eccentric
true_to_mean
ukf_correct_closed_loop
Apply a linear UKF correction, then close the loop and reset the error vector.
vertical_radius_at
Vertical one-dimensional percentile radius from an up variance.
write_gga
Serialize a fixed-format, checksummed GGA sentence.
wtest_noncentrality
Compute Baarda’s one-dimensional data-snooping noncentrality parameter.
wtest_noncentrality_components
Compute WtestNoncentralityComponents for a two-sided false-alarm probability alpha and a missed-detection probability beta.

Type Aliases§

Result
Result alias for the ergonomic API.