ASCII to F5 is a tool to convert a column separated text file to a high-performance F5/HDF5 file. Multiple text files will be merged into a single F5 file. Several additional information is necessary a prior to parse the text file. These are:
Delimiter: The delimiter is a character that separates the individual columns. For example if you have a line in your text file like:
The delimiter is here ';'. For white space or tabulator, please use 'space' or 'tab' respectively. Care has to be taken with the decimal separator. In some countries (e.g. Austria) the decimal separator is ',' and not '.'
GridName: The grid name should be related to the project name. For Example: 'River Rhine'
Header Lines: Most text files start with header information. We need to skip these lines before parsing. For example:
Header Line1 Header Line2 Header Line3 123.23;56.20;50.49 124.23;76.21;50.49 125.23;96.23;50.49
We have here 3 header lines which needs to be skipped.
Is GPS-Day: There are two possibilities for GPS time: GPS-Week or GPS-Day (see also Wiki).
All projects need to be in GPS-Week!. If the GPS-Time is provided as
GPS-Day we need to transform it into GPS-Week. In order to do that we need also a project start date (see below). Whether the information of the trajectory is
in GPS-Day or not lies solely in the hands of the user. A good indicator is to check the GPS-Time itself: If the values are above 86400 [s] it must be in GPS-Week
because the elapsed seconds exceeds an entire day.
Lets do a simple example: We have a sdc file in GPS-Week and a trajectory in GPS-Day. The project date was 10.4.2018 and
corresponds to a Tuesday or as a week day: 2. (GPS-Week starts with Sunday = 0). Therefore we need to add 2 * 86400 [s] to the GPS-Time to be conform with the sdc file.
Parsing: This is the part were we define which column together with type and variable name will be exported. For example:
Time[s],Easting[m],Northing[m],Height[m],Roll[deg],Pitch[deg],Yaw[deg] 184056.0012,775864.282,3847986.519,669.019,0.486889,-3.236351,-125.443027 184056.0062,775864.136,3847986.358,669.018,0.476416,-3.242776,-125.437809 184056.0112,775863.988,3847986.195,669.017,0.495729,-3.281465,-127.636932 184056.0162,775863.162,3847985.612,669.126,0.522499,-3.306512,-128.704370 184056.0212,775863.006,3847985.456,669.125,0.529693,-3.289479,-128.716749
Consist of one header line and several columns, like Time, Easting ....Yaw. To parse now the individual columns a patter as this:
is used. The variable name is given by the user itself. The column location is simple the number of the column (starting with 0), e.g., Northing would be 2 and Roll would be 4. If a compound variable is defined (e.g. a vector with 3 components) we simply add '+' between the locations, like 0+1+2. Finally, the type which hydrovish supports are listed here:
Type | Info |
---|---|
int | signed integer |
uint32 | unsigned 32 bit integer |
uint64 | unsigned 64 bit integer |
double | float, 64 bit |
float | float, 32 bit |
rgb | 8 bit RGB |
point | xyz coordinates |
The variable name, type and column location are separated by ':'. If more variables are parsed use ',' as a separator.
Lets try now to parse the above example (that one with Time, Easting...). The first variable is Time which is a floating number with double precision. Be aware that the name for time variable must always be GPSTime or UTCTime !. So we can write:
Next comes Easting, Northing and Height. This is a compound type and represents the xyz coordinates. In HydroVish the xyz coordinates have a special meaning and need to be called 'Positions'. This is and the GPSTime are the only variable names which cannot be freely chosen! The type for xyz coordinates is always 'point'. So we have then:
This parsing goes on until all the necessary variables are defined. Finally we have at the end:
Hint: If you do not know the layout of your text file press Analyse File(s) !
Time as UTC: This is just a double check in case you parse your time as: UTCTime:double:0.
Project Start Date: This is an additional information added to the f5 file. It is also needed to calculate the GPS-Week (see Is GPS-Day).
EPSG-Code: The IOGP’s EPSG Geodetic Parameter Dataset is a collection of definitions of coordinate reference systems and coordinate transformations which may be global, regional, national or local in application. In order to be consistent regarding the transformation from scanner coordinates into a world coordinate system and the following strip adjustment, it is necessary to provide the EPSG code of the coordinate system in which the trajectory lies. If the EPSG code is unknown the EPSG registriy (Click here) provides useful help.
Description | EPSG |
---|---|
WGS 84 / UTM zone 32N | 32632 |
WGS 84 / UTM zone 33N | 32633 |
GRS80 / UTM zone 32N (the same as ETRS89 / UTM zone 32N) | 25832 |
GRS80 / UTM zone 33N (the same as ETRS89 / UTM zone 33N) | 25833 |