Summary of Rules and Record Types
General Rules
General formatting rules include:
- A GEOCOUNTS Key, if provided, must be valid.
- The Header section ends when the first Body record is encountered. After that, no other header records can occur. (There is no explicit "start of header" or "start of body" information.)
- Each record uses exactly one line which is terminated by the end of line marker ("\r\n").
- Text entered by a user must have commas escaped. E.g. "A, B" must become "A\, B"
- Numeric values use a decimal point, not a comma, if they represent floating point values.
- US Customary feet lengths are expressed as decimal values, not feet and inches; E.g. 6.1 means 6 and 1 tenth feet.
- Except for the SC, SL and SE records, all other header record types appear at most once.
- Blank lines are not allowed.
- Unless specified by the SZ record, dates and times are related to the local time where the count was taken.
- Body records may appear in any order. Time sequence order is encouraged for readability but is not required.
- Records must not end with white space characters.
Header Records
The header records explain how data is collected. This allows interpretation of the body records. Each header record consists of:
- A two character 'Header Code'
- A single space (ascii #32)
- The header record's parameters, which vary in number depending on the record type.
TD 60
Header records must all appear prior to any body record: observation (V), tally (T) or monitoring event (M). Only the channel definition (SC) and station label (SL) and equipment label (SE) header records may appear more than once in a file.
The key types of header records are:
- F* : The F* header records describe information relating to the file.
- S* : The S* header records describe information relating to the station.
- T* : The T* header records describe how tally records in the body are stored.
- V* : The V* header records describe how observation records in the body are stored.
Body Records
A body record contains time-stamped count data and consists of:
- A single character 'Body Record Code' ('T', 'V' or 'M')
- A single semicolon (ascii #59)
- The body record's parameters, which vary in number depending on the record type.
- A single semicolon (ascii #59)
There are three types of body records
- Tally (T) - This captures count information in periods set by the Tally Duration (TD) header record. Its structure is explained at Tally Record
- Observation (V) - This captures individual observations, such as a vehicle event, a pedestrian, a crash, a crime, etc. Its structure is explained at Observation Record
- Monitoring Event (M) - This captures information about things that affect or explain count data, such as unexpected equipment stoppages or weather events. Its structure is explained at Monitoring Event