This feature branch contains the addition of more SINEX related functions to the gnss.py module. These are to aid the ability to manipulate SINEX files for general purposes (e.g. coordinate transformations and other operations) by allowing SINEX blocks to be individually worked on and then written out again. There is also the addition of the velocity transformation object in constants.py for ITRF2020/ITRF2014 transformations. The addition to constants.py is thanks to work form Carl Wang. There is also a minor fix to the DMS object in angles.py relating to the case where the seconds column in a SINEX is not double digits and so an empty space was returned instead of the seconds variable.
Due to the large amount of functions in the gnss.py module, a list of all the functions has also been added to the top of the file. This might not be necessary or the correct practice.
Future Work
Here is some suggestions for either a future work package, or additional work before merging.
Some of these functions have names that look like they have the same application as existing functions even though they have different applications. Some work could be done to clarify the names and also docstrings so that it is more clear.
Investigate the performance of these functions. Pandas Dataframes have been used for convenience, there might be other formats that are more efficient. This will be important for large SINEX files. Some investigations and benchmarking could be done.
None of these functions have associated unit tests with them. These should be scoped and added.
The existing read_sinex_matrix() function works when the SINEX VCV is upper triangle. If the SINEX is lower triangle, the covar_xy variable output is actually the var_y output.
Description
This feature branch contains the addition of more SINEX related functions to the
gnss.py
module. These are to aid the ability to manipulate SINEX files for general purposes (e.g. coordinate transformations and other operations) by allowing SINEX blocks to be individually worked on and then written out again. There is also the addition of the velocity transformation object inconstants.py
for ITRF2020/ITRF2014 transformations. The addition toconstants.py
is thanks to work form Carl Wang. There is also a minor fix to the DMS object inangles.py
relating to the case where the seconds column in a SINEX is not double digits and so an empty space was returned instead of the seconds variable.This work is associated to another pull request in another repository: https://github.com/GeoscienceAustralia/gda2020/pull/1.
Functions Added
read_sinex_custom()
sinex2dataframe_solution_estimate()
sinex2dataframe_solution_matrix_estimate()
dataframe2sinex_solution_estimate()
dataframe2sinex_solution_matrix_estimate()
dataframe2matrix_solution_matrix_estimate()
matrix2dataframe_solution_matrix_estimate()
writeSINEX()
Comments
gnss.py
module, a list of all the functions has also been added to the top of the file. This might not be necessary or the correct practice.Future Work
Here is some suggestions for either a future work package, or additional work before merging.
read_sinex_matrix()
function works when the SINEX VCV is upper triangle. If the SINEX is lower triangle, thecovar_xy
variable output is actually thevar_y
output.