# Module lane-attributes

Package com.here.mom.feature.lane.lane-attributes

Parts

Enums

## AttributeInfo

part AttributeInfo

Module lane-attributes

Defines the common attribution for all range based attribute types.

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute

## BicycleDirectionOverrideInfo

part BicycleDirectionOverrideInfo extends AttributeInfo

Module lane-attributes

Defines the Bicycle Direction Override attribution

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
bicycleDirectionOverride TopologyDirection Deprecated. Direction of travel on this lane specifically for bicycles,

overriding the lane's default direction of travel.

This field is deprecated and is kept only for backward compatibility.

directionOfTravel DirectionOfTravel optional Direction of travel on this lane specifically for bicycles,

overriding the lane's default direction of travel.

## ConditionalAttributePoint

part ConditionalAttributePoint extends PointAttributeInfo

Module lane-attributes

Point Conditional attributes are conditions which are essentially applicable at a point on a lane

Property Type Modifier Description
lanePoint ParametricPoint Parametric Point defines the start and end points on the lane within which the Lane Attributes are applied.

Stores a single parametric value between 0.0 and 1.0.
confidence ConfidenceData optional Confidence values for an attribute.
conditionalAttributes LanePointConditionalAttribute list Conditional Attributes are applied when attributes only apply under certain conditions, e.g. depending on

weather or time of day.

## ConditionalAttributeRange

part ConditionalAttributeRange extends AttributeInfo

Module lane-attributes

Range Conditional attributes are conditions which are essentially applicable over a specific range on a lane.

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
attributes ConditionalAttribute list Deprecated. Conditional Attributes are applied when attributes only apply under certain conditions, e.g. depending on

weather or time of day.

This field is deprecated and is included only for backward compatibility.

conditionalAttributes LaneRangeConditionalAttribute list Conditional Attributes are applied when attributes only apply under certain conditions, e.g. depending on

weather or time of day.

## DirectionCategoryMarkerInfo

part DirectionCategoryMarkerInfo extends AttributeInfo

Module lane-attributes

Defines the Direction Category Marker attribution

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
directionCategoryMarkers DirectionCategoryMarker list Direction Category Markers are icons present on the road surface, such as directional arrows.

## LaneAccessCharacteristicInfo

part LaneAccessCharacteristicInfo extends AttributeInfo

Module lane-attributes

Defines the Lane Access Characteristic attribution.

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
laneAccessCharacteristic VehicleTypes Lane Access Characteristic identifies the type(s) of traffic allowed on the road.

## LaneAttributes

part LaneAttributes

Module lane-attributes

Schema is used also by lane group and for that reason all attributes need to be parametric. Lane attributes associated to lane feature. Currently we have speed limit, lane type, lane access characteristic, etc. Lane contains a list of attributes.

For ex. Lane [0.0 ~ 0.5] = 50 mph, [0.5 ~ 1.0] = 65 mph.

Same concept applies to lane type and lane access characterictic. The linear range space in each infos set should not overlap with each other.

Property Type Modifier Description
speedLimits SpeedLimitInfo list It defines the Speed Limit attribute of the lane.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
laneTypes LaneTypeInfo list It defines the Lane Types attribute of the lane.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
laneAccesses LaneAccessCharacteristicInfo list It defines the Lane Access Characteristic attribute of the lane.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
transitions TransitionStatusInfo list It defines the Transition status of the lane.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
intersections AttributeInfo list It defines the Lane attribute information for intersections.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
stopLocations PointAttributeInfo list Deprecated. It defines the Point attribute information for Stop Locations.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed

Deprecated:

Writers: Set both "stop-locations" and "stopping-locations" for

compatibility.

Readers: Prefer "stopping-locations" if present, fall back to

"stop-locations".

conditionalAttributes ConditionalAttributeRange list It defines the range conditional attributes of a lane.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
pointConditionalAttributes ConditionalAttributePoint list It defines the point conditional attributes of a lane.

The points are:

1. Point ordered by offset

2. No overlapping points
roadSurfaceMarkings RoadSurfaceMarkingInfo list The list of road surface markings parametrically associated to a lane.

This list can consist of 0, 1, or more non-null items.

Each item is unique based on the road surface marking reference and parametric point value pair.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
laneHeightRestrictions LaneHeightRestrictionInfo list Attribution of a height restriction on a lane prohibiting access to vehicles exceeding a specific height.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
laneWidthRestrictions LaneWidthRestrictionInfo list Attribution of a width restriction on a lane prohibiting access to vehicles exceeding a specific width.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
directionCategoryMarkers DirectionCategoryMarkerInfo list Direction Category Markers are icons present on the road surface, such as directional arrows.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
bicycleDirectionOverrides BicycleDirectionOverrideInfo list Lane Direction Override allows for the Direction of Travel of bicycle lanes to be changed.

The ranges are:

1. Ranges ordered by start offset

2. No overlapping ranges

3. Gaps between ranges are allowed
laneWidthProfile LaneWidthProfile optional A width profile of lane.
variableSpeedSigns VariableSpeedSign list Variable Speed Signs present on Lane, Variable Speed Sign indicates the location of a typically automated

