Annex F: Checker rules (normative)

Checker rule concept

Checker rules are semantic and syntactic requirements that shall be applied to a scenario. ASAM OpenDRIVE defines a basic set of rules that enforce compliance with the standard, as well as additional rules with recommendations in accordance with ASAM OpenDRIVE. Rules consist of a name, an UID (a unique identifier of the check), and a description that specifies the requirements for the scenario.

Rule UID Concepts

The UID is a string that encapsulates a sequence of concepts that allow to identify immediately a rule across the different domains. The concepts are ordered and separated via the separation character :.

The concepts for a rule UID are:

  • Emanating Entity: a domain name for the entity (organization or company) that declares the rule UID

  • Standard: a short string that represents the standard or the domain to which the rule is applied

  • Definition Setting: the version of the standard or the domain to which the rule appears or is applied for the first time

  • Rule Full Name: the full name of the rule, as dot-separated, snake_lower_case string. The full name of a rule is composed by the rule set, a categorization for the rule, and the rule name, a unique string inside the categorization. The rule set can be nested (meaning that it can be defined as an arbitrary sequence of dot-separated names, while the name is the snake_case string after the last dot of the full name)

To provide a visual description for a rule UID:

<emanating-entity>:<standard>:x.y.z:rule_set.for_rules.rule_name

Third party rule UID creators (i.e., emanating entities different than ASAM) should still fill all the concepts above. If that is not possible, concepts shall be left blank, but separation : is still required (i.e., example.com:::rulename is valid).

UIDs are designed to be queried, e.g., implementations may use UNIX pattern matching.

Visit the ASAM Quality Checker Framework documentation to see detailed information on how and which checks are implemented.

F.1 defaultRegulations

F.1.1 only_speed_priority

UID

asam.net:xodr:1.8.0:defaultRegulations.only_speed_priority

Description

Only <speed> and <priority> elements shall be used within the <defaultRegulations> element.

F.2 header

F.2.1 offset

F.2.1.1 centered_coords

UID

asam.net:xodr:1.7.0:header.offset.centered_coords

Description

The <offset> element should be such that the x and y coordinates of ASAM OpenDRIVE are approximately centered around (0;0). If the x and y coordinates are too large, applications using float coordinates internally might not be able to process them accurately enough due to the limited precision of IEEE 754 double precision floating point numbers.

F.2.2 proj

F.2.2.1 max_one_proj

UID

asam.net:xodr:1.9.0:header.proj.max_one_proj

Description

There shall be no more than one definition of the projection. If the definition is missing, a local Cartesian coordinate system is assumed.

F.3 ids

F.3.1 id_unique_in_class

UID

asam.net:xodr:1.4.0:ids.id_unique_in_class

Description

IDs shall be unique within a class.

F.3.2 id_unique_in_lane_section

UID

asam.net:xodr:1.4.0:ids.id_unique_in_lane_section

Description

Lane IDs shall be unique within a lane section.

F.3.3 only_ref_defined_ids

UID

asam.net:xodr:1.4.0:ids.only_ref_defined_ids

Description

Only defined IDs may be referenced.

F.4 junctions

F.4.1 no_overlap

UID

asam.net:xodr:1.4.0:junctions.no_overlap

Description

No junctions of any type shall overlap each other.

F.4.2 type_default_no_linked_road

UID

asam.net:xodr:1.7.0:junctions.type_default_no_linked_road

Description

The <connection> element of a junction of @type="default" or @type="virtual" shall not have the @linkedRoad attribute.

F.4.3 type_direct_no_conn_road

UID

asam.net:xodr:1.7.0:junctions.type_direct_no_conn_road

Description

The <connection> element of a junction of @type="direct" shall not have the @connectingRoad attribute.

F.4.4 boundary

F.4.4.1 close_gap_with_new_roads

UID

asam.net:xodr:1.8.0:junctions.boundary.close_gap_with_new_roads

Description

If the existing roads are not sufficient to define a closed junction boundary, additional roads shall be defined for the missing segments.

F.4.4.2 only_for_common_junctions

UID

asam.net:xodr:1.8.0:junctions.boundary.only_for_common_junctions

Description

Junction boundaries are currently only valid for common junctions.

F.4.4.3 segments_close_boundry

UID

asam.net:xodr:1.8.0:junctions.boundary.segments_close_boundry

Description

Segments shall close the entire junction boundary.

F.4.4.4 segments_counter_clockwise_order

UID

asam.net:xodr:1.8.0:junctions.boundary.segments_counter_clockwise_order

Description

Segments shall be ordered counter clockwise.

F.4.4.5 segments_for_each_conn_road

UID

asam.net:xodr:1.8.0:junctions.boundary.segments_for_each_conn_road

Description

Segments shall be defined to reach the start or end of all roads connected to the junction.

F.4.5 common

F.4.5.1 direct_junction_attributes

UID

asam.net:xodr:1.8.0:junctions.common.direct_junction_attributes

Description

The @overlapZone attribute shall only be specified for direct junctions.

F.4.5.2 junctions_no_pred_succ

UID

asam.net:xodr:1.4.0:junctions.common.junctions_no_pred_succ

Description

Unlike roads, junctions do not have a predecessor or successor.

F.4.5.3 not_only_two

UID

asam.net:xodr:1.9.0:junctions.common.not_only_two

Description

Junctions should not be used when only two roads meet.

F.4.5.4 virtual_junction_attributes

UID

asam.net:xodr:1.5.0:junctions.common.virtual_junction_attributes

Description

The @mainRoad, @orientation, @sStart and @sEnd attributes shall only be specified for virtual junctions.

F.4.5.5 when_to_use

UID

asam.net:xodr:1.4.0:junctions.common.when_to_use

Description

Junctions shall only be used when roads cannot be linked directly. They clarify ambiguities for the linking. Ambiguities are caused when a road has two or more possible predecessor or successor roads.

F.4.6 connection

F.4.6.1 connect_road_no_incoming_road

UID

asam.net:xodr:1.4.0:junctions.connection.connect_road_no_incoming_road

Description

Connecting roads shall not be incoming roads.

F.4.6.2 end_opposite_linkage

UID

asam.net:xodr:1.7.0:junctions.connection.end_opposite_linkage

Description

The value end shall be used to indicate that the connecting road runs along the opposite direction of the linkage indicated in the <laneLink> element

F.4.6.3 lane_change_one_con_road

UID

asam.net:xodr:1.7.0:junctions.connection.lane_change_one_con_road

Description

By one connecting road with multiple <laneLink> elements for the connections between the lanes.

F.4.6.4 connect_road_no_incoming_road

UID

asam.net:xodr:1.9.0:junctions.connection.no_connecting_road_direct

Description

The @connectingRoad attribute shall not be used for junctions with @type="direct".

F.4.6.5 no_lane_change_for_mult_con_roads

UID

asam.net:xodr:1.7.0:junctions.connection.no_lane_change_for_mult_con_roads

Description

By multiple connecting roads, each with one <laneLink> element for the connection between two specific lanes. Lane changes within this junction are not possible.

UID

asam.net:xodr:1.8.0:junctions.connection.one_link_to_incoming

Description

There shall only be one <connection> for a specific combination of @incomingRoad and @connectingRoad. For each <connection>, its <laneLink> elements shall only be specified for the lanes that lead into the junction.

