8个稳定版本
新 2.2.3 | 2024年8月24日 |
---|---|
2.2.1 | 2024年7月28日 |
2.1.3 | 2024年1月5日 |
2.1.2 | 2023年11月2日 |
2.1.0 | 2023年10月14日 |
在地理空间中排名第47
每月下载量829
用于13个crate(10个直接)
40KB
789 行
GNSS
在Rust中处理GNSS的高级定义
- 航天器定义:
SV
- GNSS星座:
Constellation
- GNSS时间尺度:
Constellation.timescale()
入门指南
将"gnss"添加到您的Cargo.toml中
gnss-rs = "2"
导入"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);
SBAS支持
我们支持SBAS(地球静止增强)系统。
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));
其他定义和功能
存在其他定义和功能。使用编译选项(crate功能)来解锁它们。想法是保持一个非常最小化的默认库。
-
SERDE功能解锁了在此处定义的主结构的序列化和反序列化。
-
DOMES功能解锁了DOMES GNSS/IGS参考站的定义,这些参考站在GNSS数据处理中广泛使用。这个数字唯一地标识了一个站点。
-
COSPAR功能解锁了COSPAR(发射)ID数字的定义。这个数字唯一地标识了车辆的发射。它在RINEX和其他文件格式中使用。
-
SBAS功能将创建一个静态数据库,该数据库定义了每个SBAS服务区域,以WKT/GEO对象的形式投影到地面上,并提供一种基于纬度和经度坐标选择SBAS服务的方法。
相关生态系统
现在有许多库用于处理GNSS数据或执行典型的GNSS处理任务。
其中,请务必查看
- Nyx:轨道导航
- ANISE:地球定向建模和轨道导航
- Rtk-rs:精确点定位、相关计算和建模
- RINEX:文件处理和管理
- SP3:文件处理和管理
- Hifitime:时间尺度和相关计算
- CGGTTS:文件生产和处理
许可证
根据MPL-2.0许可
依赖项
~2.4–5.5MB
~101K SLoC