#gnss #gps #glonass #galileo

gnss-rs

GNSS星座和航天器支持

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

Download history 82/week @ 2024-05-03 108/week @ 2024-05-10 95/week @ 2024-05-17 78/week @ 2024-05-24 56/week @ 2024-05-31 83/week @ 2024-06-07 104/week @ 2024-06-14 45/week @ 2024-06-21 94/week @ 2024-06-28 116/week @ 2024-07-05 53/week @ 2024-07-12 85/week @ 2024-07-19 264/week @ 2024-07-26 221/week @ 2024-08-02 106/week @ 2024-08-09 221/week @ 2024-08-16

每月下载量829
用于13个crate(10个直接)

MPL-2.0许可协议

40KB
789

GNSS

crates.io rustc v1.63 Rust crates.io

在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