F.4.6.7 connect_road_no_incoming_road

UID

asam.net:xodr:1.9.0:junctions.connection.smooth_fit

Description

The linked lanes shall fit smoothly as described for roads (see Section 10.3, "Road linkage").

F.4.6.8 start_along_linkage

UID

asam.net:xodr:1.7.0:junctions.connection.start_along_linkage

Description

The value start shall be used to indicate that the connecting road runs along the linkage indicated in the <laneLink> element.

F.4.7 crossing

F.4.7.1 only_one_high_prio

UID

asam.net:xodr:1.8.0:junctions.crossing.only_one_high_prio

Description

Only one road defined by the @roadId attributes of the <roadSection> elements shall have high priority.

F.4.7.2 only_road_sections

UID

asam.net:xodr:1.8.0:junctions.crossing.only_road_sections

Description

Junctions with @type="crossing" shall only have <roadSection> elements.

F.4.7.3 s_start_end_coverage

UID

asam.net:xodr:1.8.0:junctions.crossing.s_start_end_coverage

Description

The values for the @sStart and @sEnd attributes of the <roadSection> elements shall at least cover the area where the roads overlap.

F.4.8 cross_path

F.4.8.1 correct_junction_id

UID

asam.net:xodr:1.8.0:junctions.cross_path.correct_junction_id

Description

The @junction attribute shall contain the id of the junction to which a road belongs.

F.4.8.2 disregard_cross_road_evelation

UID

asam.net:xodr:1.8.0:junctions.cross_path.disregard_cross_road_evelation

Description

The elevations of the crossing road defined by the @crossingRoad attribute of the <crossPath> element are disregarded.

F.4.8.3 lane_linkage

UID

asam.net:xodr:1.8.0:junctions.cross_path.lane_linkage

Description

Start and end of the crossing road shall reach the linked lanes specified by the <startLaneLink> and <endLaneLink> elements.

F.4.8.4 only_connect_correct_type

UID

asam.net:xodr:1.8.0:junctions.cross_path.only_connect_correct_type

Description

Cross paths shall only connect lanes with @type="walking" or @type="biking".

F.4.8.5 start_end_contained

UID

asam.net:xodr:1.8.0:junctions.cross_path.start_end_contained

Description

The start and end points of the crossing road and its lanes shall be fully contained within the linked lanes specified by the <startLaneLink> and <endLaneLink> elements.

F.4.8.6 within_junction_area

UID

asam.net:xodr:1.8.0:junctions.cross_path.within_junction_area

Description

Cross paths shall be within the area of a common junction or a virtual junction.

F.4.9 direct

F.4.9.1 connecting_road_attribute_usage

UID

asam.net:xodr:1.7.0:junctions.direct.connecting_road_attribute_usage

Description

The @connectingRoad attribute shall not be used for junctions with @type="direct".

F.4.9.2 correct_type_linked_road_usage

UID

asam.net:xodr:1.7.0:junctions.direct.correct_type_linked_road_usage

Description

The @linkedRoad attribute shall only be used for junctions with @type="direct".

F.4.9.3 flat_exits_entries

UID

asam.net:xodr:1.8.0:junctions.direct.flat_exits_entries

Description

Currently only flat entries and exits can be modeled by overlapping direct junctions.

F.4.9.4 linked_lane_smoothness

UID

asam.net:xodr:1.7.0:junctions.direct.linked_lane_smoothness

Description

The linked lanes shall fit smoothly as described for roads (see Section 10.3, "Road linkage").

F.4.9.5 overlap_zone_coverage

UID

asam.net:xodr:1.8.0:junctions.direct.overlap_zone_coverage

Description

The value of the @overlapZone attribute shall cover at least the overlapping area, but may be larger.

F.4.9.6 overlap_zone_exclusivity

UID

asam.net:xodr:1.8.0:junctions.direct.overlap_zone_exclusivity

Description

Only one pair of <laneLink> elements shall have @overlapZone attributes to define the overlapping lanes.

F.4.9.7 road_connectivity

UID

asam.net:xodr:1.8.0:junctions.direct.road_connectivity

Description

Direct junctions shall connect one road on one side with multiple roads on the other side.

F.4.9.8 road_ramp_heading

UID

asam.net:xodr:1.7.0:junctions.direct.road_ramp_heading

Description

The junction shall be placed where the headings of road, ramp, or slip lane are identical.

F.4.9.9 split_or_merge

UID

asam.net:xodr:1.8.0:junctions.direct.split_or_merge

Description

Direct junctions shall only be used for splitting or merging roads without crossing traffic.

F.4.10 elevation_grid

F.4.10.1 entry_exit_smoothness

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.entry_exit_smoothness

Description

For junction entries and exits, a smooth transition should be assured.

F.4.10.2 only_one_elev_grid

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.only_one_elev_grid

Description

A junction shall have only one elevation grid.

F.4.10.3 perpendicular_vectors

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.perpendicular_vectors

Description

The elevation grid shall be defined with vectors perpendicular to the junction reference line.

F.4.10.4 polynome_coefficient_values

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.polynome_coefficient_values

Description

The coefficients \(c\) and \(d\) of the polynoms shall be 0 if there are not enough support points in the elevation grid to calculate them.

F.4.10.5 valid_for_entire_boundry

UID

asam.net:xodr:1.8.0:junctions.elevation_grid.valid_for_entire_boundry

Description

If a junction boundary is defined, the elevation grid shall be valid for the area enclosed by the junction boundary.

F.4.11 geometry

F.4.11.1 correct_junction_boundry

UID

asam.net:xodr:1.8.0:junctions.geometry.correct_junction_boundry

Description

If a junction boundary is specified, a junction reference line shall cross the junction boundary or be at least tangent to the junction boundary at one point.

F.4.11.2 only_one_line_element

UID

asam.net:xodr:1.8.0:junctions.geometry.only_one_line_element

Description

Junction reference lines shall be defined by one <geometry> element. This <geometry> element shall have only one <line> element.

F.4.11.3 ref_line_definition

UID

asam.net:xodr:1.8.0:junctions.geometry.ref_line_definition

Description

The <geometry> element of a junction reference line shall be defined in a way that every point of the junction can be reached with a perpendicular straight line.

F.4.12 priority

F.4.12.1 high_and_low_attr

UID

asam.net:xodr:1.8.0:junctions.priority.high_and_low_attr

Description

<priority> elements shall be defined with a pair of one @high and one @low attribute.

F.4.12.2 no_signals

UID

asam.net:xodr:1.7.0:junctions.priority.no_signals

Description

<priority> elements should only be used if there are no signals defined.

F.4.13 virtual

F.4.13.1 connecting_roads_start_end

UID

asam.net:xodr:1.9.0:junctions.virtual.connecting_roads_start_end

Description

All connecting roads within the virtual junction shall either start or end at @sStart or at @sEnd.

F.4.13.2 heading_equal_mainroad

UID

asam.net:xodr:1.9.0:junctions.virtual.heading_equal_mainroad

Description

The heading of the connecting roads and the @mainRoad shall be equal at @sStart and at @sEnd.

F.4.13.3 linked_lanes_smooth_fit

UID