sign where the posted speed limit can vary.

Ordered as per the offset they are present on Lane
stoppingLocations StoppingLocationInfo list Defines the Point attribute information and classification type for Stop Locations.

## LaneHeightRestrictionInfo

part LaneHeightRestrictionInfo extends AttributeInfo

Module lane-attributes

Defines the Lane Height Restriction

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
laneHeightRestrictionMm integer Maximum allowed vehicle height. In millimeters.
Constraint Expression Description
laneHeightRestrictionMmXmin0 (.laneHeightRestrictionMm > 0)

## LaneTypeInfo

part LaneTypeInfo extends AttributeInfo

Module lane-attributes

Defines the Lane Type attribution.

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
laneType LaneType Lane Type identifies the type of lane present along the road.

## LaneWidthProfile

part LaneWidthProfile

Module lane-attributes

A width profile for lane.

Property Type Modifier Description
startWidthCm integer Start width of lane in centimeters.
endWidthCm integer End width of lane in centimeters.
minWidthCm integer Minimum width of lane in centimeters.

Location of this point is stored in minWidthLocation field as parametric point on LaneGroupLane.drivePathGeometry.
maxWidthCm integer Maximum width of lane in centimeters.

Location of this point is stored in maxWidthLocation field as parametric point on LaneGroupLane.drivePathGeometry.
minWidthLocation double Location of minimum lane width as parametric location point on LaneGroupLane.drivePathGeometry.
maxWidthLocation double Location of maximum lane width as parametric location point on LaneGroupLane.drivePathGeometry.
Constraint Expression Description
startWidthCmMin0 (.startWidthCm >= 0)
endWidthCmMin0 (.endWidthCm >= 0)
minWidthCmMin0 (.minWidthCm >= 0)
maxWidthCmMin0 (.maxWidthCm >= 0)
minWidthLocationMin0_0 (.minWidthLocation >= 0.0)
minWidthLocationMax1_0 (.minWidthLocation <= 1.0)
maxWidthLocationMin0_0 (.maxWidthLocation >= 0.0)
maxWidthLocationMax1_0 (.maxWidthLocation <= 1.0)

## LaneWidthRestrictionInfo

part LaneWidthRestrictionInfo extends AttributeInfo

Module lane-attributes

Defines the Lane Width Restriction

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
laneWidthRestrictionMm integer Maximum allowed vehicle width. In millimeters.
Constraint Expression Description
laneWidthRestrictionMmXmin0 (.laneWidthRestrictionMm > 0)

## OrientedPointAttributeInfo

part OrientedPointAttributeInfo extends PointAttributeInfo

Module lane-attributes

Subtypes VariableSpeedSign

Defines the common attribution for all point based attribute types with orientation.

Property Type Modifier Description
lanePoint ParametricPoint Parametric Point defines the start and end points on the lane within which the Lane Attributes are applied.

Stores a single parametric value between 0.0 and 1.0.
confidence ConfidenceData optional Confidence values for an attribute.
orientation DirectionOfTravel Identifies the direction with respect to Lane in which the attribute is applicable.

## PointAttributeInfo

part PointAttributeInfo

Module lane-attributes

Defines the common attribution for all point based attribute types.

Property Type Modifier Description
lanePoint ParametricPoint Parametric Point defines the start and end points on the lane within which the Lane Attributes are applied.

Stores a single parametric value between 0.0 and 1.0.
confidence ConfidenceData optional Confidence values for an attribute.

part RoadSurfaceMarkingInfo extends PointAttributeInfo

Module lane-attributes

Defines the parametric point attribute where a Road Surface Marking is located on a lane.

Property Type Modifier Description
lanePoint ParametricPoint Parametric Point defines the start and end points on the lane within which the Lane Attributes are applied.

Stores a single parametric value between 0.0 and 1.0.
confidence ConfidenceData optional Confidence values for an attribute.
roadSurfaceMarking RoadSurfaceMarking A reference to the RoadSurfaceMarking that was used to generate this lane association attribute.
widthCm CentimeterEstimate optional The width of the marking is measured along the Y axis.

An optional copy of road-surface-marking.properties.width-cm.
lengthCm CentimeterEstimate optional The length of the marking is measured along the Z axis in the local coordinate system.

An optional copy of road-surface-marking.properties.length-cm.
orientation OrientationEstimate optional Road Surface Marking internal coordinate system (X, Y, Z)

X is defined as normal to the road surface.

Z is primarily defined as being the direction from which the characters or figures are oriented "right-side-up".

Some markings (arrows and diamonds for example) exhibit some degree of rotational degeneracy.

When this is the case the "up" direction should point in the direction of the arrow when only the tail is

taken into account.

For diamonds or other highly degenerate objects then up should be along the longest axis of the bounding

rectangle.

This will lead to at least a two fold degeneracy in the definition, but for such markings the orientation

doesn't convey any information any way so if it is wrong we haven't lost anything.

Y is defined as the cross-product of Z and X.

The orientation quaternion represents a rotation from the XYZ coordinate frame described above to the ENU

tangent coordinate frame defined at the geometry point of the marking.

