kitt v0.3.0 Kitt.Message.MAP View Source
Defines the structure and instantiation function for creating a J2735-compliant MapData message
A MapData message defines the geometry of a roadway intersection including the lanes, ingress/egress vectors and other defined rules for traversing the intersection.
Link to this section Summary
Types
Defines the MapData message and the data elements comprising its fields
Functions
Produces a MAP message struct from an equivalent map or keyword input
Returns the MAP identifying atom recognized by the ASN1 spec
Returns the MAP identifying integer
Link to this section Types
Link to this type
bike_lane_attribute()
View Sourcebike_lane_attribute() :: :bikeRevocableLane | :pedestrianUseAllowed | :isBikeFlyOverLane | :fixedCycleTime | :biDirectionalCycleTimes | :isolatedByBarrier | :unsignalizedSegmentsPresent
Link to this type
connecting_lane()
View Sourceconnecting_lane() :: %{lane: non_neg_integer(), maneuver: maneuver()}
Link to this type
connection()
View Sourceconnection() :: %{
connectingLane: connecting_lane(),
remoteIntersection: Kitt.Types.intersection_reference_id(),
signalGroup: non_neg_integer(),
userClass: non_neg_integer(),
connectionID: non_neg_integer()
}
Link to this type
crosswalk_lane_attribute()
View Sourcecrosswalk_lane_attribute() :: :crosswalkRevocableLane | :bicyleUseAllowed | :isXwalkFlyOverLane | :fixedCycleTime | :biDirectionalCycleTimes | :hasPushToWalkButton | :audioSupport | :rfSignalRequestPresent | :unsignalizedSegmentsPresent
Link to this type
generic_lane()
View Sourcegeneric_lane() :: %{
laneID: non_neg_integer(),
name: String.t(),
ingressApproach: non_neg_integer(),
egressApproach: non_neg_integer(),
laneAttributes: lane_attributes(),
maneuvers: maneuver(),
nodeList: Kitt.Types.node_list_xy(),
connectsTo: [connection()],
overlays: [non_neg_integer()],
regional: [Kitt.Types.regional_extension()]
}
Link to this type
intersection_geometry()
View Sourceintersection_geometry() :: %{
name: String.t(),
id: Kitt.Types.intersection_reference_id(),
revision: non_neg_integer(),
refPoint: Kitt.Types.position_3d(),
laneWidth: non_neg_integer(),
speedLimits: [Kitt.Types.regulatory_speed_limit()],
laneSet: [generic_lane()],
preemptPriorityData: [signal_control_zone()],
regional: [Kitt.Types.regional_extension()]
}
Link to this type
lane_attribute_type()
View Sourcelane_attribute_type() ::
{:vehicle, vehicle_lane_attribute()}
| {:crosswalk, crosswalk_lane_attribute()}
| {:bikeLane, bike_lane_attribute()}
| {:sidewalk, sidewalk_lane_attribute()}
| {:median, median_lane_attribute()}
| {:striping, striping_lane_attribute()}
| {:trackedVehicle, tracked_vehicle_attribute()}
| {:parking, parking_lane_attribute()}
Link to this type
lane_attributes()
View Sourcelane_attributes() :: %{
directionalUse: directional_use(),
sharedWith: shared_with(),
laneType: lane_attribute_type(),
regional: [Kitt.Types.regional_extension()]
}
Link to this type
maneuver()
View Sourcemaneuver() :: :maneuverStraightAllowed | :maneuverLeftAllowed | :maneuverRightAllowed | :maneuverUTurnAllowed | :maneuverLeftTurnOnRedAllowed | :maneuverRightTurnOnRedAllowed | :maneuverLaneChangeAllowed | :maneuverNoStoppingAllowed | :yieldAllwaysRequired | :goWithHalt | :caution | :reserved1
Link to this type
median_lane_attribute()
View Sourcemedian_lane_attribute() :: :"median-RevocableLane" | :median | :whiteLineHashing | :stripedLines | :doubleStripedLines | :trafficCones | :constructionBarrier | :trafficChannels | :lowCurbs | :highCurbs
Link to this type
parking_lane_attribute()
View Sourceparking_lane_attribute() :: :parkingRevocableLane | :parallelParkingInUse | :headInParkingInUse | :doNotParkZone | :parkingForBusUse | :parkingForTaxiUse | :noPublicParkingUse
Link to this type
restriction_applies_to()
View Sourcerestriction_applies_to() :: :none | :equippedTransit | :equippedTaxis | :equippedOther | :emissionCompliant | :equippedBicycle | :weightCompliant | :heightCompliant | :pedestrians | :slowMovingPersons | :wheelchairUsers | :visualDisabilities | :audioDisabilities | :otherUnknownDisabilities
Link to this type
restriction_class_assignment()
View Sourcerestriction_class_assignment() :: %{
id: non_neg_integer(),
users: [restriction_user_type()]
}
Link to this type
restriction_user_type()
View Sourcerestriction_user_type() ::
{:basicType, restriction_applies_to()}
| {:regional, [Kitt.Types.regional_extension()]}
Link to this type
road_segment()
View Sourceroad_segment() :: %{
name: String.t(),
id: Kitt.Types.road_segment_reference_id(),
refPoint: Kitt.Types.position_3d(),
laneWidth: non_neg_integer(),
speedLimits: [Kitt.Types.regulatory_speed_limit()],
roadLaneSet: [generic_lane()],
regional: [Kitt.Types.regional_extension()]
}
Link to this type
sidewalk_lane_attribute()
View Sourcesidewalk_lane_attribute() :: :"sidewalk-RevocableLane" | :bicyleUseAllowed | :isSidewalkFlyOverLane | :walkBikes
Link to this type
signal_control_zone()
View Sourcesignal_control_zone() :: %{zone: Kitt.Types.regional_extension()}
Link to this type
striping_lane_attribute()
View Sourcestriping_lane_attribute() :: :stripeToConnectingLanesRevocableLane | :stripeDrawOnLeft | :stripeDrawOnRight | :stripeToConnectingLanesLeft | :stripeToConnectingLanesRight | :stripeToConnectingLanesAhead
Link to this type
t()
View Sourcet() :: %Kitt.Message.MAP{
dataParameters: data_parameters(),
intersections: [intersection_geometry()],
layerID: non_neg_integer(),
layerType:
:none
| :mixedContent
| :generalMapData
| :intersectionData
| :curveData
| :roadwaySectionData
| :parkingAreaData
| :sharedLaneData,
msgIssueRevision: non_neg_integer(),
regional: [Kitt.Types.regional_extension()],
restrictionList: [restriction_class_assignment()],
roadSegments: [road_segment()],
timeStamp: Kitt.Types.minute_of_year()
}
Defines the MapData message and the data elements comprising its fields
Link to this type
tracked_vehicle_attribute()
View Sourcetracked_vehicle_attribute() :: :"spec-RevocableLane" | :"spec-commuterRailRoadTrack" | :"spec-lightRailRoadTrack" | :"spec-heavyRailRoadTrack" | :"spec-otherRailType"
Link to this type
vehicle_lane_attribute()
View Sourcevehicle_lane_attribute() :: :isVehicleRevocableLane | :isVehicleFlyOverLane | :hovLaneUseOnly | :restrictedToBusUse | :restrictedToTaxiUse | :restrictedFromPublicUse | :hasIRbeaconCoverage | :permissionOnRequest
Link to this section Functions
Produces a MAP message struct from an equivalent map or keyword input
Returns the MAP identifying atom recognized by the ASN1 spec
Returns the MAP identifying integer