Newer
Older
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 19091
--
-- This ASN.1 was generated: 30.08.2016
--
-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
-- as defined in ISO TS 19091 and SAEJ2735
--
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
--
-- module: DSRC
--
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) }
DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS
--FIXME RGY definitions moved to module DSRC-REGION-noCircular are commented our below
StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist,
Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, /*Reg-LaneDataAttribute,*/ Reg-MovementEvent, Reg-MovementState,
/*Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,*/ Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment,
Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)}
--FIXME RGY definitions moved to DSRC-REGION-noCircular but also refernced here are re-imported
DeltaAngle, DeltaTime, LaneID, NodeSetXY, PrioritizationResponseStatus, RegionalExtension, SignalGroupID, SpeedLimitList, Velocity,
Reg-LaneDataAttribute, Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY FROM DSRC-REGION-noCircular
Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)}
;
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
-- Start of entries from table Messages...
-- This table typicaly contains message entries.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
MessageFrame ::= SEQUENCE {
messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}),
value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}),
...
}
MESSAGE-ID-AND-TYPE ::= CLASS {
&id DSRCmsgID UNIQUE,
&Type
} WITH SYNTAX {&Type IDENTIFIED BY &id}
MessageTypes MESSAGE-ID-AND-TYPE ::= {
{ MapData IDENTIFIED BY mapData } |
{ SPAT IDENTIFIED BY signalPhaseAndTimingMessage } |
{ SignalRequestMessage IDENTIFIED BY signalRequestMessage } |
{ SignalStatusMessage IDENTIFIED BY signalStatusMessage },
... -- Expansion to be used only by the SAE J2735 DSRC TC
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
-- Regional extensions support
REG-EXT-ID-AND-TYPE ::= CLASS {
&id RegionId UNIQUE,
&Type
} WITH SYNTAX {&Type IDENTIFIED BY &id}
RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
regionId REG-EXT-ID-AND-TYPE.&id( {Set} ),
regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
}
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
SPAT ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
name DescriptiveName OPTIONAL,
-- human readable name for this collection
-- to be used only in debug mode
intersections IntersectionStateList,
-- sets of SPAT data (one per intersection)
-- If PrioritizationResponse data is required, it is found
-- in the RegionalSPAT entry below
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SPAT}} OPTIONAL,
...
}
SignalRequestMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
second DSecond,
sequenceNumber MsgCount OPTIONAL,
requests SignalRequestList OPTIONAL,
-- Request Data for one or more signalized
-- intersections that support SRM dialogs
requestor RequestorDescription,
-- Requesting Device and other User Data
-- contains vehicle ID (if from a vehicle)
-- as well as type data and current position
-- and may contain additional transit data
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
...
}
SignalStatusMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
second DSecond,
sequenceNumber MsgCount OPTIONAL,
-- Status Data for one of more signalized intersections
status SignalStatusList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
...
}
MapData ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
msgIssueRevision MsgCount,
layerType LayerType OPTIONAL,
layerID LayerID OPTIONAL,
intersections IntersectionGeometryList OPTIONAL,
-- All Intersection definitions
roadSegments RoadSegmentList OPTIONAL,
-- All roadway descriptions
dataParameters DataParameters OPTIONAL,
-- Any meta data regarding the map contents
restrictionList RestrictionClassList OPTIONAL,
-- Any restriction ID tables which have
-- established for these map entries
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MapData}} OPTIONAL,
-- NOTE:
-- Other map data will be added here as it is defined
-- Examples of the type of content to be added include
-- curve warnings, construction routes, etc.
...
}
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
-- Start of entries from table Data_Frames...
-- This table typicaly contains data frame entries.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeed ::= SEQUENCE {
type AdvisorySpeedType,
-- the type of advisory which this is.
speed SpeedAdvice OPTIONAL,
-- See Section 11 for converting and translating speed
-- expressed in mph into units of m/s
-- This element is optional ONLY when superceded
-- by the presence of a regional speed element found in
-- Reg-AdvisorySpeed entry
confidence SpeedConfidence OPTIONAL,
-- A confidence value for the above speed
distance ZoneLength OPTIONAL,
-- Unit = 1 meter,
-- The distance indicates the region for which the advised speed
-- is recommended, it is specified upstream from the stop bar
-- along the connected egressing lane
class RestrictionClassID OPTIONAL,
-- the vehicle types to which it applies
-- when absent, the AdvisorySpeed applies to
-- all motor vehicle types
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
...
}
AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
ComputedLane ::= SEQUENCE {
-- Data needed to created a computed lane
referenceLaneId LaneID,
-- the lane ID upon which this
-- computed lane will be based
-- Lane Offset in X and Y direction
offsetXaxis CHOICE {
small DrivenLineOffsetSm,
large DrivenLineOffsetLg
},
offsetYaxis CHOICE {
small DrivenLineOffsetSm,
large DrivenLineOffsetLg
},
-- A path X offset value for translations of the
-- path's points when creating translated lanes.
-- The values found in the reference lane are
-- all offset based on the X and Y values from
-- the coordinates of the reference lane's
-- initial path point.
-- Lane Rotation
rotateXY Angle OPTIONAL,
-- A path rotation value for the entire lane
-- Observe that this rotates the existing orientation
-- of the referenced lane, it does not replace it.
-- Rotation occurs about the initial path point.
-- Lane Path Scale (zooming)
scaleXaxis Scale-B12 OPTIONAL,
scaleYaxis Scale-B12 OPTIONAL,
-- value for translations or zooming of the path's
-- points. The values found in the reference lane
-- are all expanded or contracted based on the X
-- and Y and width values from the coordinates of
-- the reference lane's initial path point.
-- The Z axis remains untouched.
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
...
}
ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
ConnectingLane ::= SEQUENCE {
lane LaneID, -- Index of the connecting lane
maneuver AllowedManeuvers OPTIONAL
-- The Maneuver between
-- the enclosing lane and this lane
-- at the stop line to connect them
}
Connection ::= SEQUENCE {
-- The subject lane connecting to this lane is:
connectingLane ConnectingLane,
-- The index of the connecting lane and also
-- the maneuver from the current lane to it
remoteIntersection IntersectionReferenceID OPTIONAL,
-- This entry is only used when the
-- indicated connecting lane belongs
-- to another intersection layout. This
-- provides a means to create meshes of lanes
-- SPAT mapping details at the stop line are:
signalGroup SignalGroupID OPTIONAL,
-- The matching signal group send by
-- the SPAT message for this lane/maneuver.
-- Shall be present unless the connectingLane
-- has no signal group (is un-signalized)
userClass RestrictionClassID OPTIONAL,
-- The Restriction Class of users this applies to
-- The use of some lane/maneuver and SignalGroupID
-- pairings are restricted to selected users.
-- When absent, the SignalGroupID applies to all
-- Movement assist details are given by:
connectionID LaneConnectionID OPTIONAL
-- An optional connection index used to
-- relate this lane connection to any dynamic
-- clearance data in the SPAT. Note that
-- the index may be shared with other
-- connections if the clearance data is common
}
ConnectionManeuverAssist ::= SEQUENCE {
connectionID LaneConnectionID,
-- the common connectionID used by all lanes to which
-- this data applies
-- (this value traces to ConnectsTo entries in lanes)
-- Expected Clearance Information
queueLength ZoneLength OPTIONAL,
-- Unit = 1 meter, 0 = no queue
-- The distance from the stop line to the back
-- edge of the last vehicle in the queue,
-- as measured along the lane center line.
availableStorageLength ZoneLength OPTIONAL,
-- Unit = 1 meter, 0 = no space remains
-- Distance (e.g. beginning from the downstream
-- stop-line up to a given distance) with a high
-- probability for successfully executing the
-- connecting maneuver between the two lanes
-- during the current cycle.
-- Used for enhancing the awareness of vehicles
-- to anticipate if they can pass the stop line
-- of the lane. Used for optimizing the green wave,
-- due to knowledge of vehicles waiting in front
-- of a red light (downstream).
-- The element nextTime in TimeChangeDetails
-- in the containing data frame contains the next
-- timemark at which an active phase is expected,
-- a form of storage flush interval.
waitOnStop WaitOnStopline OPTIONAL,
-- If "true", the vehicles on this specific connecting
-- maneuver have to stop on the stop-line and not
-- to enter the collision area
pedBicycleDetect PedestrianBicycleDetect OPTIONAL,
-- true if ANY ped or bicycles are detected crossing
-- the above lanes. Set to false ONLY if there is a
-- high certainty that there are none present,
-- otherwise element is not sent.
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
...
}
DataParameters ::= SEQUENCE {
processMethod IA5String(SIZE(1..255)) OPTIONAL,
processAgency IA5String(SIZE(1..255)) OPTIONAL,
lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL,
geoidUsed IA5String(SIZE(1..255)) OPTIONAL,
...
}
EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
-- The unique ID numbers for each
-- lane object which is 'active'
-- as part of the dynamic map contents.
GenericLane ::= SEQUENCE {
laneID LaneID,
-- The unique ID number assigned
-- to this lane object
name DescriptiveName OPTIONAL,
-- often for debug use only
-- but at times used to name ped crossings
ingressApproach ApproachID OPTIONAL, -- inbound
egressApproach ApproachID OPTIONAL, -- outbound
-- Approach IDs to which this lane belongs
laneAttributes LaneAttributes,
-- All Attribute information about
-- the basic selected lane type
-- Directions of use, Geometric co-sharing
-- and Type Specific Attributes
-- These Attributes are 'lane - global' that is,
-- they are true for the entire length of the lane
maneuvers AllowedManeuvers OPTIONAL,
-- the permitted maneuvers for this lane
nodeList NodeListXY,
-- Lane spatial path information as well as
-- various Attribute information along the node path
-- Attributes found here are more general and may
-- come and go over the length of the lane.
connectsTo ConnectsToList OPTIONAL,
-- a list of other lanes and their signal group IDs
-- each connecting lane and its signal group ID
-- is given, therefore this element provides the
-- information formerly in "signalGroups" in prior
-- editions.
overlays OverlayLaneList OPTIONAL,
-- A list of any lanes which have spatial paths that
-- overlay (run on top of, and not simply cross)
-- the path of this lane when used
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-GenericLane}} OPTIONAL,
...
}
IntersectionAccessPoint ::= CHOICE {
lane LaneID,
approach ApproachID,
connection LaneConnectionID,
...
}
IntersectionGeometry ::= SEQUENCE {
name DescriptiveName OPTIONAL,
-- For debug use only
id IntersectionReferenceID,
-- A globally unique value set,
-- consisting of a regionID and
-- intersection ID assignment
revision MsgCount,
-- Required default values about lane descriptions follow
refPoint Position3D, -- The reference from which subsequent
-- data points are offset until a new
-- point is used.
laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
speedLimits SpeedLimitList OPTIONAL,
-- Reference regulatory speed limits
-- used by all subsequent
-- lanes unless a new speed is given
-- See Section 11 for converting and
-- translating speed expressed in mph
-- into units of m/s
-- Complete details regarding each lane type in this intersection
laneSet LaneList, -- Data about one or more lanes
-- (all lane data is found here)
-- Data describing how to use and request preemption and
-- priority services from this intersection (if supported)
-- NOTE Additonal data may be added in the next release of the
-- standard at this point to handle this concept
preemptPriorityData PreemptPriorityList OPTIONAL,
-- data about one or more regional
-- preempt or priority zones
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
...
}
IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
IntersectionReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL,
-- a globally unique regional assignment value
-- typical assigned to a regional DOT authority
-- the value zero shall be used for testing needs
id IntersectionID
-- a unique mapping to the intersection
-- in question within the above region of use
}
IntersectionState ::= SEQUENCE {
name DescriptiveName OPTIONAL,
-- human readable name for intersection
-- to be used only in debug mode
id IntersectionReferenceID,
-- A globally unique value set, consisting of a
-- regionID and intersection ID assignment
-- provides a unique mapping to the
-- intersection MAP in question
-- which provides complete location
-- and approach/move/lane data
revision MsgCount,
status IntersectionStatusObject,
-- general status of the controller(s)
moy MinuteOfTheYear OPTIONAL,
-- Minute of current UTC year
-- used only with messages to be archived
timeStamp DSecond OPTIONAL,
-- the mSec point in the current UTC minute that
-- this message was constructed
enabledLanes EnabledLaneList OPTIONAL,
-- a list of lanes where the RevocableLane bit
-- has been set which are now active and
-- therefore part of the current intersection
states MovementList,
-- Each Movement is given in turn
-- and contains its signal phase state,
-- mapping to the lanes it applies to, and
-- point in time it will end, and it
-- may contain both active and future states
maneuverAssistList ManeuverAssistList OPTIONAL,
-- Assist data
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
...
}
IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState
LaneAttributes ::= SEQUENCE {
directionalUse LaneDirection, -- directions of lane use
sharedWith LaneSharing, -- co-users of the lane path
laneType LaneTypeAttributes, -- specific lane type data
regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
LaneDataAttribute ::= CHOICE {
-- Segment attribute types and the data needed for each
pathEndPointAngle DeltaAngle,
-- adjusts final point/width slant
-- of the lane to align with the stop line
laneCrownPointCenter RoadwayCrownAngle,
-- sets the canter of the road bed
-- from centerline point
laneCrownPointLeft RoadwayCrownAngle,
-- sets the canter of the road bed
-- from left edge
laneCrownPointRight RoadwayCrownAngle,
-- sets the canter of the road bed
-- from right edge
laneAngle MergeDivergeNodeAngle,
-- the angle or direction of another lane
-- this is required to support Japan style
-- when a merge point angle is required
speedLimits SpeedLimitList,
-- Reference regulatory speed limits
-- used by all segments
-- Add others as needed, in regional space
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-LaneDataAttribute}},
...
}
LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
LaneSharing ::= BIT STRING {
-- With bits as defined:
overlappingLaneDescriptionProvided (0),
-- Assert when another lane object is present to describe the
-- path of the overlapping shared lane
-- this construct is not used for lane objects which simply cross
multipleLanesTreatedAsOneLane (1),
-- Assert if the lane object path and width details represents
-- multiple lanes within it that are not further described
-- Various modes and type of traffic that may share this lane:
otherNonMotorizedTrafficTypes (2), -- horse drawn etc.
individualMotorizedVehicleTraffic (3),
busVehicleTraffic (4),
taxiVehicleTraffic (5),
pedestriansTraffic (6),
cyclistVehicleTraffic (7),
trackedVehicleTraffic (8),
pedestrianTraffic (9)
} (SIZE (10))
-- All zeros would indicate 'not shared' and 'not overlapping'
LaneTypeAttributes ::= CHOICE {
vehicle LaneAttributes-Vehicle, -- motor vehicle lanes
crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks
bikeLane LaneAttributes-Bike, -- bike lanes
sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths
median LaneAttributes-Barrier, -- medians & channelization
striping LaneAttributes-Striping, -- roadway markings
trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys
parking LaneAttributes-Parking, -- parking and stopping lanes
...
}
ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementEvent ::= SEQUENCE {
eventState MovementPhaseState,
-- Consisting of:
-- Phase state (the basic 11 states)
-- Directional, protected, or permissive state
timing TimeChangeDetails OPTIONAL,
-- Timing Data in UTC time stamps for event
-- includes start and min/max end times of phase
-- confidence and estimated next occurrence
speeds AdvisorySpeedList OPTIONAL,
-- various speed advisories for use by
-- general and specific types of vehicles
-- supporting green-wave and other flow needs
-- See Section 11 for converting and translating
-- speed expressed in mph into units of m/s
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
...
}
MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
MovementState ::= SEQUENCE {
movementName DescriptiveName OPTIONAL,
-- uniquely defines movement by name
-- human readable name for intersection
-- to be used only in debug mode
signalGroup SignalGroupID,
-- the group id is used to map to lists
-- of lanes (and their descriptions)
-- which this MovementState data applies to
-- see comments in the Remarks for usage details
state-time-speed MovementEventList,
-- Consisting of sets of movement data with:
-- a) SignalPhaseState
-- b) TimeChangeDetails, and
-- c) AdvisorySpeeds (optional )
-- Note one or more of the movement events may be for
-- a future time and that this allows conveying multiple
-- predictive phase and movement timing for various uses
-- for the current signal group
maneuverAssistList ManeuverAssistList OPTIONAL,
-- This information may also be placed in the
-- IntersectionState when common information applies to
-- different lanes in the same way
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementState}} OPTIONAL,
...
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
NodeAttributeSetXY ::= SEQUENCE {
localNode NodeAttributeXYList OPTIONAL,
-- Attribute states which pertain to this node point
disabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are disabled at this node point
enabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are enabled at this node point
-- and which remain enabled until disabled or the lane ends
data LaneDataAttributeList OPTIONAL,
-- Attributes which require an additional data values
-- some of these are local to the node point, while others
-- persist with the provided values until changed
-- and this is indicated in each entry
dWidth Offset-B10 OPTIONAL,
-- A value added to the current lane width
-- at this node and from this node onwards, in 1cm steps
-- lane width between nodes are a linear taper between pts
-- the value of zero shall not be sent here
dElevation Offset-B10 OPTIONAL,
-- A value added to the current Elevation
-- at this node from this node onwards, in 10cm steps
-- elevations between nodes are a linear taper between pts
-- the value of zero shall not be sent here
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
...
}
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
NodeAttributeXY ::= ENUMERATED {
-- Various values which pertain only to the current node point
-- General Items
reserved,
stopLine, -- point where a mid-path stop line exists
-- See also 'do not block' for segments
-- Path finish details
roundedCapStyleA, -- Used to control final path rounded end shape
-- with edge of curve at final point in a circle
roundedCapStyleB, -- Used to control final path rounded end shape
-- with edge of curve extending 50% of width past
-- final point in a circle
-- Topography Points (items with no concept of a distance along the path)
mergePoint, -- Japan merge with 1 or more lanes
divergePoint, -- Japan diverge with 1 or more lanes
downstreamStopLine, -- Japan style downstream intersection
-- (a 2nd intersection) stop line
downstreamStartNode, -- Japan style downstream intersection
-- (a 2nd intersection) start node
-- Pedestrian Support Attributes
closedToTraffic, -- where a pedestrian may NOT go
-- to be used during construction events
safeIsland, -- a pedestrian safe stopping point
-- also called a traffic island
-- This usage described a point feature on a path,
-- other entries can describe a path
curbPresentAtStepOff, -- the sidewalk to street curb is NOT
-- angled where it meets the edge of the
-- roadway (user must step up/down)
-- Lane geometry details (see standard for defined shapes)
hydrantPresent, -- Or other services access
...
}
Node-LLmD-64b ::= SEQUENCE {
lon Longitude,
lat Latitude
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
Node-XY-20b ::= SEQUENCE {
x Offset-B10,
y Offset-B10
}
Node-XY-22b ::= SEQUENCE {
x Offset-B11,
y Offset-B11
}
Node-XY-24b ::= SEQUENCE {
x Offset-B12,
y Offset-B12
}
Node-XY-26b ::= SEQUENCE {
x Offset-B13,
y Offset-B13
}
Node-XY-28b ::= SEQUENCE {
x Offset-B14,
y Offset-B14
}
Node-XY-32b ::= SEQUENCE {
x Offset-B16,
y Offset-B16
}
NodeListXY ::= CHOICE {
nodes NodeSetXY,
-- a lane made up of two or more
-- XY node points and any attributes
-- defined in those nodes
computed ComputedLane,
-- a lane path computed by translating
-- the data defined by another lane
...
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
NodeOffsetPointXY ::= CHOICE {
-- Nodes with X,Y content
node-XY1 Node-XY-20b, -- node is within 5.11m of last node
node-XY2 Node-XY-22b, -- node is within 10.23m of last node
node-XY3 Node-XY-24b, -- node is within 20.47m of last node
node-XY4 Node-XY-26b, -- node is within 40.96m of last node
node-XY5 Node-XY-28b, -- node is within 81.91m of last node
node-XY6 Node-XY-32b, -- node is within 327.67m of last node
node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range
regional RegionalExtension {{Reg-NodeOffsetPointXY}}
-- node which follows is of a
-- regional definition type
}
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
NodeXY ::= SEQUENCE {
delta NodeOffsetPointXY,
-- A choice of which X,Y offset value to use
-- this includes various delta values as well a regional choices
attributes NodeAttributeSetXY OPTIONAL,
-- Any optional Attributes which are needed
-- This includes changes to the current lane width and elevation
...
}
OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
-- The unique ID numbers for any lane object which have
-- spatial paths that overlay (run on top of, and not
-- simply cross with) the current lane.
-- Such as a train path that overlays a motor vehicle
-- lane object for a roadway segment.
Position3D ::= SEQUENCE {
lat Latitude, -- in 1/10th micro degrees
long Longitude, -- in 1/10th micro degrees
elevation Elevation OPTIONAL, -- in 10 cm units
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-Position3D}} OPTIONAL,
...
}
PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
RegulatorySpeedLimit ::= SEQUENCE {
type SpeedLimitType,
-- The type of regulatory speed which follows
speed Velocity
-- The speed in units of 0.02 m/s
-- See Section 11 for converting and translating
-- speed expressed in mph into units of m/s
}
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
RequestorDescription ::= SEQUENCE {
id VehicleID,
-- The ID used in the BSM or CAM of the requestor
-- This ID is presumed not to change
-- during the exchange
type RequestorType OPTIONAL,
-- Information regarding all type and class data
-- about the requesting vehicle
position RequestorPositionVector OPTIONAL,
-- The location of the requesting vehicle
name DescriptiveName OPTIONAL,
-- A human readable name for debugging use
-- Support for Transit requests
routeName DescriptiveName OPTIONAL,
-- A string for transit operations use
transitStatus TransitVehicleStatus OPTIONAL,
-- current vehicle state (loading, etc.)
transitOccupancy TransitVehicleOccupancy OPTIONAL,
-- current vehicle occupancy
transitSchedule DeltaTime OPTIONAL,
-- current vehicle schedule adherence
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
...
}
RequestorPositionVector ::= SEQUENCE {
position Position3D,
heading Angle OPTIONAL,
speed TransmissionAndSpeed OPTIONAL,
...
}
RequestorType ::= SEQUENCE {
-- Defines who is requesting
role BasicVehicleRole, -- Basic role of this user at this time
subrole RequestSubRole OPTIONAL, -- A local list with role based items
-- Defines what kind of request (a level of importance in the Priority Scheme)
request RequestImportanceLevel OPTIONAL, -- A local list with request items
-- Additional classification details
iso3883 Iso3833VehicleType OPTIONAL,
hpmsType VehicleType OPTIONAL, -- HPMS classification types
regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
...
}
RestrictionClassAssignment ::= SEQUENCE {
id RestrictionClassID,
-- the unique value (within an intersection or local region)
-- that is assigned to this group of users
users RestrictionUserTypeList
-- The list of user types/classes
-- to which this restriction ID applies
}
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RestrictionUserType ::= CHOICE {
basicType RestrictionAppliesTo,
-- a set of the most commonly used types
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RestrictionUserType}},
...
}
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
RoadSegmentReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL,
-- a globally unique regional assignment value
-- typically assigned to a regional DOT authority
-- the value zero shall be used for testing needs
id RoadSegmentID
-- a unique mapping to the road segment
-- in question within the above region of use
-- during its period of assignment and use
-- note that unlike intersectionID values,
-- this value can be reused by the region
}
RoadSegment ::= SEQUENCE {
name DescriptiveName OPTIONAL,
id RoadSegmentReferenceID,
-- a globally unique value for the segment
revision MsgCount,
-- Required default values about the descriptions to follow
refPoint Position3D, -- the reference from which subsequent
-- data points are offset until a new
-- point is used.
laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
speedLimits SpeedLimitList OPTIONAL,
-- Reference regulatory speed limits
-- used by all subsequent
-- lanes unless a new speed is given
-- See Section 11 for converting and
-- translating speed expressed in mph
-- into units of m/s
-- Data describing disruptions in the RoadSegment
-- such as work zones etc will be added here;
-- in the US the SAE ITIS codes would be used here
-- The details regarding each lane type in the RoadSegment
roadLaneSet RoadLaneSetList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
...
}
RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
SignalControlZone ::= SEQUENCE {
zone RegionalExtension {{Reg-SignalControlZone}},
...
}
SignalRequesterInfo ::= SEQUENCE {
-- These three items serve to uniquely identify the requester
-- and the specific request to all parties
id VehicleID,
request RequestID,
sequenceNumber MsgCount,
role BasicVehicleRole OPTIONAL,
typeData RequestorType OPTIONAL,
-- Used when addition data besides the role
-- is needed, at which point the role entry
-- above is not sent.
...
}
SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
SignalRequestPackage ::= SEQUENCE {
request SignalRequest,
-- The specific request to the intersection
-- contains IntersectionID, request type,
-- requested action (approach/lane request)
-- The Estimated Time of Arrival (ETA) when the service is requested
minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
-- The duration value is used to provide a short interval that
-- extends the ETA so that the requesting vehicle can arrive at
-- the point of service with uncertainty or with some desired
-- duration of service. This concept can be used to avoid needing
-- to frequently update the request.
-- The requester must update the ETA and duration values if the
-- period of services extends beyond the duration time.
-- It should be assumed that if the vehicle does not clear the
-- intersection when the duration is reached, the request will
-- be cancelled and the intersection will revert to
-- normal operation.
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
...
}
SignalRequest ::= SEQUENCE {
-- the unique ID of the target intersection
id IntersectionReferenceID,
-- The unique requestID used by the requestor
requestID RequestID,
-- The type of request or cancel for priority or preempt use
-- when a prior request is canceled, only the requestID is needed
requestType PriorityRequestType,
-- In typical use either an approach or a lane number would
-- be given, this indicates the requested
-- path through the intersection to the degree it is known.
inBoundLane IntersectionAccessPoint,
-- desired entry approach or lane
outBoundLane IntersectionAccessPoint OPTIONAL,
-- desired exit approach or lane
-- the values zero is used to indicate
-- intent to stop within the intersection
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
...
}
SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
SignalStatusPackage ::= SEQUENCE {
-- The party that made the initial SRM request
requester SignalRequesterInfo OPTIONAL,
-- The lanes or approaches used in the request
inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle
outboundOn IntersectionAccessPoint OPTIONAL,
-- The Estimated Time of Arrival (ETA) when the service is requested
-- This data echos the data of the request
minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
-- the SRM status for this request
status PrioritizationResponseStatus,
-- Status of request, this may include rejection
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
...
}
SignalStatus ::= SEQUENCE {
sequenceNumber MsgCount,
-- changed whenever the below contents have change