neuromorphicsystems / sgp4 Goto Github PK
View Code? Open in Web Editor NEWA Rust implementation of the SGP4 satellite propagation algorithm
Home Page: https://crates.io/crates/sgp4
License: MIT License
A Rust implementation of the SGP4 satellite propagation algorithm
Home Page: https://crates.io/crates/sgp4
License: MIT License
Hello,
I'm the community manager of the AeroRust community and while researching different crates for orbital determination and propagation I landed on your project.
We have an ongoing effort to create a catalogue of crates related to aerospace.
I'd love to see sgp4
added to the Are we in space yet?
catalogue - https://aerorust.org/catalogue/.
You can find sgp4
and other crates for addition to the website here - AeroRust/AeroRust.github.io#6
The categories are still a Work in progress and any additions/alterations are welcome.
On another note, I would love to see whether no_std
is possible for the sgp4
crate at this stage and if all dependencies are needed to minimise the crate size for use in embedded.
This may be out of scope for this crate.
Currently, the Prediction
output produces Cartesian coordinates in the TEME reference frame, whilst most other calculation and interfaces surrounding space calculations work with the J2000 earth centered inertial (commonly known as EME2000) reference frame.
It would be desirable to have a rust-equivalent implementation of performing the correct reference frame conversion. As stated, this may be out of scope for this crate.
A reference to this conversion and applicability of it is discussion in AIAA 2006 rev 3, Appendix C
I have ported to library to WebAssembly and generated bindings for python
and javascript
.
sgp4 ported repository
Hosted Bindings on WAPM
Now the library can be used from python
and javascript
.
Need to add this to the documentation.
Hi,
I am using your crate as part as a no_std
project without any default-features
and only the libm
feature.
I wanted to update my dependencies to the latest version of your crate (2.0
) but it seems that it is not no_std
ready anymore since you added the thiserror
dependency.
Are you aware of this problem and, if not, do you plan to keep the support of no_std
for your crate?
Here is the result of a build with the --no-default-features --features libm
arguments:
Checking sgp4 v2.0.0 (/home/elouan/Workspaces/Git_Workspace/sgp4)
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/gp.rs:3:1
|
3 | pub enum Error {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
1 + use core::error;
|
help: if you import `error`, refer to it directly
|
3 | pub enum Error {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/tle.rs:17:1
|
17 | pub enum ErrorWhat {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
1 + use core::error;
|
help: if you import `error`, refer to it directly
|
17 | pub enum ErrorWhat {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/tle.rs:60:1
|
60 | pub enum ErrorLine {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
1 + use core::error;
|
help: if you import `error`, refer to it directly
|
60 | pub enum ErrorLine {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/tle.rs:74:1
|
74 | pub struct Error {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
1 + use core::error;
|
help: if you import `error`, refer to it directly
|
74 | pub struct Error {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/tle.rs:501:1
|
501 | pub struct DatetimeToMinutesSinceEpochError {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
1 + use core::error;
|
help: if you import `error`, refer to it directly
|
501 | pub struct DatetimeToMinutesSinceEpochError {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/tle.rs:511:1
|
511 | pub enum MinutesSinceEpochToDatetimeError {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
1 + use core::error;
|
help: if you import `error`, refer to it directly
|
511 | pub enum MinutesSinceEpochToDatetimeError {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/lib.rs:90:1
|
90 | pub enum KozaiElementsError {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
49 + use core::error;
|
help: if you import `error`, refer to it directly
|
90 | pub enum KozaiElementsError {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/lib.rs:101:1
|
101 | pub struct OutOfRangeEpochEccentricity(pub f64);
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
49 + use core::error;
|
help: if you import `error`, refer to it directly
|
101 | pub struct OutOfRangeEpochEccentricity(pub f64);
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/lib.rs:105:1
|
105 | pub enum ElementsError {
| ^^^ use of undeclared crate or module `std`
|
help: consider importing this module
|
49 + use core::error;
|
help: if you import `error`, refer to it directly
|
105 | pub enum ElementsError {
|
error[E0433]: failed to resolve: use of undeclared crate or module `std`
--> src/lib.rs:104:10
|
104 | #[derive(thiserror::Error, Debug, Clone)]
| ^^^^^^^^^^^^^^^^ use of undeclared crate or module `std`
|
= note: this error originates in the derive macro `thiserror::Error` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing this module
|
49 + use core::error;
|
help: if you import `error`, refer to it directly
|
104 | #[derive(thiserror::Error, Debug, Clone)]
|
For more information about this error, try `rustc --explain E0433`.
error: could not compile `sgp4` (lib) due to 10 previous errors
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.