asam.net:xodr:1.9.0:junctions.virtual.linked_lanes_smooth_fit

Description

The linked lanes shall fit smoothly (see Section 10.3, "Road linkage").

F.4.13.4 main_road_only

UID

asam.net:xodr:1.9.0:junctions.virtual.main_road_only

Description

Virtual junctions shall be used for branches off the main road only. The main road has priority if not specified otherwise.

F.4.13.5 no_controllers

UID

asam.net:xodr:1.9.0:junctions.virtual.no_controllers

Description

Virtual junctions shall not have controllers and therefore no traffic lights.

F.4.13.6 only_one_start_end

UID

asam.net:xodr:1.9.0:junctions.virtual.only_one_start_end

Description

There shall only be one @sStart and one @sEnd attribute for the virtual junction.

F.4.13.7 connections

only_virtual_junctions
UID

asam.net:xodr:1.9.0:junctions.virtual.connections.only_virtual_junctions

Description

Virtual connections shall only be defined in virtual junctions.

F.4.13.8 crossPath

cross_road_check_s_t
UID

asam.net:xodr:1.8.0:junctions.virtual.crossPath.cross_road_check_s_t

Description

The crossing road shall not exceed the values for s and t of the main road defined by the @roadAtStart and @roadAtEnd attributes.

F.5 performance

F.5.1 avoid_redundant_info

UID

asam.net:xodr:1.8.1:performance.avoid_redundant_info

Description

Redundant elements should be avoided, such as elevation or laneSection nodes for consecutive s-coordinates with identical attributes, or multiple geometry nodes for straight lines.

F.6 road

F.6.1 length_sum_geometries

UID

asam.net:xodr:1.9.0:road.length_sum_geometries

Description

The road length should be the sum of the lengths of all <geometry> elements

F.6.2 no_overlap_outside_junction

UID

asam.net:xodr:1.4.0:road.no_overlap_outside_junction

Description

Roads outside a junction shall not overlap.

F.6.3 no_overlap_self

UID

asam.net:xodr:1.4.0:road.no_overlap_self

Description

A road shall not overlap with itself.

F.6.4 overlap_inside_junction

UID

asam.net:xodr:1.4.0:road.overlap_inside_junction

Description

Only roads with the same junction id may overlap on the same level. This does not include roads on different driving levels, for example, bridges.

F.6.5 corner_local

F.6.5.1 element_min_amount

UID

asam.net:xodr:1.7.0:road.corner_local.element_min_amount

Description

There shall be at least two <cornerLocal> elements inside an <outline> element.

F.6.5.2 first_id_zero

UID

asam.net:xodr:1.9.0:road.corner_local.first_id_zero

Description

The @id attribute of the first <cornerLocal> element of an object should be 0.

F.6.5.3 mandatory_id_with_markings

UID

asam.net:xodr:1.9.0:road.corner_local.mandatory_id_with_markings

Description

The @id attribute of a <cornerLocal> element shall be mandatory when the parent also has a <markings> element.

F.6.5.4 no_mixing_road_local

UID

asam.net:xodr:1.x.0:road.corner_local.no_mixing_road_local

Description

"There shall be no mixture of `<cornerRoad>` and `<cornerLocal>` elements inside the same `<outline>` element."

F.6.5.5 sequential_id_values

UID

asam.net:xodr:1.9.0:road.corner_local.sequential_id_values

Description

The @id attribute should increase by 1 for each <cornerLocal> element in the order they are listed from top to bottom.

F.6.6 corner_road

F.6.6.1 corner_road_local_exclusivity

UID

asam.net:xodr:1.9.0:road.corner_road.corner_road_local_exclusivity

Description

There shall be no mixture of <cornerRoad>, <cornerLocal>, and <curveLocal> elements inside the same <outline> element.

F.6.6.2 element_min_amount

UID

asam.net:xodr:1.7.0:road.corner_road.element_min_amount

Description

There shall be at least two <cornerRoad> elements inside an <outline> element.

F.6.6.3 first_id_zero

UID

asam.net:xodr:1.9.0:road.corner_road.first_id_zero

Description

The @id attribute of the first <cornerRoad> element of an object should be 0.

F.6.6.4 mandatory_id_with_markings

UID

asam.net:xodr:1.9.0:road.corner_road.mandatory_id_with_markings

Description

The @id attribute of a <cornerRoad> element shall be mandatory when the parent also has a <markings> element.

F.6.6.5 sequential_id_values

UID

asam.net:xodr:1.9.0:road.corner_road.sequential_id_values

Description

The @id attribute should increase by 1 for each <cornerRoad> element in the order they are listed from top to bottom.

F.6.7 crg

F.6.7.1 attach_vs_friction

UID

asam.net:xodr:1.7.0:road.crg.attach_vs_friction

Description

@mode=attached shall not be used together with @purpose=friction.

F.6.7.2 friction_no_z_offset_scale

UID

asam.net:xodr:1.7.0:road.crg.friction_no_z_offset_scale

Description

@zOffset and @zScale shall not be set for friction values.

F.6.7.3 h_offset_only_genuine

UID

asam.net:xodr:1.9.0:road.crg.h_offset_only_genuine_global

Description

@hOffset shall not be used for modes other than @mode=genuine and @mode=global.

F.6.7.4 junction

UID

asam.net:xodr:1.7.0:road.crg.junction

Description

If a <junction> element contains a <CRG> element, none of the connecting roads that belong to this junction shall have a <CRG> element.

F.6.7.5 no_opposite

UID

asam.net:xodr:1.7.0:road.crg.no_opposite

Description

@orientation=opposite shall not be used for modes other than @mode=attached and @mode=attached0.

F.6.7.6 only_on_per_s

UID

asam.net:xodr:1.7.0:road.crg.only_on_per_s

Description

In the future, multiple CRG files at one position may be combined. For compatibility with future versions, each road or junction should only contain one CRG file per s-position and @purpose.

F.6.7.7 s_t_offset_no_global

UID

asam.net:xodr:1.7.0:road.crg.s_t_offset_no_global

Description

@sOffset and @tOffset shall not be used with @mode=global.

F.6.7.8 use_last_entry

UID

asam.net:xodr:1.7.0:road.crg.use_last_entry

Description

If more than one CRG entry is given for the same physical property (attribute purpose) at a given location, then the last entry in the sequence of occurrence in the ASAM OpenDRIVE file shall be the relevant one. All others are ignored (but see the note).

F.6.8 cross_section_surface

F.6.8.1 height

UID

asam.net:xodr:1.8.0:road.cross_section_surface.height

Description

The value of @height at <lane> elements is added to the cross section surface in z-direction.

F.6.8.2 lane_def_valid

UID

asam.net:xodr:1.8.0:road.cross_section_surface.lane_def_valid

Description

A cross section surface is only valid within the lane definition of the road.

F.6.8.3 no_shape_superelevation

UID

asam.net:xodr:1.8.0:road.cross_section_surface.no_shape_superelevation

Description

A cross section surface shall not be used in combination with road shape or superelevation.

F.6.8.4 start_end_match_with_refline

UID

asam.net:xodr:1.8.0:road.cross_section_surface.start_end_match_with_refline

Description

A cross section surface shall start and end at the start and end of the road reference line.

F.6.8.5 use_strip

