13个版本

0.4.1 2024年7月30日
0.4.0 2023年7月19日
0.3.8 2023年3月13日
0.3.6 2022年7月5日
0.2.1 2020年11月12日

#33 in 模拟

Download history · Rust 包仓库 2/week @ 2024-04-29 · Rust 包仓库 7/week @ 2024-05-06 · Rust 包仓库 3/week @ 2024-05-13 · Rust 包仓库 15/week @ 2024-05-20 · Rust 包仓库 13/week @ 2024-05-27 · Rust 包仓库 44/week @ 2024-06-03 · Rust 包仓库 26/week @ 2024-06-10 · Rust 包仓库 40/week @ 2024-06-17 · Rust 包仓库 166/week @ 2024-06-24 · Rust 包仓库 86/week @ 2024-07-01 · Rust 包仓库 37/week @ 2024-07-08 · Rust 包仓库 50/week @ 2024-07-15 · Rust 包仓库 106/week @ 2024-07-22 · Rust 包仓库 261/week @ 2024-07-29 · Rust 包仓库 60/week @ 2024-08-05 · Rust 包仓库 155/week @ 2024-08-12 · Rust 包仓库

582 每月下载量

MIT 许可证

160KB
3K SLoC

C++ 1.5K SLoC // 0.4% comments · Rust 包仓库 Rust 1.5K SLoC // 0.0% comments · Rust 包仓库

sgp4-rs

CI Status Docs Crate

本crate实现了对“Revisiting Spacetrack Report #3”论文中提供的SGP-4轨道传播器的C++实现的封装(链接:链接)。它提供了对传播器库的高级绑定,具有更现代的接口。

我们的方法将低级unsafe绑定分离到sgp4_sys模块中,而安全函数则通过库的根模块导出。因为底层的SGP4实现是线程安全的,所以这个crate可以在多线程环境和async/await代码中使用。

我们没有为库中的每个函数创建绑定,特别是对于那些重复Rust标准库函数的情况。核心传播器功能已公开,允许从两条元素数据预测给定时间的轨道体状态向量。

构建

sgp4在稳定的Rust通道上构建干净,但需要本地C++编译器来构建封装的SGP4库。

实验功能

tlegen功能添加了从一组轨道元素创建自定义TLE的基本支持。这个功能有一些重要的注意事项,因此默认不启用。有关详细信息,请参阅ClassicalOrbitalElements文档。

相关的sgp4 crate是这个crate封装的Vallado库的纯Rust重实现。

依赖项

~2.2–3.5MB
~65K SLoC