Skip to content

Commit

Permalink
Improve performance (#230)
Browse files Browse the repository at this point in the history
* Heavily reduce PPP processing time (by about x50)
* Improve -g -o Observation plotting performances

* reduce time to render this plot (slowest to render)
 by iterating the whole set only once, at the expense of more
 complex inner data types

* Improve doc
* Remove secondary cfg print: print only once
* Position: orbit interpolation improvements
* Code based PPP 

---------

Signed-off-by: Guillaume W. Bres <[email protected]>
Co-authored-by: Laurențiu Nicola <[email protected]>
  • Loading branch information
gwbres and lnicola authored Apr 20, 2024
1 parent b79e25b commit adcd8c5
Show file tree
Hide file tree
Showing 18 changed files with 998 additions and 365 deletions.
1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ members = [
"rinex-qc",
"rinex-cli",
"rnx2crx",
"sinex",
"sp3",
"ublox-rnx",
]
Expand Down
3 changes: 2 additions & 1 deletion rinex-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,9 @@ plotly = "0.8.4"
# plotly = { git = "https://github.com/gwbres/plotly", branch = "density-mapbox" }

# solver
gnss-rtk = { version = "0.4.3", features = ["serde"] }
# gnss-rtk = { version = "0.4.3", features = ["serde"] }
# gnss-rtk = { path = "../../rtk-rs/gnss-rtk", features = ["serde"] }
gnss-rtk = { git = "https://github.com/rtk-rs/gnss-rtk", branch = "main", features = ["serde"] }

# cggtts
cggtts = { version = "4.1.4", features = ["serde", "scheduler"] }
Expand Down
9 changes: 0 additions & 9 deletions rinex-cli/config/rtk/gpst_4sv_basic.json

This file was deleted.

18 changes: 18 additions & 0 deletions rinex-cli/config/rtk/gpst_ppp_basic.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"method": "CodePPP",
"timescale": "GPST",
"interp_order": 13,
"min_sv_elevation": 1.0,
"solver": {
"filter": "LSQ",
"gdop_threshold": 10.0
},
"modeling": {
"iono_delay": true,
"tropo_delay": true,
"earth_rotation": true,
"sv_clock_bias": true,
"sv_total_group_delay": true,
"relativistic_clock_bias": true
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"method": "SPP",
"timescale": "GPST",
"interp_order": 11,
"max_sv": 10,
"min_sv_elev": 20.0,
"min_snr": 20.0,
"min_sv_elevation": 10.0,
"solver": {
"gdop_threshold": 3.0
"filter": "LSQ",
"gdop_threshold": 10.0
},
"modeling": {
"iono_delay": true,
"tropo_delay": true,
"earth_rotation": true,
"sv_clock_bias": true,
"sv_total_group_delay": true,
"relativistic_clock_bias": true,
"tropo_delay": true,
"iono_delay": true,
"earth_rotation": true
"relativistic_clock_bias": true
}
}
7 changes: 1 addition & 6 deletions rinex-cli/src/cli/positioning.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,8 @@ You should provide Observations from a unique receiver.")
.action(ArgAction::Append)
.help("Pass a Position Solver configuration file (JSON).
[https://docs.rs/gnss-rtk/latest/gnss_rtk/prelude/struct.Config.html] is the structure to represent in JSON.
Refer to [https://docs.rs/gnss-rtk/latest/gnss_rtk/prelude/enum.Method.html] for solving strategies.
See [] for meaningful examples."))
.arg(Arg::new("spp")
.long("spp")
.action(ArgAction::SetTrue)
.help("Force resolution method to Single Point Positioning (SPP).
Otherwise, the Default method is used.
Refer to [https://docs.rs/gnss-rtk/latest/gnss_rtk/prelude/enum.Method.html]."))
.arg(Arg::new("gpx")
.long("gpx")
.action(ArgAction::SetTrue)
Expand Down
Loading

0 comments on commit adcd8c5

Please sign in to comment.