UID

asam.net:xodr:1.8.0:road.cross_section_surface.use_strip

Description

If on a side only one strip is used, it is defined in a <strip> element with @id="1" or @id="-1" and a width shall not be specified.

F.6.8.6 use_width

UID

asam.net:xodr:1.8.0:road.cross_section_surface.use_width

Description

If on a side two strips are specified, a width for the inner strip shall be specified.

F.6.9 curve_local

F.6.9.1 continuous_curve_local

UID

asam.net:xodr:1.9.0:road.curve_local.continuous_curve_local

Description

Outlines defined by <curveLocal> elements shall be continuous.

F.6.9.2 element_min_amount

UID

asam.net:xodr:1.9.0:road.curve_local.element_min_amount

Description

There shall be at least one <curveLocal> element inside an <outline> element.

F.6.9.3 length_match

UID

asam.net:xodr:1.9.0:road.curve_local.length_match

Description

The actual curve length, as determined by numerical integration over the parameter range, should match @length.

F.6.9.4 paramPoly3

arcLength_range
UID

asam.net:xodr:1.9.0:road.curve_local.paramPoly3.arcLength_range

Description

For <paramPoly3> elements with @pRange="arcLength", p shall be chosen in [0, @length from <curveLocal>].

normalized_range
UID

asam.net:xodr:1.9.0:road.curve_local.paramPoly3.normalized_range

Description

For <paramPoly3> elements with @pRange="normalized", p shall be chosen in [0, 1].

F.6.10 elevation

F.6.10.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.elevation.elem_asc_order

Description

<elevation> elements shall be defined in ascending order according to the s-coordinate.

F.6.10.2 elev_along_ref_line

UID

asam.net:xodr:1.4.0:road.elevation.elev_along_ref_line

Description

Roads shall be elevated along their road reference line.

F.6.11 geometry

F.6.11.1 contact_point

UID

asam.net:xodr:1.7.0:road.geometry.contact_point

Description

If two roads are connected without a junction, the road reference line of a new road shall always begin at the <contactPoint> element of its successor or predecessor road. The road reference lines may be directed in opposite directions.

F.6.11.2 elem_asc_order

UID

asam.net:xodr:1.4.0:road.geometry.elem_asc_order

Description

<geometry> elements shall be defined in ascending order along the road reference line according to the s-coordinate.

F.6.11.3 one_geom_elem_per_spec

UID

asam.net:xodr:1.4.0:road.geometry.one_geom_elem_per_spec

Description

One <geometry> element shall contain only one element that further specifies the geometry of the road.

F.6.11.4 only_one_refline

UID

asam.net:xodr:1.4.0:road.geometry.only_one_refline

Description

There shall be only one road reference line per road.

F.6.11.5 refline_exists

UID

asam.net:xodr:1.4.0:road.geometry.refline_exists

Description

Each road shall have a road reference line.

F.6.11.6 refline_no_gaps

UID

asam.net:xodr:1.4.0:road.geometry.refline_no_gaps

Description

A road reference line shall have no gaps.

F.6.11.7 refline_no_kinks

UID

asam.net:xodr:1.4.0:road.geometry.refline_no_kinks

Description

A road reference line should have no kinks.

F.6.11.8 s-value_sum

UID

asam.net:xodr:1.9.0:road.geometry.s-value_sum

Description

The s-value of each <geometry> shall be the sum of all <geometry> lengths prior

F.6.11.9 arc

no_zero_curvature
UID

asam.net:xodr:1.9.0:road.geometry.arc.no_zero_curvature

Description

@curvature should not be zero.

F.6.11.10 paramPoly3

arcLength_range
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.arcLength_range

Description

If @pRange="arcLength", p shall be chosen in [0, @length from <geometry>].

length_match
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.length_match

Description

The actual curve length, as determined by numerical integration over the parameter range, should match @length.

normalized_range
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.normalized_range

Description

If @pRange="normalized", p shall be chosen in [0, 1].

valid_parameters
UID

asam.net:xodr:1.7.0:road.geometry.paramPoly3.valid_parameters

Description

The local u/v coordinate system should be aligned with the s/t coordinate system of the start point (meaning that the curve starts in the direction given by @hdg, and at the position given by @x and @y). To achieve this, the polynomial parameter coefficients have to be @aU=@aV=@bV=0, @bU>0.

F.6.11.11 spiral

curvature_change
UID

asam.net:xodr:1.9.0:road.geometry.spiral.curvature_change

Description

@curvStart and @curvEnd should not be the same.

F.6.12 lane

F.6.12.1 center_elem_definition

UID

asam.net:xodr:1.4.0:road.lane.center_elem_definition

Description

One <center> element shall be defined for each s-coordinate.

F.6.12.2 center_lane

UID

asam.net:xodr:1.9.0:road.lane.center_lane

Description

Each road shall have at least one lane layer with a center lane.

F.6.12.3 center_lane_id

UID

asam.net:xodr:1.4.0:road.lane.center_lane_id

Description

The center lane shall have the lane id 0.

F.6.12.4 center_lane_no_width

UID

asam.net:xodr:1.4.0:road.lane.center_lane_no_width

Description

The center lane shall have no width, meaning that the <width> element shall not be used for the center lane.

F.6.12.5 center_lane

UID

asam.net:xodr:1.9.0:road.lane.center_lane_singular

Description

There shall always be exactly one center lane at each s-position.

F.6.12.6 lanes_numbered_correctly

UID

asam.net:xodr:1.4.0:road.lane.lanes_numbered_correctly

Description

Lanes with positive ID run on the left side of the center lane, while lanes with negative ID run on the right side of the center lane.

F.6.12.7 lane_id_unique

UID

asam.net:xodr:1.9.0:road.lane.lane_id_unique

Description

Lane numbering shall be unique per lane section and layer.

F.6.12.8 lane_listing

UID

asam.net:xodr:1.4.0:road.lane.lane_listing

Description

For better orientation, lanes should be listed from left to right, that is with descending ID.

F.6.12.9 lane_order

UID

asam.net:xodr:1.4.0:road.lane.lane_order

Description

Lane numbering shall start with 1 next to the center lane in positive t-direction in ascending order and -1 next to the center lane in negative t-direction in descending order.

F.6.12.10 lane_order_no_gaps

UID

asam.net:xodr:1.4.0:road.lane.lane_order_no_gaps

Description

Lane numbering shall be consecutive without any gaps.

F.6.12.11 lane_listing

UID

asam.net:xodr:1.4.0:road.lane.lane_reverse_left_right

Description

@direction="reverse" shall not be used to change from right-hand traffic to left-hand traffic and vice versa.

F.6.12.12 lane_listing

UID

asam.net:xodr:1.9.0:road.lane.lane_section_drivable

Description

In order to be drivable, each lane section should contain at least one <right> or <left> element that is valid for the whole length of that section.

F.6.12.13 lane_sect_min_amount

UID

asam.net:xodr:1.9.0:road.lane.lane_sect_first

Description

The first lane section shall be defined with a value of 0.0 for the @s attribute.

F.6.12.14 lane_sect_min_amount

UID

asam.net:xodr:1.4.0:road.lane.lane_sect_min_amount

Description

Each <lanes> element shall contain at least one <laneSection> element.

