Creating a road network geometry file optimized for RoadAI

A road network geometry is necessary to make full use of RoadAI. The geometry is used to express spatial data in a format that is common to your own road network reference system.

Providing RoadAI with a road network geometry file is a prerequisite for:

  • Exporting data in your reference format, for example, as a spreadsheet or from the RoadAI API
    When uploading RoadAI data into a third-party road asset management system, make sure the road network geometries are identical.
  • Calculating and displaying the address metadata in videos in RoadAI Web

Road network metadata present in a road geometry file can be used in RoadAI as filters and is visible in the video player when inspecting recordings. Additionally, this metadata is used in reports.

Format requirements

GeoJSON is the only format that can be uploaded in RoadAI Web. If your road network geometry is in Shapefile format, follow these steps to convert it to GeoJSON.
  1. Download and install QGIS.
  2. Open QGIS.
  3. In the menu toolbar at the top, go to Layer > Add Layer > Add Vector Layer.
  4. In the Source field, select ... and browse to the location of the Shapefile road network geometry that needs conversion. Select the file and select Add.
  5. Select Close.
  6. Once the file is loaded, go to Layer > Save As. The Save Vector Layer as... window opens.
  7. In the Format field, select GeoJSON.
  8. In the CRS field, select Default CRS: EPSG:4326 - WGS 84.
  9. Type a name for the output GeoJSON file and select a location to save the file.
  10. Select OK to convert the file.

General road network geometry requirements

A road network geometry should be a collection of road segments modeling your road network. A segment is a model of the road segment center line and consists of an ordered collection of points. In the road network, this line can represent an entire road or part of it.

In GeoJSON files, segments are referred to as LineStrings.
important Make sure there are no polygons in the road network geometry.

In RoadAI, a road address consists of a chainage value on a road segment. The chainage value expresses a position as the distance in meters from the beginning of the road segment. For example, a road segment with a length of 1000 m would begin with the chainage reading of 0 m, and end with 1000 m.

When delivering your road network geometry to RoadAI, make sure that the calculated chainage values in RoadAI match with the chainage values in your systems.

In most cases, geometry restructuring is not needed. However, see the following examples where restructuring the geometry is necessary.

  • Avoid gaps between or within roads. Gaps make routing difficult, as segments can get isolated from the rest of the road network.
Figure 1. Road network geometry with gaps
Figure 2. Road network geometry with no gaps
  • Some road network geometries include the concept of milestones. For example, if a road represented by a single LineString is several kilometers long, a separate layer in the geometry can include point objects (milestones) on top of the LineString. However, if you want the chainage value to be 0 at the beginning of each milestone in your address system, the long LineString should be split into several LineStrings.
Figure 3. Milestones instead of multiple LineStrings
Figure 4. Several LineStrings replacing milestones

Metadata requirements

All road network geometries should include metadata.

Address fields
Metadata field Description
segment_id Identifier for road segment
name Human-readable road name
chainage offset (optional) Start chainage of the interval or segment (if available in your metadata)
Address example 1
segment_id chainage offset (optional) name
1440C208__/00120 234 TANYARD FARM ROAD
Address example 2
segment_id chainage offset (optional) name
U2703/2/50 345 FROM TRACK RIGHT AFTER CATTLE GRID NE TO AGILL BRIDGE