Module lane
Package com.here.mom.feature.lane.lane
Features
Parts
Enums
Adjacency
part Adjacency
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 completedescription 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 completedescription 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. Oneexample 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
Subtypes LinearFeatureRange, PhysicalLaneBoundary, RoadBoundary, VirtualLaneBoundary
LaneBoundaryType
enum LaneBoundaryType
Module lane
Supported lane-boundary-type
values are:
- physical-lane-boundary
- road-boundary
- virtual-lane-boundary
LaneProperties
part LaneProperties extends Common
Module lane
Properties information of a lane.
Property | Type | Modifier | Description |
@ns:com:here:mom:meta | Metadata | optional | |
@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, soif data needs to be JSON schema validated by clients before 2.6 this property must beset 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 beagreed 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 featuresthat 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 directionof travel. |
rightAdjacentLaneRanges | LaneRange | list | Represents the adjacent lane ranges on the right side of the parent lane, relative to the parent lane directionof 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. |
adjacency | Adjacency | optional | Left and right lane adjacency values accordingly to adjacent lanes. |
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 physicallycrossed by traffic but is itself not part of any lane. |
derivationMetadata | LaneDerivationMetadata | optional | Lane derivation metadata. The metadata values are used fordebugging purposes only and have no effect on the lane itself. |
roadReferences | RoadReference | list |
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)) | |
roadReferencesMinSize0 | (size(.roadReferences) >= 0) |
LaneRange
part LaneRange
Module lane
A reference to a range of lane.
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.
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.
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)) |
RoadBoundary
part RoadBoundary extends LaneBoundaryElement
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 |
laneBoundaryType | "RoadBoundary" | | |
linearFeature | LinearFeatureRange | | Refers to original linear-feature (for backward compatibility) |
roadBoundaryType | RoadBoundaryType | | Type of road boundary. |
boundaryPolyline | LineString | | Road Boundary geometry |
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. |