F.6.12.15 level_true_one_side

UID

asam.net:xodr:1.7.0:road.lane.level_true_one_side

Description

If a lane has @level="true", then all further outward lanes shall be lanes with @level="true" until the edge of the road is reached.

F.6.12.16 s_attr_value

UID

asam.net:xodr:1.4.0:road.lane.s_attr_value

Description

All <laneSection> elements shall contain the @s attribute.

F.6.12.17 access

center_lane_no_acc_rule
UID

asam.net:xodr:1.4.0:road.lane.access.center_lane_no_acc_rule

Description

The center lane shall have no access rules.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.access.elem_asc_order

Description

<access> elements shall be defined in ascending order according to the s-coordinate.

no_mix_of_deny_or_allow
UID

asam.net:xodr:1.7.0:road.lane.access.no_mix_of_deny_or_allow

Description

At a given s-position, either only deny or only allow values shall be given.

F.6.12.18 border

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.border.elem_asc_order

Description

<border> elements shall be defined in ascending order according to the s-coordinate.

exclusive_offset_border
UID

asam.net:xodr:1.4.0:road.lane.border.exclusive_offset_border

Description

<border> elements shall not be used together with <laneOffset>.

exclusive_width_border
UID

asam.net:xodr:1.4.0:road.lane.border.exclusive_width_border

Description

<border> elements shall not be used together with <width> elements in the same lane group.

overlap_with_inner_lanes
UID

asam.net:xodr:1.4.0:road.lane.border.overlap_with_inner_lanes

Description

Lane borders shall not intersect inner lanes.

F.6.12.19 height

center_lane_no_height
UID

asam.net:xodr:1.4.0:road.lane.height.center_lane_no_height

Description

The center lane shall not be elevated by lane height.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.height.elem_asc_order

Description

<height> elements shall be defined in ascending order according to the s-coordinate.

F.6.12.20 lane_properties

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.lane_properties.elem_asc_order

Description

Lane geometries of identical types shall be defined in ascending order.

F.6.12.21 layer

center_lane_permanent
UID

asam.net:xodr:1.9.0:road.lane.layer.center_lane_permanent

Description

Each lane section in the permanent layer shall have a center lane.

lane_group_width_temporary
UID

asam.net:xodr:1.9.0:road.lane.layer.lane_group_width_temporary

Description

For each lane group, the sum of all lane widths and lane offsets on the temporary lane layer shall not be greater than the sum of lane widths and lane offsets on the permanent lane layer.

lane_phys_attr_temporary
UID

asam.net:xodr:1.9.0:road.lane.layer.lane_phys_attr_temporary

Description

Lanes in the "temporary" layer shall not contain <height> or <material> elements. The height and material is instead determined by the permanent layer.

layer_limits
UID

asam.net:xodr:1.9.0:road.lane.layer.layer_limits

Description

Each road shall have exactly one "permanent" and up to one "temporary" lane layer.

layer_mandatory_permanent
UID

asam.net:xodr:1.9.0:road.lane.layer.layer_mandatory_permanent

Description

There shall be at least one lane in the "permanent" layer at each s-coordinate of the road.

length_only_temporary
UID

asam.net:xodr:1.9.0:road.lane.layer.length_only_temporary

Description

Lanes in the permanent lane layer shall not use the attribute @length.

UID

asam.net:xodr:1.4.0:road.lane.link.lanes_across_laneSections

Description

Lane that continues across the lane sections shall be connected in both directions.

UID

asam.net:xodr:1.4.0:road.lane.link.multiple_connections

Description

Multiple predecessors and successors shall be used if a lane is split abruptly or several lanes are merged abruptly. All lanes that are connected shall have a non-zero width at the connection point.

UID

asam.net:xodr:1.4.0:road.lane.link.new_lane_appear

Description

If a new lane appears besides, only the continuing lane shall be connected to the original lane, not the appearing lane.

UID

asam.net:xodr:1.4.0:road.lane.link.no_link

Description

The <link> element shall be omitted if the lane starts or ends in a junction or has no link.

UID

asam.net:xodr:1.9.0:road.lane.link.temporary_layer_section_link_permanent

Description

At the start and at the end of a temporary lane layer section, all drivable lanes with non-zero width on the temporary lane layer shall be linked to lanes on the permanent lane layer.

UID

asam.net:xodr:1.4.0:road.lane.link.use_junctions

Description

Two lanes shall only be linked if their linkage is clear. If the relationship to a predecessor or successor is ambiguous, junctions shall be used.

UID

asam.net:xodr:1.7.0:road.lane.link.zero_width_at_end

Description

Lanes that have a width of zero at the end of the lane section shall have no <successor> element.

UID

asam.net:xodr:1.7.0:road.lane.link.zero_width_at_start

Description

Lanes that have a width of zero at the beginning of the lane section shall have no <predecessor> element.

F.6.12.23 material

center_lane_no_material
UID

asam.net:xodr:1.4.0:road.lane.material.center_lane_no_material

Description

The center lane shall have no material elements.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.material.elem_asc_order

Description

<material> elements shall be defined in ascending order according to the s-coordinate

F.6.12.24 road_mark

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.road_mark.elem_asc_order

Description

<roadMark> elements shall be defined in ascending order according to the s-coordinate.

only_outer
UID

asam.net:xodr:1.9.0:road.lane.road_mark.only_outer

Description

<roadMark> elements shall only be used to describe the outer lane marking.

position_outer_half
UID

asam.net:xodr:1.9.0:road.lane.road_mark.position_outer_half

Description

The center line of the lane marking shall be positioned on the lane’s outer border line in such a way that the outer half of the lane marking is physically placed on the next lane.

F.6.12.25 rule

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.rule.elem_asc_order

Description

<rule> elements shall be defined in ascending order according to the s-coordinate.

F.6.12.26 speed

center_lane_no_spd_lmt
UID

asam.net:xodr:1.4.0:road.lane.speed.center_lane_no_spd_lmt

Description

The center lane shall have no speed limit.

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.speed.elem_asc_order

Description

<speed> elements shall be defined in ascending order according to the s-coordinate.

F.6.12.27 width

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lane.width.elem_asc_order

Description

<width> elements shall be defined in ascending order according to the s-coordinate.

lane_width_validity
UID

asam.net:xodr:1.4.0:road.lane.width.lane_width_validity

Description

Width (ds) shall be greater than or equal to zero.

no_width_with_border
UID

asam.net:xodr:1.9.0:road.lane.width.no_width_with_border

Description

<width> elements shall not be used together with <border> elements in the same lane group.

width_defined_whole_section
UID

asam.net:xodr:1.7.0:road.lane.width.width_defined_whole_section

Description

The width of the lane shall be defined for the full length of the lane section. This means that there must be a <width> element for @s="0".

F.6.13 lanes

F.6.13.1 lane_offset

elem_asc_order
UID

asam.net:xodr:1.4.0:road.lanes.lane_offset.elem_asc_order

Description

<laneOffset> elements shall be defined in ascending order according to the s-coordinate.

no_offset_if_border_defined
UID

asam.net:xodr:1.4.0:road.lanes.lane_offset.no_offset_if_border_defined

Description

There shall be no <laneOffset> if border definitions are present.

F.6.14 lane_section

