Assisting #5
Replies: 12 comments 26 replies
-
Hello @larsnaesbye, welcome onboard! At the moment it is fair to say that the parser is the most stable part of the project. The cargo run --example observation I am most focused on the parser (file reader) at the moment as opposed to
I am currently concluding support for Regarding the command line tools, cd rinex-cli
cargo run -- --help
# print available obscodes in this RINEX
cargo run -- -fp ../test_resources/OBS/V3/DUTH0630.22O --obscodes --pretty
# extract data for Sv "G01" but only for epochs with an `ok` flag attached to them:
cargo run -- -fp ../test_resources/OBS/V3/DUTH0630.22O -e --sv G01 --pretty As for the
Overall, and I will conclude with this:
Now that is already a lot of information. Let me know if you want to know more. |
Beta Was this translation helpful? Give feedback.
-
Hello @gwbres, Thank you for the very descriptive welcome! There is absolutely everything I would like to know in there for now. You are right, the file production and command-line tools are what I ultimately would like to use for daily operations. I oversee a system that produces RINEX files from raw receiver data and distributes them freely for public consumption. In short, the tasks are:
For this we use a combination of gfzrnx, bnc, Anubis and CRX2RNX/RNX2CRX (the one by Hatanaka). If these tasks could in the future be done using the same framework, it would make everything easier and more transparent. I think I can pretty easily get some RINEX v4 files, since the RAW to RINEX software supports it. Let me get back to you on that. After that I might look into the |
Beta Was this translation helpful? Give feedback.
-
Hello @larsnaesbye ,
I initiated a "ublox-rinex" application, it is also contained in this folder, and it serves that role as long as you intend to use "ublox" receivers. It basically combines the "ublox" crate (very powerful! I use it at work on a daily basis), and the "rinex" crate (which already knows the most common RINEXes), that could be of interest for you. I barely spent any time on this application. We need to conclude the
The
I just added the hability to parse
Supported natively, will be managed by the
Rinex::to_file() is partial, it needs to be improved, support a buffered stream efficient approach, support all known attributes and record types..
I have not initiate the Rinex::splice operation, because I do not know what splicing means
Decimate/down sampling is under development but is closer to stable than all other topics.
See Rinex::dead_times() for gap analysis, also Rinex::anomalies() for epoch flags analysis (flags only truly relevant in OBS files) |
Beta Was this translation helpful? Give feedback.
-
Yeah, we use and have used other types of receiver (Leica, Trimble, Septentrio...), not u-blox.
I think splice and merge is the same thing - combining two files from the same receiver to get one continuous. A bit like they describe on the tecq mailing list here: https://postal.unavco.org/pipermail/teqc/2016/002144.html I have submitted a pull request with a RINEX 4 file (Hatanaka 3 compressed). I hope it can be of use for testing :-) |
Beta Was this translation helpful? Give feedback.
-
Hello @larsnaesbye I validated some high level record operations, I started integrating them into Here is my notation:
|
Beta Was this translation helpful? Give feedback.
-
This is really good. I think I will soon try to run a process flow and see if I can do the same with |
Beta Was this translation helpful? Give feedback.
-
I added a note to the documentation on how to browse the different record types Here are a few commands I can execute on my side, they seem to produce the expected results. # --decim-ratio : reduce information quantity
rinex-cli -- -f test_resources/OBS/V2/aopr0010.17o -o --decim-ratio 4 --pretty
# --decim-interval : provide a duration and reduce information efficiently
cargo run -- -f ../test_resources/OBS/V2/zegv0010.21o \
--ssi 8 # excelent signal quality \
--decim-interval 00:01:00 # new option \
--pretty
# focus on GPS vehicules
cargo run -- -f ../test_resources/OBS/V2/zegv0010.21o \
--constellation GPS \
--decim-interval 00:02:00 --pretty
# focus on G07
cargo run -- -f ../test_resources/OBS/V2/zegv0010.21o --sv G07 --decim-interval 00:02:00 --pretty
# split at epoch
# split operation, with an epoch specified,
# we disregard whether this file is merged or not, specified epoch must exist
cargo run -- -f ../test_resources/OBS/V2/zegv0010.21o --decim-interval 00:01:00 --split "2021-01-01 00:09:00"
# note the "quotes ‘’, needed for the whitespaces
# this produces the couple (split1.txt, split2.txt).
# There you see what I just pushed, with the first few to_file() methods made avaialble.
# There is no mean to properly control the names to be generated at the moment |
Beta Was this translation helpful? Give feedback.
-
Looking good. I noticed that the v4 NAV file does make the tests fail. I might look into this too. |
Beta Was this translation helpful? Give feedback.
-
Hello @larsnaesbye
|
Beta Was this translation helpful? Give feedback.
-
Hello @larsnaesbye This is a little bit off topic, but do you have any recomendations in terms of GNSS receiver settings, in order to maximize Timing/Solution quality? Right now I'm investigating Elevation mask and so called "static hold" parametrization. I only have access to Ublox (8) receivers, Unfortunately we don't have access to high end Ublox (9 model) or Septentrio receivers. |
Beta Was this translation helpful? Give feedback.
-
Hello @larsnaesbye can you confirm that we also (possibly) want to compute 1D or even 2D differentiations, or raw pseudo ranges, and not only raw phases ? If you request a 1D or even worse a 2D diff, with the realistic context you provided last summer, the operation is very very slow on my side. I can only produce a result when focusing on 1 or 2 vehicules. But we have a good progression margin, on both record parsing and crinex decompression, so i'm expecting this to improve in a near future. PS: Observation file generation about to be concluded :) |
Beta Was this translation helpful? Give feedback.
-
Observation RINEX encoding and formatting is now fully validated 👍. Validating V2 has honestly been a real pain. |
Beta Was this translation helpful? Give feedback.
-
Hi, I might want to contribute to the development of
rinex
, as my day to day work is in need of better tools than tecq, Anubis, gfzrnx etc. I have experience with RINEX, and though fairly new to Rust, I'm already fascinated by the tooling and community.Are there some smaller tasks you'd like to be worked on first, like contributing test data, hardening or fixing the epochs?
Beta Was this translation helpful? Give feedback.
All reactions