How-to guide
How to prepare and check a TMH 18 CID road-data file set before sending it
Prepare a South African TMH 18 CID file set: fix the version first, then check names, empty fields, kilometre window, units and lane codes before sending.
TMH 18TMH 13TMH 22
Published guide
Name the TMH 18 version before you name the file: Draft Version 4 and Committee Draft 5.0 give the same .cid extension different columns.
A CID file is a Combined Instrument Data file, the file type in the South African road manual TMH 18 (Draft Version 4, October 2014; Committee Draft 5.0, February 2016) that carries roughness, rut and texture. (COTO, 2014) (COTO, 2016i) It is unrelated to the .cid files of IEC 61850 substation automation. To prepare one, fix the version first, then check encoding, file names, empty fields, kilometre window, units and lane codes before sending.
Key facts
- A TMH 18 .cid record carries roughness, rut and texture for one road, one lane, one kilometre window and one measurement date, written as semicolon-separated UTF-8 text.
- The South African road manual TMH 18 exists as Draft Version 4 (October 2014) and Committee Draft 5.0 (February 2016), whose .cid layouts have 23 and 24 columns respectively.
- TMH 18 states that every field must be present in every record, so an empty field is written as two adjacent semicolons and is never omitted.
- TMH 18 states that values outside a road's start and end kilometre on its network definition are discarded.
- TMH 18 section 5.7 prints nanometres beside its deflection columns, while TMH 22 section D.4.5 says deflections are reported in micrometres, so a definition sheet should state the unit.
- A TMH 18 file name follows the pattern authority, road and date, and its extension is case sensitive.
What is a TMH 18 file set?
A file set is the group of files that share one file-name stem and differ only in extension: the network definition (.net, listing each road's start and end kilometre), the geometry, the road classification (.rcl) and data files such as the .cid. (COTO, 2014) The .cid is one type among several (section 5.6 of both editions), not "the CID standard". (COTO, 2016i) TMH (Technical Methods for Highways) is a South African road-manual series issued under the Committee of Transport Officials (COTO); TMH 18 is titled Road Asset Data Electronic Exchange Formats.
What does a TMH 18 CID record hold?
One .cid record holds, for one road, lane, start and end kilometre (the kilometre window) and measurement date, the average and standard deviation of the international roughness index (IRI, in m/km), the half-car roughness index (HRI), the rut depth in each wheelpath (the strip a tyre follows) and the mean profile depth (MPD, a texture measure). TMH 22 (Draft, March 2013) expresses rut depth and MPD in millimetres. (COTO, 2013) Measuring them is the subject of TMH 13 (Committee Draft Final, May 2016), Parts C, D and E. (COTO, 2016a) (COTO, 2016e) (COTO, 2016f) TMH 18 explained covers what each file family is for.
Which TMH 18 version should a CID file follow?
TMH 18 asks users for the latest version but does not say which edition a receiver's loader (the program that imports the files) reads, so ask. Both are drafts, and Committee Draft 5.0 states that committee drafts have no legal standing. (COTO, 2016i) The later edition is not a drop-in replacement: its .cid adds a leading field, 24 columns against 23, which shifts every value after it. (COTO, 2014) (COTO, 2016i)
| What changes | Draft Version 4 (October 2014) | Committee Draft 5.0 (February 2016) |
|---|---|---|
| .cid columns (section 5.6) | 23, starting at the road identifier | 24, starting with an authority identifier |
| Road identifier length in the .cid list | 12 characters | 50 characters |
| Geometry file | .kml or .kmz | .gml with .xsd, or a shapefile set (.shp, .shx, .dbf, .prj) |
| Visual condition summary files | .vcf, .vcc, .vcb, .vcu | .flx, .con, .blc, .vgi |
| .fwd | Normalised falling weight deflectometer (FWD) bowls; raw F25 data is .f25 | Listed against F25 data (a raw FWD format); section 5.7 still describes bowls |
Narrated film · 1:28
Check a TMH 18 file set before sending
The film walks the eleven checks, compares the two TMH 18 editions and shows a value beyond the road's end kilometre being discarded.
Read the film transcript
How do you prepare a TMH 18 CID file the receiving authority can load? A CID file is a Combined Instrument Data file, one type in the South African road manual TMH 18. Each record holds roughness, rut and texture for one road, lane, kilometre window and date. First, agree the version: Draft Version 4 has 23 columns, starting at the road identifier. Committee Draft 5.0 adds an authority field first, giving 24 columns and shifting every later value. TMH 18 does not say which edition a receiver reads, so ask and keep the answer. Export plain text with semicolons, then give the set one name and the right extensions. Check the base fields in every record, and never omit an empty field. Each name joins authority, road and date in order, and extensions are case sensitive. In this synthetic example, road S1 ends at three point three kilometres. Under TMH 18, the window to three point four is beyond the end and discarded. TMH 18 labels deflections nanometres, TMH 22 micrometres, so state every unit in the definition sheet. Check the lane codes, and keep roughness, rut and texture in one record. Finish with a transmittal note recording the edition, units and any length gap. Name the TMH 18 version first, because the same extension can carry different columns. Next, TMH 13 describes measurement, and TMH 22 describes location referencing and condition data.
How do I prepare and check a TMH 18 CID file before sending it?
Work through these eleven checks in order. Section numbers apply to both editions unless a step says otherwise. (COTO, 2014) (COTO, 2016i)
- Agree the version with the receiver. Ask which edition the receiver's loader reads, Draft Version 4 or Committee Draft 5.0, and use that edition's column list. Keep: the receiver's written answer.
- Check encoding, delimiter and line ending. Data files are plain UTF-8 text (a standard text encoding), semicolon-separated, each record ending in a carriage return and line feed; TMH 18 says no file header is needed (section 1.1). Keep: the export settings.
- Name every file by authority, road and date. The pattern is
[AUTHORITY_ID]_[ROAD_ID]_[DATE].[extension], for exampleTST_S1_2026102108.cid; TST is an invented placeholder for the three-to-five-character code issued to each data authority (section 1.3). The date runs year, month, day, hour, zero-padded; extensions are case sensitive (sections 1.2 to 1.6). Keep: the file list. - Give every file one stem and the right extension. All files in the set share the stem (sections 2.2 and 2.3.1). Check each extension against the chosen edition (section 1.6), and send first any network definition changed since the receiver's copy (sections 2.1 and 2.2). Keep: the file list with extensions.
- Check the base fields in every record. Each needs a road identifier on the network record, a start kilometre, an end kilometre (optional only for survey-point data) and a date of survey, with kilometres as 999.999 (section 1.7). Keep: the records sampled and the result.
- Keep every empty field. Write a missing value as nothing between two semicolons; every field must appear in every record or the receiver rejects the file (section 1.1). Do not write 0 for a missing reading: section 4.4 says so for traffic volumes, and the .cid examples leave missing texture empty. Keep: the field count per record.
- Check the kilometre window. Every start and end kilometre must lie inside the road's start and end kilometre on the network record valid on the measurement date; values outside are discarded (section 5 opening and section 2.2.2). Confirm that section starts and ends match the road definition (TMH 13 Part B, section B.4.3), that the geometry runs from start to end kilometre (Committee Draft 5.0 section 2.3; TMH 22 section B.1.4), and state any length gap. (COTO, 2016c) (COTO, 2016i) (COTO, 2013) The reversal arithmetic is in chainage, direction and wheelpath. Keep: the road's start and end kilometre, and the count of windows outside.
- Write each column's unit in the definition sheet. TMH 13 Parts C to F ask the contractor to supply a definition sheet of codes and abbreviations; with no file header (step 2), state the units there. (COTO, 2016a) (COTO, 2016e) (COTO, 2016f) (COTO, 2016g) For deflections, TMH 18 section 5.7 prints "Nanometres" (Table 20 in Committee Draft 5.0, Table 19 in Draft Version 4) and its example reads D0 1120 nanometres, while TMH 22 section D.4.5 says micrometres and TMH 13 Part F (Table F.1) lists a sensor range of 0 to 2,000 micrometres. (COTO, 2014) (COTO, 2016i) (COTO, 2013) Agree the unit with the receiver (see FWD deflection data between manuals). Keep: the definition sheet.
- Check the lane codes. A lane code is P or S for direction, then a lane number: 1 is the fast lane, counting towards the slowest; shoulders carry a type letter, F or S. The primary direction is the side on which kilometres increase towards north or east (sections 4.1 and 4.2). The field is optional but needed for lane-specific data, which most data are (section 1.7). Keep: the lane convention, in the definition sheet.
- Check that roughness, rut and texture share one record. One .cid record needs all three taken at the same time and place, sharing road identifier, lane code, start and end kilometre and date (section 5.6). Count the fields per row against the edition's column list (23 or 24); the Draft Version 4 example splits date and time into two fields. Keep: row and column counts.
- Write the transmittal note. Record the edition, file list, road identifier and kilometre window, measurement dates, units, lane convention, row counts and any gap between surveyed and official length. Keep: the note, filed with the file set as sent.
What does a worked TMH 18 CID check look like?
Synthetic example, every value invented, in the Committee Draft 5.0 layout. (COTO, 2016i) Road S1 has a network record from 0.000 km to 3.300 km. A profiler pass in lane P1 on 21 October 2026 produced 100 m windows, a length chosen for illustration, in TST_S1_2026102108.cid. The record for the last window inside the road, with the two missing centre-texture fields empty, reads:
TST;S1;P1;3.200;3.300;20261021 08:00:00;3.4;3.6;0.3;0.4;3.0;0.3;4.1;4.6;0.8;0.9;0.60;;0.65;0.12;;0.14;28.12345;-26.12345
The record has 24 fields. The pass runs past the end of the road, so the last two windows are:
| Window | Start km | End km | Result of the kilometre check |
|---|---|---|---|
| 33 | 3.200 | 3.300 | Inside; ends exactly at the end kilometre |
| 34 | 3.300 | 3.400 | Outside; the receiver discards it |
Check value: 3,300 m holds 33 windows of 100 m. A file with 34 records carries 3,400 m, 100 m more than the network record, so the receiver keeps 33. If the vehicle did measure 3,400 m, report the difference in the transmittal note for the road authority; do not add a record.
Read as Draft Version 4, TST would be the road identifier and nothing after it lines up.
Why can a correctly named .cid file still fail?
A correctly named .cid file can still fail because the extension does not fix the column layout and other manuals call the format "TMH 20".
- Misreading: the same extension means the same layout. Both editions use .cid, but the column lists differ. Correct reading: the extension names a type; the edition names the layout. (COTO, 2014) (COTO, 2016i)
- Misreading: TMH 18 is "TMH 20". TMH 22 and TMH 13 Parts B and D send readers to "TMH 20" for formats, and TMH 22 lists it as "Standard for Road Network Data" alongside a separate TMH 18 entry. Correct reading: that title is the running head of TMH 18 Draft Version 4, so match the title, not the number. (COTO, 2013) (COTO, 2016c) (COTO, 2016e) (COTO, 2014)
What does TMH 18 leave undecided?
TMH 18 leaves four points to agreement with the receiver.
- Window length. Section 5.1 lists standard assessment lengths by pavement type, but the .cid example uses 0.1 km windows in Draft Version 4 and 2 km in Committee Draft 5.0. Ask which the receiver expects. (COTO, 2014) (COTO, 2016i)
- The date in the file name. Section 1.5 calls it the date the sender's system generated the file, with hours as the minimum precision; the example in section 1.2 calls it the capture time and carries 12 digits where the pattern shows 10. (COTO, 2014) (COTO, 2016i)
- A window that straddles the end kilometre. Values outside the road are discarded, but the text does not say whether a straddling window is cut or dropped, so end the last window at the end kilometre.
- What .fwd holds under Committee Draft 5.0. The extensions list names F25 data, while section 5.7 describes normalised bowls and section 5.7.1 still gives F25 files an .f25 extension. (COTO, 2016i)
This guide describes the layouts; the receiver's loader and rules decide whether a file is accepted.
What should I keep after sending a TMH 18 file set?
Keep six records, as working practice rather than a clause of TMH 18: the file set exactly as sent, the receiver's written answer on the edition, the definition sheet, the network record used for the kilometre check, the row, column and outside-window counts, and the transmittal note. Together these let a reviewer reproduce each check; the reasoning is in what belongs in a survey acceptance pack.
The procedure, step by step
Agree the version with the receiver
Ask which edition the receiver's loader reads, TMH 18 Draft Version 4 (October 2014) or Committee Draft 5.0 (February 2016), and use that edition's column list for every later check. Keep: the receiver's written answer.
Check encoding, delimiter and line ending
Export plain UTF-8 text with semicolon-separated fields and a carriage return and line feed ending each record; TMH 18 says no file header is needed (section 1.1). Keep: the export settings.
Name every file by authority, road and date
Name files by authority, road and date, as in TST_S1_2026102108.cid, where TST is an invented authority code (section 1.3). Write dates as zero-padded year, month, day and hour, and keep extension case (sections 1.2 to 1.6). Keep: the file list.
Give every file one stem and the right extension
Give the network definition, geometry, classification and data files one shared stem, and check each extension against the chosen edition's list (sections 1.6, 2.2, 2.3.1). Send a changed definition first (sections 2.1 and 2.2). Keep: the file list with extensions.
Check the base fields in every record
Check each record has a road identifier on the network record, a start kilometre, an end kilometre (optional only for survey-point data) and a date of survey, with kilometres as 999.999 (section 1.7). Keep: the records sampled and the result.
Keep every empty field
Write a missing value as nothing between two semicolons, because every field must appear in every record or the receiver rejects the file (section 1.1). Do not write 0 for a missing reading. Keep: the field count per record.
Check the kilometre window
Confirm every window lies inside the road's start and end kilometre on the network record valid on the measurement date; values outside are discarded (section 5). Check sections and geometry match the road definition. Keep: the count of windows outside.
Write each column's unit in the definition sheet
State column units in a definition sheet, because a TMH 18 file carries no header. For deflections, TMH 18 section 5.7 prints nanometres but TMH 22 section D.4.5 says micrometres: agree the unit with the receiver. Keep: the definition sheet.
Check the lane codes
Code lanes as P or S for direction plus lane number (1 is the fast lane); shoulders carry a type letter, F or S. Primary is where kilometres increase towards north or east (sections 4.1, 4.2). Keep: the lane convention.
Check that roughness, rut and texture share one record
Put roughness, rut and texture for one road, lane, kilometre window and date in one .cid record (section 5.6); count fields per row: 23 for Draft Version 4, 24 for Committee Draft 5.0. Keep: row and column counts.
Write the transmittal note
Record the edition, file list, road identifier and kilometre window, measurement dates, units, lane convention, row counts and any gap between surveyed and official length. Keep: the note, filed with the file set exactly as sent.
Frequently asked
Which TMH 18 version does my client use?
Ask the receiving authority. TMH 18, the South African road manual on road asset data exchange formats (also written TMH18), asks users for the latest version but does not say which edition a receiver's loader reads. Draft Version 4 (October 2014) and Committee Draft 5.0 (February 2016) lay out the .cid file with 23 and 24 columns, so a wrong guess misaligns every value; record the answer in the transmittal note.
What is a CID file in South African road condition data?
A CID file is a Combined Instrument Data file, the .cid type described in section 5.6 of the South African road manual TMH 18. Each record holds roughness, rut and texture values for one road, lane, kilometre window and measurement date, written as semicolon-separated UTF-8 text. It has no connection to the .cid files used in IEC 61850 substation automation.
What are the TMH 18 file naming rules?
In the South African road manual TMH 18, a data file name follows the pattern authority identifier, road identifier and date, joined by underscores and ending in the extension, as in TST_S1_2026102108.cid (TST is an invented placeholder). The authority identifier is a unique three-to-five-character code issued to each data authority; the date runs year, month, day and hour, zero-padded; extensions are case sensitive (sections 1.2 to 1.6).
Can I leave out a column in a TMH 18 file if I have no data for it?
No. A South African TMH 18 road-data file may not omit a column: TMH 18 states that all fields must be represented in every record or the file will be rejected, and that null fields cannot be omitted. Write a missing value as nothing between two semicolons. Do not write zero in its place: TMH 18 section 4.4 gives that instruction for missing traffic counts, and its .cid examples leave missing texture fields empty.
What happens to values outside a road's start and end kilometre?
The South African road manual TMH 18 states that values falling outside a road's start and end kilometre on its network definition are discarded. For a .cid file, check each window's start and end kilometre against the network record valid on the measurement date, and end the last window at the road's end kilometre, because the manual does not say how a window that crosses the end is treated.
Why do TMH 18 deflection columns say nanometres?
The manual does not say why. In the South African road manual TMH 18, the normalised deflection bowl table in section 5.7 (Table 20 in Committee Draft 5.0) prints nanometres beside its deflection columns, with the example D0 1120 nanometres, while TMH 22 section D.4.5 says micrometres and TMH 13 Part F lists a sensor range of 0 to 2,000 micrometres. State the unit in the definition sheet and agree it with the receiver.
Where this connects
Next, TMH 13 Parts C to F describe how each value is measured and documented; TMH 22 Parts B and D describe the location referencing and condition data behind the window and columns. Last reviewed on 21 October 2026 against TMH 18 Draft Version 4 and Committee Draft 5.0, TMH 13 Committee Draft Final and TMH 22 Draft.
References
- COTO (2014). TMH 18: Road Asset Data Electronic Exchange Formats. Draft Version 4, October 2014. Original source.Sections, tables and clauses are cited inline in each guide
- COTO (2016i). TMH 18: Road Asset Data Electronic Exchange Formats. Committee Draft 5.0, February 2016. Original source.Sections, tables and clauses are cited inline in each guide
- COTO (2013). Draft TMH 22: Road Asset Management Manual. Draft, March 2013. Original source.Sections, tables and clauses are cited inline in each guide
- COTO (2016a). TMH13: Automated Road Condition Assessments. Part C: Roughness. Committee Draft Final, May 2016. Original source.Sections C.2–C.5; Table C.5 is for calibration-section selection
- COTO (2016c). TMH13: Automated Road Condition Assessments. Part B: Positioning. Committee Draft Final, May 2016. Original source.Positioning and distance measurement guidance
- COTO (2016e). TMH 13: Automated Road Condition Assessments. Part D: Rutting. Committee Draft Final, May 2016. Original source.Sections, tables and clauses are cited inline in each guide
- COTO (2016f). TMH 13: Automated Road Condition Assessments. Part E: Skid Resistance and Texture. Committee Draft Final, May 2016. Original source.Sections, tables and clauses are cited inline in each guide
- COTO (2016g). TMH 13: Automated Road Condition Assessments. Part F: Surface Deflection. Committee Draft Final, May 2016. Original source.Sections, tables and clauses are cited inline in each guide
Use the manual edition and project requirements that apply to your work. Worked examples use synthetic values and are not site-specific design advice.