F.6.14.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.lane_section.elem_asc_order

Description

<laneSection> elements shall be defined in ascending order according to the s-coordinate.

F.6.14.2 lanesec_length_limit_road

UID

asam.net:xodr:1.9.0:road.lane_section.lanesec_length_limit_road

Description

A lane section with @length shall not extend beyond the end of the road.

F.6.14.3 lanesec_usage_lane_num

UID

asam.net:xodr:1.4.0:road.lane_section.lanesec_usage_lane_num

Description

A new lane section shall be defined each time the number of lanes change.

F.6.14.4 lane_sect_req

UID

asam.net:xodr:1.9.0:road.lane_section.lane_long_zero_width

Description

Using lanes with a width of 0 for long distances should be avoided.

F.6.14.5 lane_sect_req

UID

asam.net:xodr:1.4.0:road.lane_section.lane_sect_req

Description

Each road shall have at least one lane section.

UID

asam.net:xodr:1.9.0:road.lane_section.new_lanesec_link_temp_to_perm

Description

A new lane section on the permanent lane layer shall be defined each time lanes on the permanent layer are linked to lanes on the temporary layer.

F.6.14.7 valid_length

UID

asam.net:xodr:1.4.0:road.lane_section.valid_length

Description

The length of lane sections shall be greater than zero.

F.6.15 linkage

F.6.15.1 both_sides_consistency

UID

asam.net:xodr:1.9.0:road.linkage.both_sides_consistency

Description

<predecessor> and/or <successor> shall be defined at both sides of the road linkage and shall be consistent.

F.6.15.2 is_junction_needed

UID

asam.net:xodr:1.4.0:road.linkage.is_junction_needed

Description

Two roads shall only be linked directly if the linkage is clear. If the relationship to successor or predecessor is ambiguous, junctions shall be used.

UID

asam.net:xodr:1.7.0:road.linkage.junc_link_attribute_usage

Description

For a common junction and a direct junction as successor or predecessor the @elementType and @elementId attributes shall be used.

UID

asam.net:xodr:1.4.0:road.linkage.road_link_attribute_usage

Description

For a road as successor or predecessor the @elementType, @elementId and @contactPoint attributes shall be used.

UID

asam.net:xodr:1.7.0:road.linkage.virtjunc_link_attribute_usage

Description

For a virtual junction as successor or predecessor the @elementType, @elementId, @elementS and @elementDir attributes shall be used.

F.6.16 object

F.6.16.1 circular_vs_angular

UID

asam.net:xodr:1.7.0:road.object.circular_vs_angular

Description

Objects may be of circular or angular shape. The possibilities are mutually exclusive. The shape is defined by the used attributes.

F.6.16.2 orientation

UID

asam.net:xodr:1.7.0:road.object.orientation

Description

The direction for which objects are valid shall be specified.

F.6.16.3 s_t_coords

UID

asam.net:xodr:1.7.0:road.object.s_t_coords

Description

The origin position of the object shall be described with s- and t-coordinates along the road surface.

F.6.16.4 type_attr

UID

asam.net:xodr:1.7.0:road.object.type_attr

Description

The type of an object shall be given by the @type attribute.

F.6.16.5 borders

different_outlineids
UID

asam.net:xodr:1.9.0:road.object.borders.different_outlineids

Description

All <outline> elements of an <outlines> element shall have different @outlineId values.

useCompleteOutline_true
UID

asam.net:xodr:1.7.0:road.object.borders.useCompleteOutline_true

Description

If @useCompleteOutline is true, the <cornerReference> element shall not be defined.

F.6.16.6 bridges

define_type
UID

asam.net:xodr:1.7.0:road.object.bridges.define_type

Description

Bridges may be restricted to certain lanes, using the <laneValidity> element.

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.bridges.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

type_definition
UID

asam.net:xodr:1.7.0:road.object.bridges.type_definition

Description

The @type of the bridges shall be specified.

F.6.16.7 marking

colour
UID

asam.net:xodr:1.7.0:road.object.marking.colour

Description

The color of the marking shall be defined.

complete_or_partial_on_outline
UID

asam.net:xodr:1.9.0:road.object.marking.complete_or_partial_on_outline

Description

The marking of an object with an <outlines> element shall either completely or partially be defined on one of its outlines.

markings_with_outline
UID

asam.net:xodr:1.9.0:road.object.marking.markings_with_outline

Description

If an outline is used, any <markings> element shall be inside an <outline> element.

markings_without_outline
UID

asam.net:xodr:1.9.0:road.object.marking.markings_without_outline

Description

If no outline is used, the <markings> element shall be inside the <object> element.

no_cornerreference_if_no_outline
UID

asam.net:xodr:1.7.0:road.object.marking.no_cornerreference_if_no_outline

Description

If no outline is used, the <cornerReference> element cannot be used.

no_outline_side_attr
UID

asam.net:xodr:1.7.0:road.object.marking.no_outline_side_attr

Description

If no outline is used, the @side attribute is mandatory.

outline_corner_reference_count
UID

asam.net:xodr:1.7.0:road.object.marking.outline_corner_reference_count

Description

If an outline is used, at least two <cornerReference> elements are mandatory.

F.6.16.8 material

materials_may_differ
UID

asam.net:xodr:1.7.0:road.object.material.materials_may_differ

Description

The material of objects may differ from the surrounding road.

F.6.16.9 object_marking

colour
UID

asam.net:xodr:1.9.0:road.object.object_marking.colour

Description

The color of the marking shall be defined.

enclosed_outline_marking
UID

asam.net:xodr:1.9.0:road.object.object_marking.enclosed_outline_marking

Description

To specify a marking that fully encloses an object on a closed outline, the <marking> shall have two <cornerReference> elements with the same @id.

include_points_between_cornerReferences
UID

asam.net:xodr:1.9.0:road.object.object_marking.include_points_between_cornerReferences

Description

For <marking> elements with <cornerReference> elements that are not directly subsequent on the outline, all points in between shall be included as well.

keep_id_ordered
UID

asam.net:xodr:1.9.0:road.object.object_marking.keep_id_ordered

Description

<cornerReference> elements shall use the same order of @id attributes as the points of the outline they belong to.

outline_corner_reference_count
UID

asam.net:xodr:1.9.0:road.object.object_marking.outline_corner_reference_count

Description

If an outline is used, at least two <cornerRoad> elements or at least two <cornerLocal> elements or at least one <curveLocal> element shall be referenced via <cornerReference> elements.

F.6.16.10 outline

exactly_one_outer
UID

asam.net:xodr:1.9.0:road.object.outline.exactly_one_outer

Description

<outlines> elements shall have exactly one <outline> element with @outer=true.

inner_outline_touches_outer
UID

asam.net:xodr:1.9.0:road.object.outline.inner_outline_touches_outer

Description

If an inner outline touches the outer outline, the reference point shall be identical in both outlines.

outline_followed_by_corner
UID

asam.net:xodr:1.9.0:road.object.outline.outline_followed_by_corner

Description

An <outline> element shall be followed by two or more <cornerRoad> elements, by two or more <cornerLocal> elements, or by one or more <curveLocal> elements.

points_inside_box
UID

asam.net:xodr:1.7.0:road.object.outline.points_inside_box

