Every step between driving a road and handing a deliverable to a client. Manual steps are marked. Everything else is automated.
GnssMonitor records GPS + NMEA. Video stream data captures footage with embedded GPMF telemetry. SurveyApp tracks routes on mobile. Auto-sync every 2 minutes.
Fast parallel upload supporting all survey file types.
| field | type |
|---|---|
| ROAD_ID | text(12) — sender road identifier |
| LANE_CODE | text(4) — direction + lane |
| START_KM | decimal(6,3) — start chainage |
| AVG_IRI_L/R | decimal(3,1) — avg IRI per wheelpath |
| field | type |
|---|---|
| latitude, longitude | float — WGS84 from GPMF |
| speed2d | float — ground speed (km/h) |
| ACCL, GYRO | vec3 — motion sensors |
| dop, fix | uint16 — GPS quality (GPS9) |
| field | type |
|---|---|
| ProductSN | string — equipment serial |
| lIRI, rIRI | float — left/right IRI (mm/m) |
| lMPD, cMPD, rMPD | float — mean profile depth |
| lRD, rRD, maxRD | float — rut depth (mm) |
| field | type |
|---|---|
| station | decimal(6,3) — chainage (km) |
| d1…d11 | int — deflection sensors (nm) |
| force | float — peak load (kN) |
| surfaceTemp | float — surface temp (°C) |
| field | type |
|---|---|
| .shp | file — geometry (polyline / point) |
| .dbf | file — attribute table |
| .shx | file — spatial index |
| .prj | file — coordinate system (WGS84) |
| field | type |
|---|---|
| Placemark | element — named waypoint |
| coordinates | string — lon,lat,alt tuples |
| lat, lon, alt | float — parsed position |
| totalPoints | int — GPS points extracted |
| field | type |
|---|---|
| lat, lon | float — from DDMM.MMMMM |
| fixQuality | int — 0=inv … 4=RTK |
| satellites | int — satellites in use |
| speed_kmh | float — ground speed |
| field | type |
|---|---|
| ERDFILE | string — version e.g. V2.00 |
| SHORTNAM | string — channel names |
| interval | float — sampling interval (m) |
| leftVal, rightVal | float — L/R channel data |
| field | type |
|---|---|
| ROAD_ID | text — road identifier |
| DEF_0…DEF_2100 | int(4) — 13 deflection sensors |
| BLI, MLI, LLI | int(4) — layer indices |
| PEAK_LOAD | decimal(4,2) — load (kN) |
| field | type |
|---|---|
| Name | string — project name |
| Operator | string — surveyor name |
| DriveIds[] | array — drive identifiers |
| gpsPoints[] | array — telemetry positions |
| field | type |
|---|---|
| Sheet / Tab | string — instrument channel name |
| Chainage | decimal(6,3) — station (km) |
| IRI_L, IRI_R | float — left/right IRI (mm/m) |
| MPD, SMTD, Rut | float — texture & profile metrics |
| field | type |
|---|---|
| Station | decimal(6,3) — chainage (km) |
| Lat, Lon | float — WGS84 position |
| IRI, MPD | float — instrument readings |
| Speed | float — survey speed (km/h) |
| field | type |
|---|---|
| frames/ | dir — chainage-named .jpg images |
| *.cid | file — TMH18 instrument data |
| *.xlsx | file — direction workbook |
| *.geojson | file — route geometry |
GPMF telemetry extraction. FFmpeg frames at ~5m GPS spacing. GPS fusion, chapter consolidation, and instrument file parsing.
GPS track on map. Telemetry charts synced to chainage. IRI heatmap with TRH12 threshold bands. FWD benchmarks. MPD, SMTD, and rut analysis. Frame viewer with GPS outlier detection. Video group management.
TMH9 visual assessment with 30+ distress types, degree and extent ratings per COTO standards. Flexible and unpaved road forms. Draft → Submitted → Approved lifecycle.
Standards-compliant deliverables packaged per road link. Approve and publish directly to client portal.
Definitions, exact thresholds, formulas, worked examples and interactive figures for every standard RoadSense reports against.
IRI condition classes, the Golden Car model and ASTM E1926.
The §19 CID exchange format submitted to COTO.
IRI bands by road category and the rut Sound/Warning/Severe thresholds.
MPD→ETD conversion and SFC skid-resistance limits.
Deflection bowl parameters D0, BLI, MLI, LLI.
RoadSense is invitation-only. Tell us about your survey operations and we'll set up your organisation.
| field | type |
|---|---|
| ROAD_ID | text(12) — sender road identifier |
| LANE_CODE | text(4) — direction + lane e.g. P1, N2 |
| START_KM | decimal(6,3) — start chainage (km) |
| END_KM | decimal(6,3) — end chainage (km) |
| MEASURE_DATE | datetime — YYYYMMDD HH24:MI:SS |
| AVG_IRI_L | decimal(3,1) — avg IRI left wheelpath (m/km) |
| AVG_IRI_R | decimal(3,1) — avg IRI right wheelpath (m/km) |
| IRI_L_STDV | decimal(3,1) — IRI left std deviation |
| IRI_R_STDV | decimal(3,1) — IRI right std deviation |
| AVG_HRI | decimal(3,1) — average half-car roughness |
| HRI_STDV | decimal(3,1) — HRI std deviation |
| AVG_RUT_L | decimal(4,1) — avg rut left (mm) |
| AVG_RUT_R | decimal(4,1) — avg rut right (mm) |
| RUT_L_STDV | decimal(4,1) — rut left std deviation |
| RUT_R_STDV | decimal(4,1) — rut right std deviation |
| AVG_MPD_L | decimal(3,2) — avg MPD left wheelpath |
| AVG_MPD_C | decimal(3,2) — avg MPD centre |
| AVG_MPD_R | decimal(3,2) — avg MPD right wheelpath |
| MPD_STDV_L | decimal(3,2) — MPD std deviation left |
| MPD_STDV_C | decimal(3,2) — MPD std deviation centre |
| MPD_STDV_R | decimal(3,2) — MPD std deviation right |
| START_LONGITUDE | decimal(12,9) — WGS84 longitude |
| START_LATITUDE | decimal(12,9) — WGS84 latitude |
| field | type |
|---|---|
| latitude | float — WGS84 decimal degrees (GPS5/GPS9) |
| longitude | float — WGS84 decimal degrees |
| altitude | float — metres above sea level |
| speed2d | float — 2D ground speed (m/s → km/h) |
| speed3d | float — 3D speed incl. vertical (m/s) |
| timestamp | ISO string — from GPS9 daysSince2000 + seconds |
| dop | uint16 — dilution of precision (GPS9) |
| fix | uint16 — fix type (GPS9) |
| ACCL | vec3 — accelerometer x, y, z (m/s²) |
| GYRO | vec3 — gyroscope x, y, z (rad/s) |
| CORI | quaternion — camera orientation |
| GRAV | vec3 — gravity vector |
| field | type |
|---|---|
| Header metadata | |
| ProductSN | string — equipment serial number |
| StartStation | float — start chainage (km) |
| Direction | enum — + or − |
| Interval | float — sampling interval (m) |
| TestDate | date — date of survey |
| Lane | string — lane code |
| Section | string — road section identifier |
| IRI sub-type | |
| start, end | float — chainage range (m) |
| speed | float — survey speed (km/h) |
| lIRI, rIRI | float — left/right IRI (mm/m) |
| lat, lon | float — WGS84 position |
| MPD sub-type | |
| start, end | float — chainage range (m) |
| lMPD, cMPD, rMPD | float — L/C/R mean profile depth (mm) |
| lat, lon | float — WGS84 position |
| Rut depth sub-type | |
| start, end | float — chainage range (m) |
| lRD, rRD | float — left/right rut depth (mm) |
| maxRD | float — maximum rut depth (mm) |
| lat, lon | float — WGS84 position |
| SMTD sub-type | |
| lSMTD, cSMTD, rSMTD | float — L/C/R surface macrotexture |
| GNSS sub-type | |
| station, lat, lon | float — chainage + position |
| Binary profile sub-type | |
| station | float — from StartStation + DMIInterval |
| leftElev, rightElev | float32 — left/right elevation |
| field | type |
|---|---|
| 5 header lines: format, serial, sensor config, offsets | |
| time | ISO datetime — test timestamp |
| location | string — location description |
| section | string — road section identifier |
| lane | string — lane code |
| station | decimal(6,3) — chainage (km) |
| direction | string — up / down |
| lat, lon | float — WGS84 decimal degrees |
| dropId | int — drop sequence number |
| surfaceTemp | float — surface temperature (°C) |
| ambientTemp | float — air temperature (°C) |
| asphaltTemp | float — asphalt temperature (°C) |
| force | float — peak load (kN) |
| pressure | float — contact pressure |
| d1…d11 | int — deflection sensors 1–11 (nm) |
| eMpa | float — back-calculated modulus (MPa) |
| pulseTime | float — pulse duration (ms) |
| field | type |
|---|---|
| Required files (client upload) | |
| .shp | file — geometry (PolyLine / Point) |
| .dbf | file — dBASE attribute table |
| .shx | file — spatial index (byte offsets) |
| .prj | file — coordinate system definition (WGS84 / Hartebeesthoek94) |
| Attribute table fields (.dbf) | |
| ROAD_ID | text(20) — client road identifier |
| ROAD_NAME | text(80) — road name / description |
| SECTION_ID | text(20) — section or segment code |
| START_KM | decimal(8,3) — start chainage (km) |
| END_KM | decimal(8,3) — end chainage (km) |
| LENGTH_KM | decimal(8,3) — segment length (km) |
| SURF_TYPE | text(20) — surface type (asphalt / gravel / concrete) |
| LANES | int — number of lanes |
| CLASS | text(10) — road class (N / R / MR / DR) |
| AUTHORITY | text(40) — road authority / municipality |
| field | type |
|---|---|
| Placemark | element — named waypoint or route |
| coordinates | string — lon,lat,alt tuples |
| LineString | element — GPS track geometry |
| lat | float — decimal degrees (parsed) |
| lon | float — decimal degrees (parsed) |
| alt | float — altitude in metres (0 if absent) |
| coordinateBlocks | int — number of coordinate groups |
| totalPoints | int — total GPS points extracted |
| field | type |
|---|---|
| Tab-separated: PC_timestamp → NMEA sentence | |
| $GPGGA fields | |
| lat, lon | float — converted from DDMM.MMMMM |
| alt | float — MSL altitude (m) |
| satellites | int — satellites in use |
| hdop | float — horizontal dilution of precision |
| fixQuality | int — 0=inv, 1=GPS, 2=DGPS, 4=RTK |
| $GPRMC / $GNRMC fields | |
| gnss_datetime_utc | ISO string — full date + time |
| speed_kmh | float — ground speed (km/h) |
| course_deg | float — course over ground (deg) |
| $PTNL,GGK (Trimble) | |
| ellipsoid_height_m | float — ellipsoidal height (m) |
| $GPVTG | |
| course_deg | float — true track (degrees) |
| speed_kmh | float — ground speed (km/h) |
| field | type |
|---|---|
| Header block (terminated by END) | |
| ERDFILE | string — version e.g. V2.00 |
| numPoints | int — total data points |
| interval | float — sampling interval (m), default 0.025 |
| SHORTNAM | string — channel names e.g. LIRI RIRI |
| UNITSNAM | string — measurement units |
| XLABEL | string — x-axis label |
| XUNITS | string — x-axis units |
| Data rows (two floats per line) | |
| start | float — station (m) auto-incremented |
| leftVal | float — left channel (IRI/MPD/SMTD/RD) |
| rightVal | float — right channel |
| maxRD | float — max rut depth (profile sub-type only) |
| field | type |
|---|---|
| ROAD_ID | text — road identifier |
| LANE_CODE | text — direction + lane |
| SURVEY_KM | decimal(6,3) — test point (km) |
| DATE | datetime — YYYYMMDD HH24:MI:SS |
| TEMP_AIR | decimal(3,2) — air temp (°C) |
| TEMP_SURFACE | decimal(3,2) — surface temp (°C) |
| PEAK_LOAD | decimal(4,2) — applied load (kN) |
| DROP_NUM | int(2) — drop sequence number |
| DEF_0 | int(4) — deflection at plate centre (nm) |
| DEF_200…DEF_2100 | int(4) — 12 sensor offsets (nm) |
| PULSE_DURATION | decimal(4,2) — pulse time (ms) |
| BLI | int(4) — base layer index D0−D300 |
| MLI | int(4) — middle layer index D300−D600 |
| LLI | int(4) — lower layer index D600−D900 |
| START_LONGITUDE | decimal(12,9) — WGS84 longitude |
| START_LATITUDE | decimal(12,9) — WGS84 latitude |
| field | type |
|---|---|
| RSP project.json | |
| Name | string — project name |
| Description | string — project description |
| ProjectFolder | string — local folder path |
| CreatedDate | ISO datetime — UTC creation time |
| SiteLocation | string — site location text |
| Operator | string — surveyor/operator name |
| AllocationId | string — fleet route allocation ID |
| DriveIds[] | array — associated drive identifiers |
| KmlRouteFiles[] | array — KML filenames in project |
| telemetry.json (processed video) | |
| gpsPoints[] | array — lat, lon, alt, speed, accuracy |
| gpmfMetadata | object — duration, distance, pointCount |
| telemetrySummary | object — accel/gyro statistics |
| field | type |
|---|---|
| Raw data package | |
| {camera}-{dir}.zip | archive — per camera-direction frame JPEGs |
| cid-{dir}-lane{N}.xlsx | workbook — CID per direction + lane |
| all.zip | archive — everything combined |
| Client download package | |
| frames/ | dir — chainage-named .jpg images |
| *.cid | file — TMH18 combined instrument data |
| *.csv | file — GPS track + summary exports |
| *.geojson | file — route geometry |
| *.xlsx | file — direction workbook |
| Frame naming convention | |
| {cam}_{dir}_{ch7}_{route}.jpg | string — chainage-named frame |