CRX is a Hatanaka compression for Rinex file used by many permanent networks. Y. Hatanaka of GSI wrote softwares for compress/uncompress, see https://terras.gsi.go.jp/ja/crx2rnx.html.
To use the software (example of CRX compression to uncompressed RNX format):
open a shell (e.g. Powershell)
go to the folder containing the executable
type “CRX2RNX.exe input.crx”
you get as output a RNX file that you can rename to .yyo
Differences between ellipsoidal height and orthometric altitude (or geoid height) are explained here https://spatialthoughts.com/2019/10/26/convert-between-orthometric-and-ellipsoidal-elevations-using-gdal/
using gdalwarp to convert from UTM33N-WGS84 ellipsoidal height to UTM33N-EGM96 geoid height
you can choose your input and output spatial reference using the proj4 syntax https://epsg.io/32633 , and note the add of the geoid file with +geoidgrids=egm96_15.gtx in the command.
if you want to use EGM2008 geoid, get the file from https://github.com/OSGeo/proj-datumgrid/blob/master/world/egm08_25.gtx and copy it to the proj directory. In Linux it’s
/usr/share/proj
then you can simply change the geoid file in the command +geoidgrids=egm08_25.gtx
The gps epoch is in the sixth field, and the values are offset by 1 billion. To convert to date one can use Python.
>>> import datetime
>>> datetime.date.fromtimestamp(1315964785) #posix time of the GPS epoch including the 1 billion offset
datetime.date(2011, 9, 14)
>>> datetime.date.fromtimestamp(1315964782+57560982) # gps time of the dataset + the posix time
datetime.date(2013, 7, 11)
PROJ is a generic coordinate transformation software that transforms geospatial coordinates from one coordinate reference system (CRS) to another. It is currently used in many GIS softwares, but can also be used through an API or by command-line tools.
Below some usefull command lines:
Simple conversion from a known coordinate system (CS) to another known CS :
More documentation https://proj.org/usage/quickstart.html
to add some formatting to output, specify the format with “-f” as a printf format string. For example “-f %.8f” will return the coordinate in decimal degrees with 8 decimals
13.26727481 42.22309481 0.00000000
to input several coordinates at a time, either use a file and pipe with cat
cat coords_utm.txt | cs2cs +init=epsg:32633 +to +init=epsg:4326 -f %.8f
Should return the list of converted coordinates
13.26727481 42.22309481 0.00000000
13.54977927 42.05589846 0.00000000
Clear introduction about Global and local referential (Lantmateriet) : “Positions determined by the GNSS method Precise Point Positioning (PPP) are in the same reference frame as the orbits, i.e. usually a realization of ITRS, e.g. ITRFyy, IGSyy or WGS84, where “yy” represents the year of the realization. The coordinates change with time in the ITRS realizations, because of the plate tectonics. Hence,the determined coordinates are given in the epoch of the observations. For practical applications like mapping and referencing spatial data , a static system/frame, which does not change with time, is desired. For this purpose, ETRS89 has been developed for Europe. ETRS89 coincides with ITRS at epoch 1989.0.”
Another simple reading about dealing with ITRS, ETRS and WGS84 is at Confluence website.
Nota : the transformations made by GIS software from WGS84 to local referential are precise at 1 meter only. For centimeter accuracy, use a geodetic software taking into account the velocities of the ITRF referential relative to the local referential (e.g. ETRF for Europe).
There are many WGS84 realizations. The latest compares with ITRF08 and ITRF14, see table below:
Year
Realization (Epoch)
For all practical purposes equivalent to:
1987
WGS 1984 (ORIG)
NAD83 (1986)
1994
WGS84 (G730)
ITRF91/92
1997
WGS84 (G873)
ITRF94/96
2002
WGS84 (G1150)
ITRF00
2012
WGS (G1674)
ITRF08
2013
WGS (G1762)
Compares to ITFR08 within 1cm Root Mean Square (RMS) overall
For US, WGS84 (G1762) is equivalent at 1cm to ITRF14. For France also ITRF14 ~ ITRF08 at less than 1cm, the transformation is given here http://itrf.ensg.ign.fr/trans_para.php
Example : converting from ITRFxx (epoch XXXX) to RGF93
We have made a GNSS survey in May 2020 that we want to convert to France official referential in a projection. The GNSS referential will then be ITRF14 (epoch 2020.1), and the French referential will be RGF93 with the associated projection Lambert93. In order to do so, we need to make some referential transformation, and also some conversion between cartesian coordinates, geographic coordinates and projected coordinates.
To transform ITRF14 (epoch 2020.1) to RGF93, use this site and choose ETRF2000 (epoch 2009) as equivalent to RGF93 (see this post), for the velocities you must choose the one of the nearest IGS station (positions and velocities given at ITRF official site or there or Euref site). Then to transform cartesian to geographic coordinates, use Circé IGN software. And finally, use also Circé to convert to projected coordinate system.