An optional copy of road-surface-marking.properties.orientation-estimate.

classificationEstimate ClassificationEstimate optional ClassificationEstimate of RoadSurfaceMarking.

An optional copy of road-surface-marking.properties.classification-estimate

Note that the original property is required, so the constraint that asserts equality (when the copy is defined)

implicitly unpacks the copied value from its optional wrapper.
Constraint Expression Description
widthCmCopyOfRoadSurfaceMarking (non-empty(.widthCm) -> (.widthCm == .roadSurfaceMarking.properties.widthCm)) If defined, it must equal the corresponding road-surface-marking property.

Note that copy and original property are both optional, so the equality comparison does not require any additional "unpacking".
lengthCmCopyOfRoadSurfaceMarking (non-empty(.lengthCm) -> (.lengthCm == .roadSurfaceMarking.properties.lengthCm)) If defined, it must equal the corresponding road-surface-marking property.

Note that copy and original property are both optional, so the equality comparison does not require any additional "unpacking".
orientationCopyOfRoadSurfaceMarking (non-empty(.orientation) -> (.orientation == .roadSurfaceMarking.properties.orientation)) If defined, it must equal the corresponding road-surface-marking property.

Note that copy and original property are both optional, so the equality comparison does not require any additional "unpacking".

## SpeedLimitInfo

part SpeedLimitInfo extends AttributeInfo

Module lane-attributes

Defines the Speed Limit attribution.

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
isUnlimited boolean This flag indicates the speed is unlimited from observed signage.
value integer optional Defines the Speed Limit value.

Value is missing if and only if isUnlimited is true.
unit SpeedLimitUnit optional Unit for measuring Speed Limit.

Example: Kilometers Per Hour(km/h) and Miles Per Hour(mph).

Unit is missing if and only if isUnlimited is true.
Constraint Expression Description
valueMin0 (non-empty(.value) -> (head(.value) >= 0))

## SpeedLimitUnit

enum SpeedLimitUnit

Module lane-attributes

Defines the Speed Limit unit.

• Undefined: Speed Limit unit is not defined.
• Unknown: Speed Limit unit is not known.
• Kilometers_Per_Hour: Speed limit unit to be followed by vehicles, depending on country.
• Miles_Per_Hour: Speed limit unit to be followed by vehicles, depending on country.
Value Description
UNDEFINED
UNKNOWN
KILOMETERS_PER_HOUR
MILES_PER_HOUR

## StoppingLocationClassificationType

enum StoppingLocationClassificationType

Module lane-attributes

Stopping Location classification type values.

Value Description
UNDEFINED Stopping location classification is not defined.
UNKNOWN Stopping location classification is not known.
OTHER Stopping location classification is other than stopline or crosswalk.
STOPLINE Stopping location is the result of a Stopline feature type.
CROSSWALK Stopping location is the result of a Crosswalk feature type.

## StoppingLocationInfo

part StoppingLocationInfo extends PointAttributeInfo

Module lane-attributes

Defines a single Stopping Location Attribute on a lane

Property Type Modifier Description
lanePoint ParametricPoint Parametric Point defines the start and end points on the lane within which the Lane Attributes are applied.

Stores a single parametric value between 0.0 and 1.0.
confidence ConfidenceData optional Confidence values for an attribute.
classification StoppingLocationClassificationType Classification of the stopping location

## TransitionStatusInfo

part TransitionStatusInfo extends AttributeInfo

Module lane-attributes

Defines the Lane Transition Status attribution. In lane, we can have a split transition from {0.0 to 0.6}, and merge transition from {0.4 to 1.0}. Split and merge ranges can overlap or not overlap at all. But we will not have more than 1 split or more than 1 merge transition attributes in the same lane.

Property Type Modifier Description
laneRange LinearRange Linear Range restricts the applicability of an attribute to the range between startOffset and endOffset of

a feature.

Lane Range defines the start and end offset of a lane within which it restricts the applicability of an attribute.
confidence ConfidenceData optional Confidence values for an attribute
type TransitionType Defines the Lane Transition Types.

## TransitionType

enum TransitionType

Module lane-attributes

Defines the Lane Transition types.

• Undefined: Lane Transition is not defined.
• Split: Lane Split is when a lane along a road divides into two or more lanes along the same road.
• Merge: Lane Merge is when two or more lanes along a road merge into one lane along the same road.
Value Description
UNDEFINED
SPLIT
MERGE
NONE

## VariableSpeedSign

part VariableSpeedSign extends PointAttributeInfo, OrientedPointAttributeInfo

Module lane-attributes

Variable Speed Signs present on lane.

Property Type Modifier Description
lanePoint ParametricPoint Parametric Point defines the start and end points on the lane within which the Lane Attributes are applied.

Stores a single parametric value between 0.0 and 1.0.
confidence ConfidenceData optional Confidence values for an attribute.
orientation DirectionOfTravel Identifies the direction with respect to Lane in which the attribute is applicable.
vssid long The Variable Speed Sign ID is a globally unique number that represents a Variable Speed Sign.
speedSignLocationType LocationDetailType Identifies the speed sign location with respect to direction of travel.