# Module lane

Package com.here.mom.feature.lane.lane

Features

Parts

Enums

Module lane

Adjacencies both left and right of the lane.

Property Type Modifier Description
left LinearFeatureRange list Left side adjacent lanes.

Because the start and end of adjacent lanes need not be aligned a complete

description of lane adjacency requires capturing corresponding ranges for this lane and the adjacent lane.

The linear-feature-range properties are interpreted as follows:

- target feature - adjacent lane

- source range - this lane's range

- target range - the corresponding range on the adjacent lane
right LinearFeatureRange list Right side adjacent lanes.

Because the start and end of adjacent lanes need not be aligned a complete

description of lane adjacency requires capturing corresponding ranges for this lane and the adjacent lane.

The linear-feature-range properties are interpreted as follows:

- target feature - adjacent lane

- source range - this lane's range

- target range - the corresponding range on the adjacent lane

## BoundaryRanges

part BoundaryRanges

Module lane

Ranges on both left and right boundaries of the lane aligned with corresponding ranges on the lane centerline (vehicle path).

Property Type Modifier Description
left PairedRange list Ranges on the left side of the lane.

The ranges are ordered by start offset of the lane ranges and are non-overlapping. There may be gaps.

The list may be empty.
right PairedRange list Ranges on the right side of the lane.

The ranges are ordered by start offset of the lane ranges and are non-overlapping. There may be gaps.

The list may be empty.
Constraint Expression Description
someRanges (non-empty(.left) non-empty(.right))

## Lane

feature Lane extends MomFeature

Module lane

Definition of lane in Map Objects schema.

Property Type Modifier Description
momType "lane.Lane"
id string
bbox BoundingBox optional
geometry LineString Lane drive path geometry.
properties LaneProperties
referencePoint Point optional This is the location of this feature, collapsed to a single point.

This is for any application where an approximate, but deterministic and consistent, location is useful. One

example is deciding where to "anchor" a feature within a tiled map database.

Any Reference to this feature should include this point.
nonSpatialPartitionKey string optional The partition id for a generically partitioned feature.

Generically partitioned features fall into two categories:

1. Features that have a spatial component but may not make sense to partition based on that geometry.

2. Features that don't have a strong spatial component.

How keys will be assigned and what value ranges will be used are not specified.

Examples of generically partitioned features are admin, zone, postal, phonetics, metadata, etc.
Constraint Expression Description
atMostOneDefinedProperty (is-empty(.referencePoint) is-empty(.nonSpatialPartitionKey)) At most one of non-spatial-partition-key and reference-point can be defined.

## LaneBoundaryElement

abstract part LaneBoundaryElement

Module lane

## LaneBoundaryType

enum LaneBoundaryType

Module lane

Supported lane-boundary-type values are:

• physical-lane-boundary
• virtual-lane-boundary
Value Description

## LaneProperties

part LaneProperties extends Common

Module lane

Properties information of a lane.

Property Type Modifier Description
@ns:com:here:mom:rmob string optional Currently not specified - may be specified by each Feature individually in future
featureType FeatureType optional Deprecated. This property is redundant to MomFeature.momType and should not be used.

MOM clients before 2.6 release had this deprecated property set to required, so

if data needs to be JSON schema validated by clients before 2.6 this property must be

set by the writer.
isoCountryCode Country optional Deprecated. This indicates which country a Feature is in, with a couple caveats.

- It may be unknown ("NONE" is a valid value, in addition to "UNDEFINED" like all MOM enums) simply because the

writer has not tried to figure it out or has otherwise not had the means to do so.

- It may be outright incorrect or a simplification of reality, specifically when a Feature is close to a country

border or in a disputed area (e.g., two or more countries claim the same area).

In all cases, writers and readers of this data should understand that the semantics of this property must be

agreed upon (if it is used at all). The preferred method of relating a Feature to a Country is through a

(direct or transitive) Reference from the Feature to an Admin.
@ns:com:here:mom:delta Branch optional
@ns:com:here:mom:mapcreator MapCreator optional
@ns:com:here:xyz Xyz optional Generic Data Hub namespace
extensionOSM MomOsm optional Optional extension for OSM (Open Street Map) metadata,

in case the object came from OSM
@ns:com:here:groundTruth GroundTruth optional Ground truth namespace
confidence ConfidenceData optional Confidence of a feature, optional only for the features

that are not participating in Quality Index.
directionOfTravel DirectionOfTravel Travel direction is with respect to the digitization direction of top level geometry (Lane drive path geometry).

The Lane Direction of Travel attribute describes the direction of travel for each lane.
incomingLanes Lane list References to other lanes that are connected to the start of this lane.
outgoingLanes Lane list References to other lanes that are connected to the end of this lane.
leftAdjacentLaneRanges LaneRange list Represents the adjacent lane ranges on the left side of the parent lane, relative to the parent lane direction

