Skip to main content

Roads

In the Overture transportation theme, a road is any kind of road, street, or path, including a dedicated paths for walking or cycling. (Railways and waterways are separate subtypes in the transportation schema.) Road segments comprise the majority of ground-based transportation segments. Roads are modeled using segment features with the subtype property value set to the value road.

This document describes properties specific to the road subtype. For more general information regarding segments, please refer to the segments concept overview.

Subclass

The subclass property refines the descriptions of segments by:

  • clearly specifying the usage of a length of road, and using linear referencing instead of further segmentation to pinpoint a change in how the road is used
  • properly classifying detailed information from OpenStreetMap

Subclasses require non-overlapping geometries, which will make it easier for routing engines to consume our road data and generate turn-by-turn directions. The class and subclass structures allow us to capture more information about roads from our data sources. For example, we’ve been able to move more than 30 million “unknown” road segments from OSM into subclasses, laying the groundwork for richer and more detailed map displays with Overture data.

Surface

The road_surface property of a road indicates its physical surface. If omitted, a reasonable default value should be assumed based on the class and subclass.

Like many road segment properties, the road_surface property supports geometric scoping (linear referencing). Consequently, the effective road surface may vary along different sub-ranges of a road segment's geometry.

Restrictions

Access restrictions

Access restrictions on a road segment specify who is allowed to use the road, and under what circumstances.

Every road segment has an implied set of access restrictions defined by its road class and local rules, norms, and customs. (The Overture transportation schema does not specify these implied access restrictions, which are left to the specific application to resolve.)

The implied access restrictions may be modified for the road segment as a whole by providing an explicit value for the property access_restrictions.

It is technically possible to specify a blanket access grant or refusal of access applying to everyone and everything; but where, as is typical, a more precise outcome is needed, one or more rules will be used to specify access restrictions. As with all rule-based properties, if no rule matches the specific facts, then the default restrictions for the road class govern.

---
id: access-restrictions-segment-blanket
type: Feature
geometry:
type: LineString
coordinates:
- [0, 0]
- [0, 1]
properties:
theme: transportation
type: segment
version: 1
subtype: road
class: residential
access_restrictions:
- access_type: denied

Turn restrictions

Turn restrictions on a road segment limit the transitions which are allowed from that segment into other physically connected segments.

Every road segment has an implied set of allowed transitions defined by its access restrictions as well as local rules, norms, and customs. An example of a transition restriction implied by an access restriction, if the segment can only be used along the forward heading, then it is implied that no transitions are allowed to any connected segments if travelling along the backward heading. An example of a transition restriction implied by a local rule or norm would be a blanket prohibition on U-turns in a given jurisdiction. (The Overture transportation schema does not specify these local rules, norms, and customs, which are left to the specific application to resolve.)

Overture takes a permissive-by-default approach to transition restrictions. By default, all implied transitions are allowed. The set of allowed transitions may be reduced by adding explicit transition restrictions in the prohibited_transitions property.

Turn restrictions come in two flavors: simple and via: a simple turn restriction allows a simple regulation to be stated, such as "No right turn onto Elm Street"; a via restriction covers more elaborate cases where the sequence of maneuvers is important.

A simple transition restriction prohibiting a right turn.A simple transition restriction prohibiting a right turn.

Prohibited right turn from "source" to "target" segment at connector 2.

Source segment
---
id: overture:transportation:example:simple-turn-restriction-source
type: Feature
geometry:
type: LineString
coordinates:
- [-113.57822030759499, 50.01868388494378]
- [-113.57831482025354, 50.018860947117304]
- [-113.57851814418316, 50.01923724443006]
properties:
theme: transportation
type: segment
version: 5
subtype: road
class: secondary
connectors:
- connector_id: overture:transportation:example:via-turn-restriction-connector1
at: 0
- connector_id: overture:transportation:example:via-turn-restriction-connector2
at: 1
prohibited_transitions:
- sequence:
- segment_id: overture:transportation:example:simple-turn-restriction-target
connector_id: overture:transportation:example:simple-turn-restriction-connector2
final_heading: forward
when: {heading: forward}
Connector 1

This connector is not an important part of the example, since it does not participate in the turn restriction, but it is included to bring real-world context to the example.

---
id: overture:transportation:example:simple-turn-restriction-connector1
type: Feature
geometry:
type: Point
coordinates: [-113.57831482025354, 50.018860947117304]
properties:
theme: transportation
type: connector
version: 0
Exit segment

This segment is not an important part of the example, since all implied transitions are allowed on it. We include it to bring real-world context to the example.

---
id: overture:transportation:example:simple-turn-restriction-exit
type: Feature
geometry:
type: LineString
coordinates:
- [-113.57831482025354, 50.018860947117304]
- [-113.5783121688577, 50.019016827708754]
- [-113.57829228338763, 50.019079861246865]
- [-113.57826444373009, 50.019121599625294]
- [-113.57816369068271, 50.01919400284882]
properties:
theme: transportation
type: segment
version: 1
subtype: road
class: secondary
connectors:
- connector_id: overture:transportation:example:via-turn-restriction-connector1
at: 0
- connector_id: overture:transportation:example:via-turn-restriction-connector2
at: 1
Connector 2

The right turn from the source segment (forward heading) to the target segment (forward heading) is prohibited at this connector.

---
id: overture:transportation:example:simple-turn-restriction-connector2
type: Feature
geometry:
type: Point
coordinates: [-113.57851814418316, 50.01923724443006]
properties:
theme: transportation
type: connector
version: 1
Target segment

Traffic heading forward on the source segment may not enter this segment heading forward, i.e. the right turn from the source segment to this segment is prohibited.

---
id: overture:transportation:example:simple-turn-restriction-target
type: Feature
geometry:
type: LineString
coordinates:
- [-113.57851814418316, 50.01923724443006]
- [-113.57837460847787, 50.01919574268962]
- [-113.57812342099429, 50.01919343703648]
- [-113.57803729957116, 50.01923263312719]
- [-113.57766410673773, 50.01923263312719]
properties:
theme: transportation
type: segment
version: 1
subtype: road
class: secondary
connectors:
- connector_id: overture:transportation:example:via-turn-restriction-connector1
at: 0
- connector_id: overture:transportation:example:via-turn-restriction-connector2
at: 1
Connector 3

This connector is not an important part of the example, since it does not participate in the turn restriction, but it is included to bring real-world context to the example.

---
id: overture:transportation:example:simple-turn-restriction-connector3
type: Feature
geometry:
type: Point
coordinates: [-113.57816369068271, 50.01919400284882]
properties:
theme: transportation
type: connector
version: 1

Speed limits

Speed limits restrict the speed at which travel is permitted on a road. Typically speed limits specify maximum allowed speeds, but the Overture also allows minimum speed limits to be set and variable speed corridors to be indicated.

Every road segment has an implied speed limit or set of speed limits defined by its road class and local rules, norms, and customs. Note: as with access and turn restrictions, the Overture transportation schema does not attempt to specify these implied speed limits.

The implied speed limits may be configured for the whole road segment by providing an explicit value for the property speed_limits.

As with access restrictions and turn restrictions, speed limits can be specified using rules.

---
id: speed-limits-simple
type: Feature
geometry:
type: LineString
coordinates:
- [-123.09348187774302, 49.280278741717865]
- [-123.0895720621171, 49.280195795155265]
properties:
theme: transportation
type: segment
version: 1
subtype: road
class: residential
speed_limits:
- max_speed:
value: 30
unit: km/h