Start Page

ASCII Conversion





Introduction:

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:

Options:

Delimiter: The delimiter is a character that separates the individual columns. For example if you have a line in your text file like:

123.23;56.23;50.49

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:

User defined variable name:type of variable:column location if file

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:

GPSTime:double:0

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:

GPSTime:float:0,Positions:point:1+2+3

This parsing goes on until all the necessary variables are defined. Finally we have at the end:

GPSTime:float:0,Positions:point:1+2+3,Roll:double:4,Pitch:double:5,Yaw:double:6

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.

Mandatory Options:

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

Start Page