of travel.
rightAdjacentLaneRanges LaneRange list Represents the adjacent lane ranges on the right side of the parent lane, relative to the parent lane direction

of travel.
overlapLaneRanges LaneRange list Represents the part of the lane range which is overlapping with one or multiple lanes.
leftBoundaryElements LateralLaneBoundaryElement list In start to end order.

References the left-side lane boundary element from the parent lane.
rightBoundaryElements LateralLaneBoundaryElement list References the right-side lane boundary element from the parent lane.
startBoundaryElements LongitudinalLaneBoundaryElement list In left to right order.

References the lane boundary element at the start of this lane.
endBoundaryElements LongitudinalLaneBoundaryElement list References the lane boundary element at the end of this lane.
attributes LaneAttributes Represents the Lane Attributes associated to lane feature.
goreRanges BoundaryRanges optional Ranges along boundaries (left or right) that are adjacent to gores.

A gore is a space between lanes that is paved and level and could be physically

crossed by traffic but is itself not part of any lane.

debugging purposes only and have no effect on the lane itself.
Constraint Expression Description
leftBoundaryElementsNonEmpty non-empty(.leftBoundaryElements)
rightBoundaryElementsNonEmpty non-empty(.rightBoundaryElements)
startBoundaryElementsNonEmpty non-empty(.startBoundaryElements)
endBoundaryElementsNonEmpty non-empty(.endBoundaryElements)
leftGoreRangesImplyLeftBoundary (non-empty(to-list(.goreRanges.left)) -> non-empty(.leftBoundaryElements))
rightGoreRangesImplyRightBoundary (non-empty(to-list(.goreRanges.right)) -> non-empty(.rightBoundaryElements))

## LaneRange

part LaneRange

Module lane

A reference to a range of lane.

Property Type Modifier Description
range LinearFeatureRange

## LateralLaneBoundaryElement

part LateralLaneBoundaryElement

Module lane

A range of a lateral lane boundary referencing a segment of lane geometry, it can be either a LinearFeatureRangeReference or VirtualLaneBoundary.

Property Type Modifier Description
range LaneBoundaryElement

## LinearFeatureRange

part LinearFeatureRange extends LaneBoundaryElement

Module lane

Structure to store the parametric range of target feature to corresponding range of source feature with optional length detail. If both targetRange and sourceRange are inverted, or non-inverted, they have same orientation.

Property Type Modifier Description
laneBoundaryType "LinearFeatureRange"
targetFeature MomFeature The target feature can be one of lane marking, road boundary, stopline or crosswalk.
targetRange LinearRange Target range specifies the range within which the attribute is applied.
sourceRange LinearRange Source range specifies the range within which the attribute is applied.
targetLengthInCentimeters integer optional Target length in centimeters.

## LongitudinalLaneBoundaryElement

part LongitudinalLaneBoundaryElement

Module lane

A range of a longitudinal lane boundary referencing a segment of lane geometry, it can be either a LinearFeatureRangeReference or VirtualLaneBoundary.

Property Type Modifier Description
range LaneBoundaryElement

## PairedRange

part PairedRange

Module lane

A pair of corresponding ranges for a lane and one of its boundaries. Whether left or right boundary is determined by usage.

Property Type Modifier Description
laneRange LinearRange Range on the lane centerline geometry (vehicle path).
boundaryRange LinearRange Range on one of the lane's boundary gometries.

## PhysicalLaneBoundary

part PhysicalLaneBoundary extends LaneBoundaryElement

Module lane

Physical lane boundary is the painted lane marking

Property Type Modifier Description
laneBoundaryType "PhysicalLaneBoundary"
linearFeature LinearFeatureRange Refers to original linear-feature (for backward compatibility)
stripeDetails StripeDetail list Order of stripe details is from left to right according to the lane marking geometry orientation.
wholeWidthInCentimeters integer optional Optional width of a stripe in centimeters. Overall width applicable when stripe width is unknown.
boundaryPolyline LineString Physical lane boundary geometry
Constraint Expression Description
wholeWidthInCentimetersMin0 (non-empty(.wholeWidthInCentimeters) -> (head(.wholeWidthInCentimeters) >= 0))

Module lane

Road Boundary is the physical pavement edge, painted or not. If the edge (or very near the edge) is painted as well, that will be a separate Lane Marking.

Property Type Modifier Description
linearFeature LinearFeatureRange Refers to original linear-feature (for backward compatibility)

## VirtualLaneBoundary

part VirtualLaneBoundary extends LaneBoundaryElement

Module lane

A segment of geometry to represent virtual geometry on lane boundary.

Property Type Modifier Description
laneBoundaryType "VirtualLaneBoundary"
virtualLaneBoundaryIndex integer Identifier of this virtual lane boundary, unique within this lane.
virtualBoundaryPolyline LineString Linestring represents the virtual boundary geometry.