Kitt.Message.MAP (kitt v0.4.0) 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
Specs
bike_lane_attribute() :: :bikeRevocableLane | :pedestrianUseAllowed | :isBikeFlyOverLane | :fixedCycleTime | :biDirectionalCycleTimes | :isolatedByBarrier | :unsignalizedSegmentsPresent
Specs
connecting_lane() :: %{lane: non_neg_integer(), maneuver: maneuver()}
Specs
connection() :: %{ connectingLane: connecting_lane(), remoteIntersection: Kitt.Types.intersection_reference_id(), signalGroup: non_neg_integer(), userClass: non_neg_integer(), connectionID: non_neg_integer() }
Specs
crosswalk_lane_attribute() :: :crosswalkRevocableLane | :bicyleUseAllowed | :isXwalkFlyOverLane | :fixedCycleTime | :biDirectionalCycleTimes | :hasPushToWalkButton | :audioSupport | :rfSignalRequestPresent | :unsignalizedSegmentsPresent
Specs
Specs
directional_use() :: :ingressPath | :egressPath
Specs
generic_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()] }
Specs
intersection_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()] }
Specs
lane_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()}
Specs
lane_attributes() :: %{ directionalUse: directional_use(), sharedWith: shared_with(), laneType: lane_attribute_type(), regional: [Kitt.Types.regional_extension()] }
Specs
maneuver() :: :maneuverStraightAllowed | :maneuverLeftAllowed | :maneuverRightAllowed | :maneuverUTurnAllowed | :maneuverLeftTurnOnRedAllowed | :maneuverRightTurnOnRedAllowed | :maneuverLaneChangeAllowed | :maneuverNoStoppingAllowed | :yieldAllwaysRequired | :goWithHalt | :caution | :reserved1
Specs
median_lane_attribute() :: :"median-RevocableLane" | :median | :whiteLineHashing | :stripedLines | :doubleStripedLines | :trafficCones | :constructionBarrier | :trafficChannels | :lowCurbs | :highCurbs
Specs
parking_lane_attribute() :: :parkingRevocableLane | :parallelParkingInUse | :headInParkingInUse | :doNotParkZone | :parkingForBusUse | :parkingForTaxiUse | :noPublicParkingUse
Specs
restriction_applies_to() :: :none | :equippedTransit | :equippedTaxis | :equippedOther | :emissionCompliant | :equippedBicycle | :weightCompliant | :heightCompliant | :pedestrians | :slowMovingPersons | :wheelchairUsers | :visualDisabilities | :audioDisabilities | :otherUnknownDisabilities
Specs
restriction_class_assignment() :: %{ id: non_neg_integer(), users: [restriction_user_type()] }
Specs
restriction_user_type() :: {:basicType, restriction_applies_to()} | {:regional, [Kitt.Types.regional_extension()]}
Specs
road_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()] }
Specs
sidewalk_lane_attribute() :: :"sidewalk-RevocableLane" | :bicyleUseAllowed | :isSidewalkFlyOverLane | :walkBikes
Specs
signal_control_zone() :: %{zone: Kitt.Types.regional_extension()}
Specs
striping_lane_attribute() :: :stripeToConnectingLanesRevocableLane | :stripeDrawOnLeft | :stripeDrawOnRight | :stripeToConnectingLanesLeft | :stripeToConnectingLanesRight | :stripeToConnectingLanesAhead
Specs
t() :: %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
Specs
tracked_vehicle_attribute() :: :"spec-RevocableLane" | :"spec-commuterRailRoadTrack" | :"spec-lightRailRoadTrack" | :"spec-heavyRailRoadTrack" | :"spec-otherRailType"
Specs
vehicle_lane_attribute() :: :isVehicleRevocableLane | :isVehicleFlyOverLane | :hovLaneUseOnly | :restrictedToBusUse | :restrictedToTaxiUse | :restrictedFromPublicUse | :hasIRbeaconCoverage | :permissionOnRequest
Link to this section Functions
Specs
Produces a MAP
message struct from an equivalent map or keyword input
Specs
type() :: atom()
Returns the MAP
identifying atom recognized by the ASN1 spec
Specs
type_id() :: non_neg_integer()
Returns the MAP
identifying integer