Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support IGS SP3 files #82

Closed
Tracked by #153
ljbade opened this issue Apr 15, 2023 · 5 comments · Fixed by #153
Closed
Tracked by #153

Support IGS SP3 files #82

ljbade opened this issue Apr 15, 2023 · 5 comments · Fixed by #153

Comments

@ljbade
Copy link
Contributor

ljbade commented Apr 15, 2023

Though SP3 isn't a *NEX file type it is pretty much a companion of the clock RINEX format and used by IGS and others to provide precise satellite orbits.

I can't see any other crate yet that supports SP3 so I think this crate would be a good choice to support it.

The format definition can be found on https://www.igs.org/formats-and-standards/. For some reason the "b" version is missing, can be found at https://files.igs.org/pub/data/format/sp3_glon.txt

Luckily its a fairly simple format type

@gwbres
Copy link
Collaborator

gwbres commented Jun 7, 2023

Hello @ljbade,

SP3 parser should be a dedicated crate since it's not a RINEX and it differs a lot.
Eventually when it becomes available, we should add an --sp3 argument to the command line tool to make it possible to provide such information.
Similarly to the --nav argument, to combine two RINEX for example

@gwbres
Copy link
Collaborator

gwbres commented Aug 28, 2023

Hello @ljbade,

I iniated this library, that we will merge into the georust community once stabilized.

It will be easy for the rinex-cli tool, through the rinex::quality::QcContext , to take one or several SP3 into account.
My understanding is, this helps solve PPP. The rust RINEX ecosystem is quite far from that at the moment, so my understanding is, this will not impact before a very long time.

They're might be an interesting aspect if we support real time parsing of all of these IGS datasets, mainly for real time PPP solving, which needs SP3 predictions as soon as they are published.

Feel free to contribute to all of that, lots of topic and I can only achieve so little by myself, especially considering this is no longer part of my main occupation.

@gwbres gwbres closed this as completed Aug 28, 2023
@gwbres gwbres reopened this Aug 28, 2023
@ljbade
Copy link
Contributor Author

ljbade commented Aug 29, 2023

@gwbres nice, I will take a look.

SP3 is useful when you want precise orbits, so is often used in PPP but can be used for a number of other things. There are even some SP3 files which just contain the "broadcast" orbits translated from the RINEX NAV files, which I found a useful reference when writing my own satellite position calculator.

@gwbres
Copy link
Collaborator

gwbres commented Aug 29, 2023

Hello @ljbade,

SP3 is definitely interesting data to have. We'll soon have the ability to load an SP3 pool into the QcContext just like in teqc.

The main thing it needs now is an interpolatin method, just like here.
So RINEX pool can compare to the provided SP3 context, and also to combine SP3 together and form a seamless SP3 context.
rust::nyx-space::Interpolators might prove handy.

@gwbres gwbres mentioned this issue Aug 31, 2023
9 tasks
@gwbres gwbres linked a pull request Aug 31, 2023 that will close this issue
9 tasks
@gwbres
Copy link
Collaborator

gwbres commented Aug 31, 2023

@ljbade,

The current PR already has the ability to load a pool of SP3 files.
This allows loading a context spanning several days at once.

We currently only plot SP3 orbits and clock data, there is no processing involved.
I will first conclude SP3 interpolation within the SP3 crate. Once that is done, it will be possible to correlate SP3 data/predictions, to RINEX NAV.

They say Clock predictions should not be interpolated, although they seem to be very linear and stable.
Are you familiar with Clock predictions processing ?
So far my main reference has been ESA NaviPedia

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants