Testbed Integration
  • 17 Aug 2021
  • 2 Minutes to read
  • Contributors
  • Dark
  • PDF

Testbed Integration

  • Dark
  • PDF


Safety Pool provides the ability for users to match up scenarios with real-world locations where scenarios can be executed based on the features in a scenario matching up with features on sections of real-world roads or private test tracks. This is achieved by encoding data about real-world locations and utilising this in Safety Pool to provide users with maps of testing locations and the road features that exist there.

If you operate a testbed, or testing facility, or would like a real-world location adding to Safety Pool for the benefit of Safety Pool users then we can work with you to make this possible. To incorporate a test bed into Safety Pool, we require data for the testbed to be supplied in a specific format which is outlined below.

Data Preparation
We recommend that you contact us in the first instance to discuss the requirements so that we can provide you with guidance and further details on the process.

Supplying Testbed data

A testbed first needs to be split up in to route sections, one way of doing this is by using road junctions as the delimiters between route sections.

Each route section must then be encoded to an individual GeoJSON file which describes the geographic layout of the route section and a corresponding set of road features present along the section of route.

Within a GeoJSON file, the geometry element must use a LineString type to define the route section using World Geodetic System 1984 (WGS84) coordinates. If you do not have the coordinate data for a testbed then you can use a tool such as GeoJSON.io which allows you to draw a route over a map and export it as a GeoJSON file.

Each route section should be assigned a unique name, which is used as a short user-friendly name for the route section, and also a description which is a brief description of the route section – again this should be user-friendly as users will see it in Safety Pool when viewing the route section on a map. The name and description should be recorded in the feature properties section of the file as follows:

    "type": "FeatureCollection",
    "features": [
            "type": "Feature",
            "properties": {
                "Name": "A46",
                "Description": "Cheylesmore & Stivichall Bypass/Leaf Lane to London Road/Bar Road"

The road features present along a route section should be determined according to the definitions contained in the BSI PAS 1883 ODD Taxonomy, and then recorded in the feature properties section of the file using corresponding tag contained in the following mapping.

For example, for a cycle lane, the tag to use is LaneTypeCycle, and would appear in the GeoJSON file as follows;

"LaneTypeCycle": null

Some road features, e.g. lane dimensions, allow a value or range of values to be specified.

To specify a single value for a road feature:

"LaneSpecificationLaneCount": ["2"]

 To specify a range of values for a road feature:

"LaneSpecificationDimensions": [{"min": "4.0","max": "4.2"}]

Sample Testbed file

The following file is an example of a GeoJSON file containing a definition of a route section.

Download file

BSI PAS 1883 ODD Taxonomy tag mappings

The following file contains the mappings between the BSI ODD taxonomy and the corresponding tags used in Safety Pool.

Download file

Was this article helpful?