Description

All points of the <outline> element must be located inside the bounding volume.

F.6.16.11 reference

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.reference.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

F.6.16.12 repeating

attributes_with_outline_skeleton
UID

asam.net:xodr:1.9.0:road.object.repeating.attributes_with_outline_skeleton

Description

@lengthStart, @lengthEnd, @widthStart, @widthEnd, @heightStart, and @heightEnd shall not be applicable for objects with an <outlines>, an <outline>, or a <skeleton> element.

no_widthstart_end_with_radius
UID

asam.net:xodr:1.9.0:road.object.repeating.no_widthstart_end_with_radius

Description

@widthStart and @widthEnd shall not be applicable for objects where @radius is set.

outline_use_cornerlocal
UID

asam.net:xodr:1.9.0:road.object.repeating.outline_use_cornerlocal

Description

Repeated objects with an outline shall use <cornerLocal>

valid_s_length
UID

asam.net:xodr:1.9.0:road.object.repeating.valid_s_length

Description

Repeated objects shall have valid s-coordinates and lengths.

F.6.16.13 skeleton

points_boundary_inside_box
UID

asam.net:xodr:1.9.0:road.object.skeleton.points_boundary_inside_box

Description

The boundary, defined by either width and height or radius, of each point of an object’s skeleton shall at least partially be located inside the bounding volume.

points_inside_box
UID

asam.net:xodr:1.8.0:road.object.skeleton.points_inside_box

Description

All points of the <polyline> element must be located inside the bounding volume.

points_requirements
UID

asam.net:xodr:1.8.0:road.object.skeleton.points_requirements

Description

All points of the <polyline> element are connected with a straight line between the <vertexRoad> or <vertexLocal> elements and the specified @radius or @width and @height attributes of each point are perpendicular to this line.

polyline_followed_by_vertex
UID

asam.net:xodr:1.8.0:road.object.skeleton.polyline_followed_by_vertex

Description

A <polyline> element shall be followed by either two or more <vertexRoad> elements or by two or more <vertexLocal> elements.

use_radius_or_width_length
UID

asam.net:xodr:1.8.0:road.object.skeleton.use_radius_or_width_length

Description

Each <polyline> element shall either use @radius or @width and @length attributes for all of its vertex elements.

vertex_local
element_min_amount
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_local.element_min_amount

Description

There shall be at least two <vertexLocal> elements inside an <polyline> element.

linear_interpolation
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_local.linear_interpolation

Description

Values of @radius or @width and @length attributes will be interpolated linearly between two <vertexLocal> points.

no_mixing_road_local
UID

asam.net:xodr:1.9.0:road.object.skeleton.vertex_local.no_mixing_road_local

Description

There shall be no <vertexRoad> element next to a <vertexLocal> element inside the same <polyline> element.

vertex_local_elements
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_local.vertex_local_elements

Description

<vertexLocal> elements shall not use @radius together with @width and @length attributes in one <polyline> element.

vertex_road
element_min_amount
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_road.element_min_amount

Description

There shall be at least two <vertexRoad> elements inside a <polyline> element.

linear_interpolation
UID

asam.net:xodr:1.9.0:road.object.skeleton.vertex_road.linear_interpolation

Description

Values of @radius or @width and @length attributes shall be interpolated linearly between two <vertexRoad> points.

no_radius_with_width_length
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_road.no_radius_with_width_length

Description

<vertexRoad> elements shall not use @radius together with @width and @length attributes in one <polyline> element.

polyline_elements
UID

asam.net:xodr:1.8.0:road.object.skeleton.vertex_road.polyline_elements

Description

There shall be no <vertexLocal> element next to a <vertexRoad> element inside the same <polyline> element.

F.6.16.14 surface

avoid_skewed_crg_surfacees
UID

asam.net:xodr:1.9.0:road.object.surface.avoid_skewed_crg_surfacees

Description

To avoid skewed CRG surfaces, the @perpToRoad attribute should only be used for objects that are smaller than the local radius of the curvature of the road elevation.

calculate_road_height
UID

asam.net:xodr:1.7.0:road.object.surface.calculate_road_height

Description

If crgEvaluv2z returns NaN, then the road height at that position shall be the ASAM OpenDRIVE height in addition to the road surface CRG, if it is present. The value of @hideRoadSurfaceCRG attribute shall have no influence.The value of @hideRoadSurfaceCRG attribute shall have no influence.

crg_hidden_on_object_overlap
UID

asam.net:xodr:1.7.0:road.object.surface.crg_hidden_on_object_overlap

Description

If a road surface CRG is present, that is, the CRG area overlaps the bounding volume of the object and has any mode other than attached, then @hideRoadSurfaceCRG shall be false.

identical_local_coordinates
UID

asam.net:xodr:1.7.0:road.object.surface.identical_local_coordinates

Description

The local coordinate system of the CRG shall be identical to the local coordinate system of the object to which it belongs. The reference line, inertial position, curvature, and heading of the CRG file shall be ignored.

no_bounding_box_overlap
UID

asam.net:xodr:1.7.0:road.object.surface.no_bounding_box_overlap

Description

The bounding volumes of objects with <surface> elements shall not overlap.

object_reference_on_overlap
UID

asam.net:xodr:1.7.0:road.object.surface.object_reference_on_overlap

Description

An object with a <surface> element shall be referenced on all roads it overlaps, using <object> and <objectReference> elements.

only_for_angular_boxes
UID

asam.net:xodr:1.7.0:road.object.surface.only_for_angular_boxes

Description

Only objects with angular bounding volumes may contain <surface> elements. Circular objects or objects with <outlines> elements shall not contain <surface> elements.

only_one_crg_file
UID

asam.net:xodr:1.7.0:road.object.surface.only_one_crg_file

Description

An object shall not reference more than one CRG file.

repeat_discretely_not_continously
UID

asam.net:xodr:1.7.0:road.object.surface.repeat_discretely_not_continously

Description

Objects with <surface> elements may repeat discretely, but not continuously. See Section 13.4, "Repeating objects".

F.6.16.15 tunnels

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.tunnels.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

type_definition
UID

asam.net:xodr:1.7.0:road.object.tunnels.type_definition

Description

The @type of the tunnel shall be specified.

F.6.16.16 validty

check_parent_orientation
UID

asam.net:xodr:1.7.0:road.object.validty.check_parent_orientation

Description

The range given by all <validity> elements shall be a subset of the parent’s @orientation attribute:

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.object.validty.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

left_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.object.validty.left_hand_traffic_lane_ids

Description

For left-hand-traffic, @orientation="-" implies that the <validity> element shall only span negative lane ids, while @orientation="+" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

right_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.object.validty.right_hand_traffic_lane_ids

Description

For right-hand traffic, @orientation="+" implies that the <validity> element shall only span negative lane ids, while @orientation="-" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

F.6.17 railroad

F.6.17.1 one_rail_per_road

UID

asam.net:xodr:1.7.0:road.railroad.one_rail_per_road

Description

There shall only be one tram or one rail lane per road.

F.6.17.2 rail_lane_width_validity

UID

asam.net:xodr:1.7.0:road.railroad.rail_lane_width_validity

Description

The width of the lane shall be at least the width rail-bound vehicles.

