Expand description
§GeoVeil-MP: GNSS Multipath Analysis Library
A high-performance Rust library for analyzing multipath effects in GNSS observations. Part of the GeoVeil suite for GNSS signal quality analysis.
§Features
- RINEX Support: Full support for RINEX v2.xx, v3.xx, and v4.xx observation files
- Navigation Files: Support for broadcast ephemerides (RINEX NAV) and precise orbits (SP3)
- Multi-GNSS: GPS, GLONASS, Galileo, BeiDou, QZSS, NavIC/IRNSS, SBAS
- Multipath Analysis: Code multipath estimation using linear combinations
- Cycle Slip Detection: Ionospheric residuals and code-phase combinations
- Position Estimation: Least squares positioning from pseudoranges
- R Plotting: Integration with R for high-quality visualizations
- Python Bindings: Full Python API via PyO3
§Quick Start
ⓘ
use geoveil_mp::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Load RINEX observation file
let obs = RinexObsReader::new().read("observation.24o")?;
// Configure analysis
let config = AnalysisConfig::default()
.with_elevation_cutoff(10.0)
.with_systems(&["G", "E", "R", "C"]);
// Run multipath analysis
let analyzer = MultipathAnalyzer::new(obs, config);
let results = analyzer.analyze()?;
// Export results
results.to_csv("results.csv")?;
Ok(())
}Re-exports§
pub use rinex::RinexObsReader;pub use rinex::ObservationData;pub use rinex::Satellite;pub use rinex::GnssSystem;pub use rinex::SignalCode;pub use rinex::ObservationType;pub use rinex::EpochObservations;pub use rinex::ObservationValue;pub use rinex::Header;pub use navigation::Sp3Data;pub use navigation::Sp3Reader;pub use navigation::Ephemeris;pub use navigation::SatellitePosition;pub use navigation::Kepler2Ecef;pub use navigation::GlonassInterpolator;pub use navigation::NevilleInterpolator;pub use navigation::SatellitePositionProvider;pub use analysis::MultipathAnalyzer;pub use analysis::MultipathEstimate;pub use analysis::MultipathStatistics;pub use analysis::CycleSlipDetector;pub use analysis::CycleSlip;pub use analysis::CycleSlipMethod;pub use analysis::IonosphericAnalyzer;pub use analysis::PositionEstimator;pub use analysis::PositionSolution;pub use analysis::AnalysisConfig;pub use analysis::AnalysisResults;pub use analysis::Statistics;pub use plotting::RPlotter;pub use plotting::PlotConfig;pub use plotting::ColorScheme;pub use utils::Ecef;pub use utils::Geodetic;pub use utils::AzEl;pub use utils::Epoch;pub use utils::GpsTime;pub use utils::calculate_azel;pub use utils::ecef_to_geodetic;pub use utils::geodetic_to_ecef;pub use utils::elevation_weight;pub use utils::ionospheric_mapping;pub use utils::tropospheric_mapping;pub use utils::Error;pub use utils::Result;
Modules§
- analysis
- GNSS analysis algorithms.
- navigation
- Navigation and ephemeris processing.
- plotting
- R plotting integration for GNSS multipath visualization.
- prelude
- Prelude module for common imports
- rinex
- RINEX file parsing and handling.
- utils
- Utility modules for the GNSS multipath library.
Constants§
- VERSION
- Library version