...
Several conditions must be met if the test is to be meaningful: a minimum description of how the file is organised must be known. This leads to a division of keywords into compulsory, non compulsory and conditionally compulsory keywords. The last category consists of keywords which are in fact compulsory, but for which a default value has been filled in. If the word is therefore not listed, the standard value is used. If the default value is not suitable as a result of another keyword, the word must still be given. It is therefore compulsory under certain conditions. The compulsory keywords are given in Table 2
Compulsory keywords.
Table 2: Compulsory keywordws.
Keyword | Keyword |
#GEFID = | #COLUMN = |
#FILEDATE = | #COLUMNINFO = |
#PROJECTID = | #EOH = |
#FILEOWNER = |
|
...
Table 2 forms the minimum subset of keywords. A file which complies with the geotechnical exchange format uses of all these keywords at least. If one or more of the compulsory keywords are missing then an application should stop automatically processing the data and signal the missing keyword. The test is incomplete. Optionally, the application can query the user so that the missing information can be found. The remaining keywords are given in Table 3.
Non-compulsory keywords.
Table 3: Non compulsory and conditionally compulsory keywords.
Keyword | Keyword | Keyword |
#ANALYSISCODE= | #LASTSCAN= | #SCANFREQ= |
#ANALYSISTEXT= | #MEASUREMENTCODE= | #SCANTIME= |
#ANALYSISVAR= | #MEASUREMENTTEXT= | #SETUPCODE= |
#CHILD= | #MEASUREMENTVAR= | #SETUPTEXT= |
#COLUMNMINMAX= | #OBJECTID= | #SETUPVAR= |
#COLUMNSEPARATOR= | #OS= | #SPECIMENCODE= |
#COLUMNTEXT= | #PARENT= | #SPECIMENTEXT= |
#COLUMNVOID= | #PROJECTNAME= | #SPECIMENVAR= |
#COMMENT= | #PROCEDURECODE= | #STARTDATE= |
#COMPANYID= | #QNMINMAX= | #STARTTIME= |
#DATAFORMAT= | #QNTIME= | #STRUCTURETEXT= |
#DATATYPE= | #QNVOID= | #STRUCTURETYPE= |
#EQUIPMENT= | #RECORDSEPARATOR= | #TESTID= |
#FILINGCODE= | #REPORTCODE= | #TIMECOLUMN= |
#FILINGTEXT= | #REPORTDATAFORMAT= | #XYID= |
#FILINGVAR= | #REPORTTEXT= | #ZID= |
#FIRSTSCAN= | #REPORTVAR= | |
#LANGUAGE= | #ROW= |
...
Parts of the information following keywords which can be omitted are given between [] in the typescript. Abbreviations are used to characterise the information, as given in Table 4. E.g. 4Value represents a value of 4 bytes in size, sUnit states a string which describes the unit.
Data types.
Table 4: Types of variables and their abbreviations.
Type | Description | Number of bytes | Example |
byte | flag | 1 | 1 |
char | separator | 1 | ; |
int2 | integer number | 2 | -30000 |
long | integer number | 4 | 2123456789 |
int4 | integer number | 4 | 2123456789 |
real4 | decimal number | 4 | -3.14159 |
float | decimal number | 4 | -3.14159 |
real8 | decimal number | 8 | 6.62×10-34 |
double | decimal number | 8 | 6.62×10-34 |
string | text | variable | Measurement |
...