F.6.17.3 rail_refline_centered

UID

asam.net:xodr:1.7.0:road.railroad.rail_refline_centered

Description

The road reference line shall be in the center of the pair of railroad tracks.

F.6.17.4 platforms

min_amount
UID

asam.net:xodr:1.7.0:road.railroad.platforms.min_amount

Description

There shall be at least one platform per station.

min_segments
UID

asam.net:xodr:1.7.0:road.railroad.platforms.min_segments

Description

A platform shall contain at least one segment.

F.6.17.5 segment

segments_per_platform_min_amount
UID

asam.net:xodr:1.7.0:road.railroad.segment.segments_per_platform_min_amount

Description

There shall be at least one segment per platform.

F.6.17.6 stations

one_platform_per_station
UID

asam.net:xodr:1.7.0:road.railroad.stations.one_platform_per_station

Description

A <station> element shall be followed by at least one <platform> element.

F.6.17.7 switch

check_switch_conn
UID

asam.net:xodr:1.7.0:road.railroad.switch.check_switch_conn

Description

Main tracks shall not be used to connect two switches.

single_switch_no_partner
UID

asam.net:xodr:1.7.0:road.railroad.switch.single_switch_no_partner

Description

Single switches do not have partner switches.

F.6.18 shape

F.6.18.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.shape.elem_asc_order

Description

<shape> elements shall be defined in ascending order, firstly according to the s-coordinate and secondly according to the t-coordinate.

F.6.18.2 t_definition_coverage

UID

asam.net:xodr:1.4.0:road.shape.t_definition_coverage

Description

At all s-positions the t-definition has to cover the maximum road width of the entire road.

F.6.19 signal

F.6.19.1 priority

UID

asam.net:xodr:1.7.0:road.signal.priority

Description

If present, signals shall be used in priority to other traffic rules.

F.6.19.2 signal_type

UID

asam.net:xodr:1.7.0:road.signal.signal_type

Description

Signals shall have a specific type and subtype.

F.6.19.3 use_country_code

UID

asam.net:xodr:1.7.0:road.signal.use_country_code

Description

A country code shall be added to refer to country-specific rules using the @country attribute.

F.6.19.4 boards

multi_board_have_sub_boards
UID

asam.net:xodr:1.8.0:road.signal.boards.multi_board_have_sub_boards

Description

A multi board shall have at least one static signal board and at least one variable message board.

multi_board_use_correct_type
UID

asam.net:xodr:1.8.0:road.signal.boards.multi_board_use_correct_type

Description

Multi boards shall be specified to be @type="multiBoard".

multi_board_use_dynamic_true
UID

asam.net:xodr:1.8.0:road.signal.boards.multi_board_use_dynamic_true

Description

Multi boards shall be specified to be @dynamic="true".

static_boards_no_single_signal
UID

asam.net:xodr:1.9.0:road.signal.boards.static_boards_no_single_signal

Description

Static boards shall not be used for single signals, for example, a stop sign on a single sheet of metal.

static_board_use_correct_type
UID

asam.net:xodr:1.8.0:road.signal.boards.static_board_use_correct_type

Description

Static signal boards shall be specified to be @type="staticBoard".

F.6.19.5 controller

valid_for_signals
UID

asam.net:xodr:1.7.0:road.signal.controller.valid_for_signals

Description

Controllers shall be valid for one or more signals.

F.6.19.6 dependency

multiple_dependency
UID

asam.net:xodr:1.7.0:road.signal.dependency.multiple_dependency

Description

A signal may have multiple dependencies.

F.6.19.7 gantry

all_variable_boards_same_gantry
UID

asam.net:xodr:1.9.0:road.signal.gantry.all_variable_boards_same_gantry

Description

All variable message boards within a <vmsGroup> element shall belong to the same gantry.

vmsgroup_at_least_one_reference
UID

asam.net:xodr:1.9.0:road.signal.gantry.vmsgroup_at_least_one_reference

Description

Each gantry shall have one <vmsGroup> element with at least one <vmsBoardReference> element.

F.6.19.8 reference

from_lower_equal_to
UID

asam.net:xodr:1.7.0:road.signal.reference.from_lower_equal_to

Description

The value of the @fromLane attribute shall be lower than or equal to the value of the @toLane attribute.

left_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.signal.reference.left_hand_traffic_lane_ids

Description

For left-hand-traffic, @orientation="-" implies that the <validity> element shall only span negative lane ids, while @orientation="+" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

right_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.signal.reference.right_hand_traffic_lane_ids

Description

For right-hand traffic, @orientation="+" implies that the <validity> element shall only span negative lane ids, while @orientation="-" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used

specify_direction
UID

asam.net:xodr:1.7.0:road.signal.reference.specify_direction

Description

The direction on the road for which the referenced signal is valid shall be specified for every <signalReference> element using the @orientation attribute.

used_for_signals_only
UID

asam.net:xodr:1.7.0:road.signal.reference.used_for_signals_only

Description

Signal reference shall be used for signals only.

F.6.19.9 semantics

no_semantics_without_category
UID

asam.net:xodr:1.9.0:road.signal.semantics.no_semantics_without_category

Description

Signal semantics shall not be specified for signs if no category for the desired traffic behavior exists.

F.6.19.10 validity

left_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.signal.validity.left_hand_traffic_lane_ids

Description

For left-hand-traffic, @orientation="-" implies that the <validity> element shall only span negative lane ids, while @orientation="+" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

right_hand_traffic_lane_ids
UID

asam.net:xodr:1.7.0:road.signal.validity.right_hand_traffic_lane_ids

Description

For right-hand traffic, @orientation="+" implies that the <validity> element shall only span negative lane ids, while @orientation="-" implies that the <validity> element shall only span positive lane ids. If the given <validity> elements span both, positive and negative lane ids, @orientation="none" shall be used.

F.6.20 superelevation

F.6.20.1 elem_asc_order

UID

asam.net:xodr:1.4.0:road.superelevation.elem_asc_order

Description

<superelevation> elements shall be defined in ascending order according to the s-coordinate.

F.6.21 type

F.6.21.1 create_new_type_in_parent

UID

asam.net:xodr:1.4.0:road.type.create_new_type_in_parent

Description

When the type of road changes, a new <type> element shall be created within the parent <road> element.

F.6.21.2 elem_asc_order

UID

asam.net:xodr:1.4.0:road.type.elem_asc_order

Description

<type> elements shall be defined in ascending order according to the s-coordinate.

F.6.21.3 lane_type_may_differ_from_parent

UID

asam.net:xodr:1.4.0:road.type.lane_type_may_differ_from_parent

Description

Single lanes may have another type than the road they belong to. Road type and lane type represent different properties and are both valid if specified.

F.6.21.4 only_alpha_2_country_codes

UID

asam.net:xodr:1.7.0:road.type.only_alpha_2_country_codes

Description

There shall only be ALPHA-2 country codes in use, no ALPHA-3 country codes, because only ALPHA-2 country codes support state identifiers.

F.6.22 use_cases

F.6.22.1 shape_elements_start_right

UID

asam.net:xodr:1.9.0:road.use_cases.shape_elements_start_right

Description

To model road shapes, shape elements shall start at the right side of the road, that is in positive t-direction. That means the elements start with negative t-values.