Crates.io | gnss-rs |
lib.rs | gnss-rs |
version | 2.2.4 |
source | src |
created_at | 2023-10-11 09:41:02.627056 |
updated_at | 2024-08-27 15:17:01.207425 |
description | GNSS constellations and space vehicles support |
homepage | https://github.com/rtk-rs/gnss |
repository | https://github.com/rtk-rs/gnss |
max_upload_size | |
id | 1000027 |
size | 61,897 |
High level definitions to work with GNSS in Rust
SV
Constellation
Constellation.timescale()
Add "gnss" to your Cargo.toml
gnss-rs = "2"
Import "gnss-rs":
extern crate gnss_rs as gnss;
extern crate gnss_rs as gnss;
use gnss::sv;
use gnss::prelude::*;
use std::str::FromStr;
use hifitime::TimeScale;
let sv = SV::new(Constellation::GPS, 1);
assert_eq!(sv.constellation, Constellation::GPS);
assert_eq!(sv.prn, 1);
assert_eq!(sv.timescale(), Some(TimeScale::GPST));
assert_eq!(sv, sv!("G01"));
assert_eq!(sv.launched_date(), None);
We support SBAS (geostationary augmentations) systems.
extern crate gnss_rs as gnss;
use gnss::sv;
use gnss::prelude::*;
use std::str::FromStr;
use hifitime::{Epoch, TimeScale};
let sv = sv!("S23");
assert_eq!(sv.constellation, Constellation::EGNOS);
let launched_date = Epoch::from_str("2021-11-01T00:00:00 UTC")
.unwrap();
assert_eq!(sv.launched_date(), Some(launched_date));
Other definitions and features exist. Use compilation options (crate features) to unlock them. The idea is to maintain a very minimal default library.
The SERDE features unlocks serialization/deserialization of the main structures defined here.
The DOMES features unlocks the definition of DOMES GNSS/IGS reference station, that are widely used in GNSS data processing. This number identifies a station uniquely.
The COSPAR features unlocks the definition of the COSPAR (Launch) ID number. This number identifies the launch of a vehicule uniquely. It is used in RINEX and other files format.
The SBAS feature will create a static database that defines each SBAS service areas, projected on ground as WKT/GEO objects, with one method to select a SBAS service based on Latitude and Longitude coordinates.
Many libraries exist nowadays to process GNSS data or perform typical GNSS processing tasks.
Amongst them, be sure to checkout:
Licensed under MPL-2.0