Skip to content

Instantly share code, notes, and snippets.

@ejdoh1
Last active March 16, 2020 01:32
Show Gist options
  • Save ejdoh1/7352c02435bf3e5a0fdeed88ed212300 to your computer and use it in GitHub Desktop.
Save ejdoh1/7352c02435bf3e5a0fdeed88ed212300 to your computer and use it in GitHub Desktop.
ITS ANS.1 Object Prototypes
('SEQUENCE', {
header: ('SEQUENCE', {
protocolVersion: 'INTEGER',
messageID: 'INTEGER',
stationID: 'INTEGER'
}),
cam: ('SEQUENCE', {
generationDeltaTime: 'INTEGER',
camParameters: ('SEQUENCE', {
basicContainer: ('SEQUENCE', {
stationType: 'INTEGER',
referencePosition: ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER',
positionConfidenceEllipse: ('SEQUENCE', {
semiMajorConfidence: 'INTEGER',
semiMinorConfidence: 'INTEGER',
semiMajorOrientation: 'INTEGER'
}),
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
})
}),
highFrequencyContainer: ('CHOICE', {
basicVehicleContainerHighFrequency: ('SEQUENCE', {
heading: ('SEQUENCE', {
headingValue: 'INTEGER',
headingConfidence: 'INTEGER'
}),
speed: ('SEQUENCE', {
speedValue: 'INTEGER',
speedConfidence: 'INTEGER'
}),
driveDirection: 'ENUMERATED',
vehicleLength: ('SEQUENCE', {
vehicleLengthValue: 'INTEGER',
vehicleLengthConfidenceIndication: 'ENUMERATED'
}),
vehicleWidth: 'INTEGER',
longitudinalAcceleration: ('SEQUENCE', {
longitudinalAccelerationValue: 'INTEGER',
longitudinalAccelerationConfidence: 'INTEGER'
}),
curvature: ('SEQUENCE', {
curvatureValue: 'INTEGER',
curvatureConfidence: 'ENUMERATED'
}),
curvatureCalculationMode: 'ENUMERATED',
yawRate: ('SEQUENCE', {
yawRateValue: 'INTEGER',
yawRateConfidence: 'ENUMERATED'
}),
accelerationControl: 'BIT STRING',
lanePosition: 'INTEGER',
steeringWheelAngle: ('SEQUENCE', {
steeringWheelAngleValue: 'INTEGER',
steeringWheelAngleConfidence: 'INTEGER'
}),
lateralAcceleration: ('SEQUENCE', {
lateralAccelerationValue: 'INTEGER',
lateralAccelerationConfidence: 'INTEGER'
}),
verticalAcceleration: ('SEQUENCE', {
verticalAccelerationValue: 'INTEGER',
verticalAccelerationConfidence: 'INTEGER'
}),
performanceClass: 'INTEGER',
cenDsrcTollingZone: ('SEQUENCE', {
protectedZoneLatitude: 'INTEGER',
protectedZoneLongitude: 'INTEGER',
cenDsrcTollingZoneID: 'INTEGER'
})
}),
rsuContainerHighFrequency: ('SEQUENCE', {
protectedCommunicationZonesRSU: ('SEQUENCE OF', ('SEQUENCE', {
protectedZoneType: 'ENUMERATED',
expiryTime: 'INTEGER',
protectedZoneLatitude: 'INTEGER',
protectedZoneLongitude: 'INTEGER',
protectedZoneRadius: 'INTEGER',
protectedZoneID: 'INTEGER'
}))
})
}),
lowFrequencyContainer: ('CHOICE', {
basicVehicleContainerLowFrequency: ('SEQUENCE', {
vehicleRole: 'ENUMERATED',
exteriorLights: 'BIT STRING',
pathHistory: ('SEQUENCE OF', ('SEQUENCE', {
pathPosition: ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER',
deltaAltitude: 'INTEGER'
}),
pathDeltaTime: 'INTEGER'
}))
})
}),
specialVehicleContainer: ('CHOICE', {
publicTransportContainer: ('SEQUENCE', {
embarkationStatus: 'BOOLEAN',
ptActivation: ('SEQUENCE', {
ptActivationType: 'INTEGER',
ptActivationData: 'OCTET STRING'
})
}),
specialTransportContainer: ('SEQUENCE', {
specialTransportType: 'BIT STRING',
lightBarSirenInUse: 'BIT STRING'
}),
dangerousGoodsContainer: ('SEQUENCE', {
dangerousGoodsBasic: 'ENUMERATED'
}),
roadWorksContainerBasic: ('SEQUENCE', {
roadworksSubCauseCode: 'INTEGER',
lightBarSirenInUse: 'BIT STRING',
closedLanes: ('SEQUENCE', {
innerhardShoulderStatus: 'ENUMERATED',
outerhardShoulderStatus: 'ENUMERATED',
drivingLaneStatus: 'BIT STRING'
})
}),
rescueContainer: ('SEQUENCE', {
lightBarSirenInUse: 'BIT STRING'
}),
emergencyContainer: ('SEQUENCE', {
lightBarSirenInUse: 'BIT STRING',
incidentIndication: ('SEQUENCE', {
causeCode: 'INTEGER',
subCauseCode: 'INTEGER'
}),
emergencyPriority: 'BIT STRING'
}),
safetyCarContainer: ('SEQUENCE', {
lightBarSirenInUse: 'BIT STRING',
incidentIndication: ('SEQUENCE', {
causeCode: 'INTEGER',
subCauseCode: 'INTEGER'
}),
trafficRule: 'ENUMERATED',
speedLimit: 'INTEGER'
})
})
})
})
})
('SEQUENCE', {
header: ('SEQUENCE', {
protocolVersion: 'INTEGER',
messageID: 'INTEGER',
stationID: 'INTEGER'
}),
denm: ('SEQUENCE', {
management: ('SEQUENCE', {
actionID: ('SEQUENCE', {
originatingStationID: 'INTEGER',
sequenceNumber: 'INTEGER'
}),
detectionTime: 'INTEGER',
referenceTime: 'INTEGER',
termination: 'ENUMERATED',
eventPosition: ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER',
positionConfidenceEllipse: ('SEQUENCE', {
semiMajorConfidence: 'INTEGER',
semiMinorConfidence: 'INTEGER',
semiMajorOrientation: 'INTEGER'
}),
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
}),
relevanceDistance: 'ENUMERATED',
relevanceTrafficDirection: 'ENUMERATED',
validityDuration: 'INTEGER',
transmissionInterval: 'INTEGER',
stationType: 'INTEGER'
}),
situation: ('SEQUENCE', {
informationQuality: 'INTEGER',
eventType: ('SEQUENCE', {
causeCode: 'INTEGER',
subCauseCode: 'INTEGER'
}),
linkedCause: ('SEQUENCE', {
causeCode: 'INTEGER',
subCauseCode: 'INTEGER'
}),
eventHistory: ('SEQUENCE OF', ('SEQUENCE', {
eventPosition: ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER',
deltaAltitude: 'INTEGER'
}),
eventDeltaTime: 'INTEGER',
informationQuality: 'INTEGER'
}))
}),
location: ('SEQUENCE', {
eventSpeed: ('SEQUENCE', {
speedValue: 'INTEGER',
speedConfidence: 'INTEGER'
}),
eventPositionHeading: ('SEQUENCE', {
headingValue: 'INTEGER',
headingConfidence: 'INTEGER'
}),
traces: ('SEQUENCE OF', ('SEQUENCE OF', ('SEQUENCE', {
pathPosition: ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER',
deltaAltitude: 'INTEGER'
}),
pathDeltaTime: 'INTEGER'
}))),
roadType: 'ENUMERATED'
}),
alacarte: ('SEQUENCE', {
lanePosition: 'INTEGER',
impactReduction: ('SEQUENCE', {
heightLonCarrLeft: 'INTEGER',
heightLonCarrRight: 'INTEGER',
posLonCarrLeft: 'INTEGER',
posLonCarrRight: 'INTEGER',
positionOfPillars: ('SEQUENCE OF', 'INTEGER'),
posCentMass: 'INTEGER',
wheelBaseVehicle: 'INTEGER',
turningRadius: 'INTEGER',
posFrontAx: 'INTEGER',
positionOfOccupants: 'BIT STRING',
vehicleMass: 'INTEGER',
requestResponseIndication: 'ENUMERATED'
}),
externalTemperature: 'INTEGER',
roadWorks: ('SEQUENCE', {
lightBarSirenInUse: 'BIT STRING',
closedLanes: ('SEQUENCE', {
innerhardShoulderStatus: 'ENUMERATED',
outerhardShoulderStatus: 'ENUMERATED',
drivingLaneStatus: 'BIT STRING'
}),
restriction: ('SEQUENCE OF', 'INTEGER'),
speedLimit: 'INTEGER',
incidentIndication: ('SEQUENCE', {
causeCode: 'INTEGER',
subCauseCode: 'INTEGER'
}),
recommendedPath: ('SEQUENCE OF', ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER',
positionConfidenceEllipse: ('SEQUENCE', {
semiMajorConfidence: 'INTEGER',
semiMinorConfidence: 'INTEGER',
semiMajorOrientation: 'INTEGER'
}),
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
})),
startingPointSpeedLimit: ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER',
deltaAltitude: 'INTEGER'
}),
trafficFlowRule: 'ENUMERATED',
referenceDenms: ('SEQUENCE OF', ('SEQUENCE', {
originatingStationID: 'INTEGER',
sequenceNumber: 'INTEGER'
}))
}),
positioningSolution: 'ENUMERATED',
stationaryVehicle: ('SEQUENCE', {
stationarySince: 'ENUMERATED',
stationaryCause: ('SEQUENCE', {
causeCode: 'INTEGER',
subCauseCode: 'INTEGER'
}),
carryingDangerousGoods: ('SEQUENCE', {
dangerousGoodsType: 'ENUMERATED',
unNumber: 'INTEGER',
elevatedTemperature: 'BOOLEAN',
tunnelsRestricted: 'BOOLEAN',
limitedQuantity: 'BOOLEAN',
emergencyActionCode: 'IA5String',
phoneNumber: 'NumericString',
companyName: 'UTF8String'
}),
numberOfOccupants: 'INTEGER',
vehicleIdentification: ('SEQUENCE', {
wMInumber: 'IA5String',
vDS: 'IA5String'
}),
energyStorageType: 'BIT STRING'
})
})
})
})
import v2x
cam = v2x.CAM_PDU_Descriptions.CAM
denm = v2x.DENM_PDU_Descriptions.DENM
srem = v2x.SREM_PDU_Descriptions.SREM
ivim = v2x.IVIM_PDU_Descriptions.IVIM
spatem = v2x.SPATEM_PDU_Descriptions.SPATEM
mapem = v2x.MAPEM_PDU_Descriptions.MAPEM
with open('./message_samples/proto_cam','w') as f:
f.write(str(cam.get_proto()))
with open('./message_samples/proto_denm','w') as f:
f.write(str(denm.get_proto()))
with open('./message_samples/proto_srem','w') as f:
f.write(str(srem.get_proto()))
with open('./message_samples/proto_ivim','w') as f:
f.write(str(ivim.get_proto()))
with open('./message_samples/proto_mapem','w') as f:
f.write(str(mapem.get_proto()))
with open('./message_samples/proto_spatem','w') as f:
f.write(str(spatem.get_proto()))
('SEQUENCE', {
header: ('SEQUENCE', {
protocolVersion: 'INTEGER',
messageID: 'INTEGER',
stationID: 'INTEGER'
}),
ivi: ('SEQUENCE', {
mandatory: ('SEQUENCE', {
serviceProviderId: ('SEQUENCE', {
countryCode: 'BIT STRING',
providerIdentifier: 'INTEGER'
}),
iviIdentificationNumber: 'INTEGER',
timeStamp: 'INTEGER',
validFrom: 'INTEGER',
validTo: 'INTEGER',
connectedIviStructures: ('SEQUENCE OF', 'INTEGER'),
iviStatus: 'INTEGER'
}),
optional: ('SEQUENCE OF', ('CHOICE', {
glc: ('SEQUENCE', {
referencePosition: ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER',
positionConfidenceEllipse: ('SEQUENCE', {
semiMajorConfidence: 'INTEGER',
semiMinorConfidence: 'INTEGER',
semiMajorOrientation: 'INTEGER'
}),
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
}),
referencePositionTime: 'INTEGER',
referencePositionHeading: ('SEQUENCE', {
headingValue: 'INTEGER',
headingConfidence: 'INTEGER'
}),
referencePositionSpeed: ('SEQUENCE', {
speedValue: 'INTEGER',
speedConfidence: 'INTEGER'
}),
parts: ('SEQUENCE OF', ('SEQUENCE', {
zoneId: 'INTEGER',
laneNumber: 'INTEGER',
zoneExtension: 'INTEGER',
zoneHeading: 'INTEGER',
zone: ('CHOICE', {
segment: ('SEQUENCE', {
line: ('CHOICE', {
deltaPositions: ('SEQUENCE OF', ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER'
})),
deltaPositionsWithAltitude: ('SEQUENCE OF', ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER',
deltaAltitude: 'INTEGER'
})),
absolutePositions: ('SEQUENCE OF', ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER'
})),
absolutePositionsWithAltitude: ('SEQUENCE OF', ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER',
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
}))
}),
laneWidth: 'INTEGER'
}),
area: ('CHOICE', {
deltaPositions: ('SEQUENCE OF', ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER'
})),
deltaPositionsWithAltitude: ('SEQUENCE OF', ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER',
deltaAltitude: 'INTEGER'
})),
absolutePositions: ('SEQUENCE OF', ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER'
})),
absolutePositionsWithAltitude: ('SEQUENCE OF', ('SEQUENCE', {
latitude: 'INTEGER',
longitude: 'INTEGER',
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
}))
}),
computedSegment: ('SEQUENCE', {
zoneId: 'INTEGER',
laneNumber: 'INTEGER',
laneWidth: 'INTEGER',
offsetDistance: 'INTEGER',
offsetPosition: ('SEQUENCE', {
deltaLatitude: 'INTEGER',
deltaLongitude: 'INTEGER',
deltaAltitude: 'INTEGER'
})
})
})
}))
}),
giv: ('SEQUENCE OF', ('SEQUENCE', {
detectionZoneIds: ('SEQUENCE OF', 'INTEGER'),
its-Rrid: ('CHOICE', {
content: 'INTEGER',
extension: ('CHOICE', {
content: 'INTEGER',
extension: 'CHOICE'
})
}),
relevanceZoneIds: ('SEQUENCE OF', 'INTEGER'),
direction: 'INTEGER',
driverAwarenessZoneIds: ('SEQUENCE OF', 'INTEGER'),
minimumAwarenessTime: 'INTEGER',
applicableLanes: ('SEQUENCE OF', 'INTEGER'),
iviType: 'INTEGER',
iviPurpose: 'INTEGER',
laneStatus: 'INTEGER',
vehicleCharacteristics: ('SEQUENCE OF', ('SEQUENCE', {
tractor: ('SEQUENCE', {
equalTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
notEqualTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
ranges: ('SEQUENCE OF', ('SEQUENCE', {
comparisonOperator: 'INTEGER',
limits: ('CHOICE', {
numberOfAxles: 'INTEGER',
vehicleDimensions: ('SEQUENCE', {
vehicleLengthOverall: 'INTEGER',
vehicleHeigthOverall: 'INTEGER',
vehicleWidthOverall: 'INTEGER'
}),
vehicleWeightLimits: ('SEQUENCE', {
vehicleMaxLadenWeight: 'INTEGER',
vehicleTrainMaximumWeight: 'INTEGER',
vehicleWeightUnladen: 'INTEGER'
}),
axleWeightLimits: ('SEQUENCE', {
maxLadenweightOnAxle1: 'INTEGER',
maxLadenweightOnAxle2: 'INTEGER',
maxLadenweightOnAxle3: 'INTEGER',
maxLadenweightOnAxle4: 'INTEGER',
maxLadenweightOnAxle5: 'INTEGER'
}),
passengerCapacity: ('SEQUENCE', {
numberOfSeats: 'INTEGER',
numberOfStandingPlaces: 'INTEGER'
}),
exhaustEmissionValues: ('SEQUENCE', {
unitType: 'ENUMERATED',
emissionCO: 'INTEGER',
emissionHC: 'INTEGER',
emissionNOX: 'INTEGER',
emissionHCNOX: 'INTEGER'
}),
dieselEmissionValues: ('SEQUENCE', {
particulate: ('SEQUENCE', {
unitType: 'ENUMERATED',
value: 'INTEGER'
}),
absorptionCoeff: 'INTEGER'
}),
soundLevel: ('SEQUENCE', {
soundstationary: 'INTEGER',
sounddriveby: 'INTEGER'
})
})
}))
}),
trailer: ('SEQUENCE OF', ('SEQUENCE', {
equalTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
notEqualTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
ranges: ('SEQUENCE OF', ('SEQUENCE', {
comparisonOperator: 'INTEGER',
limits: ('CHOICE', {
numberOfAxles: 'INTEGER',
vehicleDimensions: ('SEQUENCE', {
vehicleLengthOverall: 'INTEGER',
vehicleHeigthOverall: 'INTEGER',
vehicleWidthOverall: 'INTEGER'
}),
vehicleWeightLimits: ('SEQUENCE', {
vehicleMaxLadenWeight: 'INTEGER',
vehicleTrainMaximumWeight: 'INTEGER',
vehicleWeightUnladen: 'INTEGER'
}),
axleWeightLimits: ('SEQUENCE', {
maxLadenweightOnAxle1: 'INTEGER',
maxLadenweightOnAxle2: 'INTEGER',
maxLadenweightOnAxle3: 'INTEGER',
maxLadenweightOnAxle4: 'INTEGER',
maxLadenweightOnAxle5: 'INTEGER'
}),
passengerCapacity: ('SEQUENCE', {
numberOfSeats: 'INTEGER',
numberOfStandingPlaces: 'INTEGER'
}),
exhaustEmissionValues: ('SEQUENCE', {
unitType: 'ENUMERATED',
emissionCO: 'INTEGER',
emissionHC: 'INTEGER',
emissionNOX: 'INTEGER',
emissionHCNOX: 'INTEGER'
}),
dieselEmissionValues: ('SEQUENCE', {
particulate: ('SEQUENCE', {
unitType: 'ENUMERATED',
value: 'INTEGER'
}),
absorptionCoeff: 'INTEGER'
}),
soundLevel: ('SEQUENCE', {
soundstationary: 'INTEGER',
sounddriveby: 'INTEGER'
})
})
}))
})),
train: ('SEQUENCE', {
equalTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
notEqualTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
ranges: ('SEQUENCE OF', ('SEQUENCE', {
comparisonOperator: 'INTEGER',
limits: ('CHOICE', {
numberOfAxles: 'INTEGER',
vehicleDimensions: ('SEQUENCE', {
vehicleLengthOverall: 'INTEGER',
vehicleHeigthOverall: 'INTEGER',
vehicleWidthOverall: 'INTEGER'
}),
vehicleWeightLimits: ('SEQUENCE', {
vehicleMaxLadenWeight: 'INTEGER',
vehicleTrainMaximumWeight: 'INTEGER',
vehicleWeightUnladen: 'INTEGER'
}),
axleWeightLimits: ('SEQUENCE', {
maxLadenweightOnAxle1: 'INTEGER',
maxLadenweightOnAxle2: 'INTEGER',
maxLadenweightOnAxle3: 'INTEGER',
maxLadenweightOnAxle4: 'INTEGER',
maxLadenweightOnAxle5: 'INTEGER'
}),
passengerCapacity: ('SEQUENCE', {
numberOfSeats: 'INTEGER',
numberOfStandingPlaces: 'INTEGER'
}),
exhaustEmissionValues: ('SEQUENCE', {
unitType: 'ENUMERATED',
emissionCO: 'INTEGER',
emissionHC: 'INTEGER',
emissionNOX: 'INTEGER',
emissionHCNOX: 'INTEGER'
}),
dieselEmissionValues: ('SEQUENCE', {
particulate: ('SEQUENCE', {
unitType: 'ENUMERATED',
value: 'INTEGER'
}),
absorptionCoeff: 'INTEGER'
}),
soundLevel: ('SEQUENCE', {
soundstationary: 'INTEGER',
sounddriveby: 'INTEGER'
})
})
}))
})
})),
driverCharacteristics: 'INTEGER',
layoutId: 'INTEGER',
preStoredlayoutId: 'INTEGER',
roadSignCodes: ('SEQUENCE OF', ('SEQUENCE', {
layoutComponentId: 'INTEGER',
code: ('CHOICE', {
viennaConvention: ('SEQUENCE', {
roadSignClass: 'INTEGER',
roadSignCode: 'INTEGER',
vcOption: 'INTEGER',
validity: ('SEQUENCE OF', ('SEQUENCE', {
year: ('SEQUENCE', {
syr: 'INTEGER',
eyr: 'INTEGER'
}),
month-day: ('SEQUENCE', {
smd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
}),
emd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
})
}),
pmd: 'BIT STRING',
hourMinutes: ('SEQUENCE', {
shm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
}),
ehm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dayOfWeek: 'BIT STRING',
period: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
})),
value: 'INTEGER',
unit: 'INTEGER'
}),
iso14823: ('SEQUENCE', {
pictogramCode: ('SEQUENCE', {
countryCode: 'OCTET STRING',
serviceCategoryCode: ('CHOICE', {
trafficSignPictogram: 'ENUMERATED',
publicFacilitiesPictogram: 'ENUMERATED',
ambientOrRoadConditionPictogram: 'ENUMERATED'
}),
pictogramCategoryCode: ('SEQUENCE', {
nature: 'INTEGER',
serialNumber: 'INTEGER'
})
}),
attributes: ('SEQUENCE OF', ('CHOICE', {
dtm: ('SEQUENCE', {
year: ('SEQUENCE', {
syr: 'INTEGER',
eyr: 'INTEGER'
}),
month-day: ('SEQUENCE', {
smd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
}),
emd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
})
}),
pmd: 'BIT STRING',
hourMinutes: ('SEQUENCE', {
shm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
}),
ehm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dayOfWeek: 'BIT STRING',
period: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
edt: ('SEQUENCE', {
year: ('SEQUENCE', {
syr: 'INTEGER',
eyr: 'INTEGER'
}),
month-day: ('SEQUENCE', {
smd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
}),
emd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
})
}),
pmd: 'BIT STRING',
hourMinutes: ('SEQUENCE', {
shm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
}),
ehm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dayOfWeek: 'BIT STRING',
period: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dfl: 'INTEGER',
ved: ('SEQUENCE', {
hei: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
wid: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
vln: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
wei: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
})
}),
spe: ('SEQUENCE', {
spm: 'INTEGER',
mns: 'INTEGER',
unit: 'INTEGER'
}),
roi: 'INTEGER',
dbv: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
ddd: ('SEQUENCE', {
dcj: 'INTEGER',
dcr: 'INTEGER',
tpl: 'INTEGER',
ioList: ('SEQUENCE OF', ('SEQUENCE', {
drn: 'INTEGER',
dp: ('SEQUENCE OF', ('SEQUENCE', {
depType: 'INTEGER',
depRSCode: ('SEQUENCE', {
pictogramCode: ('SEQUENCE', {
countryCode: 'OCTET STRING',
serviceCategoryCode: ('CHOICE', {
trafficSignPictogram: 'ENUMERATED',
publicFacilitiesPictogram: 'ENUMERATED',
ambientOrRoadConditionPictogram: 'ENUMERATED'
}),
pictogramCategoryCode: ('SEQUENCE', {
nature: 'INTEGER',
serialNumber: 'INTEGER'
})
}),
attributes: 'SEQUENCE OF'
}),
depBlob: 'OCTET STRING',
plnId: 'INTEGER',
plnText: 'UTF8String'
})),
dr: ('SEQUENCE OF', ('SEQUENCE', {
derType: 'INTEGER',
ronId: 'INTEGER',
ronText: 'UTF8String'
})),
rne: 'INTEGER',
stnId: 'INTEGER',
stnText: 'UTF8String',
dcp: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
ddp: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
})
}))
})
}))
}),
itisCodes: 'INTEGER',
anyCatalogue: ('SEQUENCE', {
owner: ('SEQUENCE', {
countryCode: 'BIT STRING',
providerIdentifier: 'INTEGER'
}),
version: 'INTEGER',
pictogramCode: 'INTEGER',
value: 'INTEGER',
unit: 'INTEGER',
attributes: ('SEQUENCE OF', ('CHOICE', {
dtm: ('SEQUENCE', {
year: ('SEQUENCE', {
syr: 'INTEGER',
eyr: 'INTEGER'
}),
month-day: ('SEQUENCE', {
smd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
}),
emd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
})
}),
pmd: 'BIT STRING',
hourMinutes: ('SEQUENCE', {
shm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
}),
ehm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dayOfWeek: 'BIT STRING',
period: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
edt: ('SEQUENCE', {
year: ('SEQUENCE', {
syr: 'INTEGER',
eyr: 'INTEGER'
}),
month-day: ('SEQUENCE', {
smd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
}),
emd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
})
}),
pmd: 'BIT STRING',
hourMinutes: ('SEQUENCE', {
shm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
}),
ehm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dayOfWeek: 'BIT STRING',
period: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dfl: 'INTEGER',
ved: ('SEQUENCE', {
hei: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
wid: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
vln: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
wei: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
})
}),
spe: ('SEQUENCE', {
spm: 'INTEGER',
mns: 'INTEGER',
unit: 'INTEGER'
}),
roi: 'INTEGER',
dbv: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
ddd: ('SEQUENCE', {
dcj: 'INTEGER',
dcr: 'INTEGER',
tpl: 'INTEGER',
ioList: ('SEQUENCE OF', ('SEQUENCE', {
drn: 'INTEGER',
dp: ('SEQUENCE OF', ('SEQUENCE', {
depType: 'INTEGER',
depRSCode: ('SEQUENCE', {
pictogramCode: ('SEQUENCE', {
countryCode: 'OCTET STRING',
serviceCategoryCode: ('CHOICE', {
trafficSignPictogram: 'ENUMERATED',
publicFacilitiesPictogram: 'ENUMERATED',
ambientOrRoadConditionPictogram: 'ENUMERATED'
}),
pictogramCategoryCode: ('SEQUENCE', {
nature: 'INTEGER',
serialNumber: 'INTEGER'
})
}),
attributes: 'SEQUENCE OF'
}),
depBlob: 'OCTET STRING',
plnId: 'INTEGER',
plnText: 'UTF8String'
})),
dr: ('SEQUENCE OF', ('SEQUENCE', {
derType: 'INTEGER',
ronId: 'INTEGER',
ronText: 'UTF8String'
})),
rne: 'INTEGER',
stnId: 'INTEGER',
stnText: 'UTF8String',
dcp: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
}),
ddp: ('SEQUENCE', {
value: 'INTEGER',
unit: 'INTEGER'
})
}))
})
}))
})
})
})),
extraText: ('SEQUENCE OF', ('SEQUENCE', {
layoutComponentId: 'INTEGER',
language: 'BIT STRING',
textContent: 'UTF8String'
}))
})),
rcc: ('SEQUENCE OF', ('SEQUENCE', {
zoneIds: ('SEQUENCE OF', 'INTEGER'),
roadType: 'ENUMERATED',
laneConfiguration: ('SEQUENCE OF', ('SEQUENCE', {
laneNumber: 'INTEGER',
direction: 'INTEGER',
validity: ('SEQUENCE', {
year: ('SEQUENCE', {
syr: 'INTEGER',
eyr: 'INTEGER'
}),
month-day: ('SEQUENCE', {
smd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
}),
emd: ('SEQUENCE', {
month: 'INTEGER',
day: 'INTEGER'
})
}),
pmd: 'BIT STRING',
hourMinutes: ('SEQUENCE', {
shm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
}),
ehm: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
dayOfWeek: 'BIT STRING',
period: ('SEQUENCE', {
hours: 'INTEGER',
mins: 'INTEGER'
})
}),
laneType: 'INTEGER',
laneTypeQualifier: ('SEQUENCE', {
tractor: ('SEQUENCE', {
equalTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
notEqualTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
ranges: ('SEQUENCE OF', ('SEQUENCE', {
comparisonOperator: 'INTEGER',
limits: ('CHOICE', {
numberOfAxles: 'INTEGER',
vehicleDimensions: ('SEQUENCE', {
vehicleLengthOverall: 'INTEGER',
vehicleHeigthOverall: 'INTEGER',
vehicleWidthOverall: 'INTEGER'
}),
vehicleWeightLimits: ('SEQUENCE', {
vehicleMaxLadenWeight: 'INTEGER',
vehicleTrainMaximumWeight: 'INTEGER',
vehicleWeightUnladen: 'INTEGER'
}),
axleWeightLimits: ('SEQUENCE', {
maxLadenweightOnAxle1: 'INTEGER',
maxLadenweightOnAxle2: 'INTEGER',
maxLadenweightOnAxle3: 'INTEGER',
maxLadenweightOnAxle4: 'INTEGER',
maxLadenweightOnAxle5: 'INTEGER'
}),
passengerCapacity: ('SEQUENCE', {
numberOfSeats: 'INTEGER',
numberOfStandingPlaces: 'INTEGER'
}),
exhaustEmissionValues: ('SEQUENCE', {
unitType: 'ENUMERATED',
emissionCO: 'INTEGER',
emissionHC: 'INTEGER',
emissionNOX: 'INTEGER',
emissionHCNOX: 'INTEGER'
}),
dieselEmissionValues: ('SEQUENCE', {
particulate: ('SEQUENCE', {
unitType: 'ENUMERATED',
value: 'INTEGER'
}),
absorptionCoeff: 'INTEGER'
}),
soundLevel: ('SEQUENCE', {
soundstationary: 'INTEGER',
sounddriveby: 'INTEGER'
})
})
}))
}),
trailer: ('SEQUENCE OF', ('SEQUENCE', {
equalTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
notEqualTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
ranges: ('SEQUENCE OF', ('SEQUENCE', {
comparisonOperator: 'INTEGER',
limits: ('CHOICE', {
numberOfAxles: 'INTEGER',
vehicleDimensions: ('SEQUENCE', {
vehicleLengthOverall: 'INTEGER',
vehicleHeigthOverall: 'INTEGER',
vehicleWidthOverall: 'INTEGER'
}),
vehicleWeightLimits: ('SEQUENCE', {
vehicleMaxLadenWeight: 'INTEGER',
vehicleTrainMaximumWeight: 'INTEGER',
vehicleWeightUnladen: 'INTEGER'
}),
axleWeightLimits: ('SEQUENCE', {
maxLadenweightOnAxle1: 'INTEGER',
maxLadenweightOnAxle2: 'INTEGER',
maxLadenweightOnAxle3: 'INTEGER',
maxLadenweightOnAxle4: 'INTEGER',
maxLadenweightOnAxle5: 'INTEGER'
}),
passengerCapacity: ('SEQUENCE', {
numberOfSeats: 'INTEGER',
numberOfStandingPlaces: 'INTEGER'
}),
exhaustEmissionValues: ('SEQUENCE', {
unitType: 'ENUMERATED',
emissionCO: 'INTEGER',
emissionHC: 'INTEGER',
emissionNOX: 'INTEGER',
emissionHCNOX: 'INTEGER'
}),
dieselEmissionValues: ('SEQUENCE', {
particulate: ('SEQUENCE', {
unitType: 'ENUMERATED',
value: 'INTEGER'
}),
absorptionCoeff: 'INTEGER'
}),
soundLevel: ('SEQUENCE', {
soundstationary: 'INTEGER',
sounddriveby: 'INTEGER'
})
})
}))
})),
train: ('SEQUENCE', {
equalTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
notEqualTo: ('SEQUENCE OF', ('CHOICE', {
simpleVehicleType: 'INTEGER',
euVehicleCategoryCode: ('CHOICE', {
euVehicleCategoryL: 'ENUMERATED',
euVehicleCategoryM: 'ENUMERATED',
euVehicleCategoryN: 'ENUMERATED',
euVehicleCategoryO: 'ENUMERATED',
euVehilcleCategoryT: 'NULL',
euVehilcleCategoryG: 'NULL'
}),
iso3833VehicleType: 'INTEGER',
euroAndCo2value: ('SEQUENCE', {
euroValue: 'ENUMERATED',
copValue: 'ENUMERATED'
}),
engineCharacteristics: 'INTEGER',
loadType: ('SEQUENCE', {
goodsType: 'INTEGER',
dangerousGoodsType: 'ENUMERATED',
specialTransportType: 'BIT STRING'
}),
usage: 'ENUMERATED'
})),
ranges: ('SEQUENCE OF', ('SEQUENCE', {
comparisonOperator: 'INTEGER',
limits: ('CHOICE', {
numberOfAxles: 'INTEGER',
vehicleDimensions: ('SEQUENCE', {
vehicleLengthOverall: 'INTEGER',
vehicleHeigthOverall: 'INTEGER',
vehicleWidthOverall: 'INTEGER'
}),
vehicleWeightLimits: ('SEQUENCE', {
vehicleMaxLadenWeight: 'INTEGER',
vehicleTrainMaximumWeight: 'INTEGER',
vehicleWeightUnladen: 'INTEGER'
}),
axleWeightLimits: ('SEQUENCE', {
maxLadenweightOnAxle1: 'INTEGER',
maxLadenweightOnAxle2: 'INTEGER',
maxLadenweightOnAxle3: 'INTEGER',
maxLadenweightOnAxle4: 'INTEGER',
maxLadenweightOnAxle5: 'INTEGER'
}),
passengerCapacity: ('SEQUENCE', {
numberOfSeats: 'INTEGER',
numberOfStandingPlaces: 'INTEGER'
}),
exhaustEmissionValues: ('SEQUENCE', {
unitType: 'ENUMERATED',
emissionCO: 'INTEGER',
emissionHC: 'INTEGER',
emissionNOX: 'INTEGER',
emissionHCNOX: 'INTEGER'
}),
dieselEmissionValues: ('SEQUENCE', {
particulate: ('SEQUENCE', {
unitType: 'ENUMERATED',
value: 'INTEGER'
}),
absorptionCoeff: 'INTEGER'
}),
soundLevel: ('SEQUENCE', {
soundstationary: 'INTEGER',
sounddriveby: 'INTEGER'
})
})
}))
})
}),
laneStatus: 'INTEGER',
laneWidth: 'INTEGER'
}))
})),
tc: ('SEQUENCE OF', ('SEQUENCE', {
detectionZoneIds: ('SEQUENCE OF', 'INTEGER'),
relevanceZoneIds: ('SEQUENCE OF', 'INTEGER'),
direction: 'INTEGER',
driverAwarenessZoneIds: ('SEQUENCE OF', 'INTEGER'),
minimumAwarenessTime: 'INTEGER',
applicableLanes: ('SEQUENCE OF', 'INTEGER'),
layoutId: 'INTEGER',
preStoredlayoutId: 'INTEGER',
text: ('SEQUENCE OF', ('SEQUENCE', {
layoutComponentId: 'INTEGER',
language: 'BIT STRING',
textContent: 'UTF8String'
})),
data: 'OCTET STRING'
})),
lac: ('SEQUENCE', {
layoutId: 'INTEGER',
height: 'INTEGER',
width: 'INTEGER',
layoutComponents: ('SEQUENCE OF', ('SEQUENCE', {
layoutComponentId: 'INTEGER',
height: 'INTEGER',
width: 'INTEGER',
x: 'INTEGER',
y: 'INTEGER',
textScripting: 'INTEGER'
}))
})
}))
})
})
('SEQUENCE', {
header: ('SEQUENCE', {
protocolVersion: 'INTEGER',
messageID: 'INTEGER',
stationID: 'INTEGER'
}),
map: ('SEQUENCE', {
timeStamp: 'INTEGER',
msgIssueRevision: 'INTEGER',
layerType: 'ENUMERATED',
layerID: 'INTEGER',
intersections: ('SEQUENCE OF', ('SEQUENCE', {
name: 'IA5String',
id: ('SEQUENCE', {
region: 'INTEGER',
id: 'INTEGER'
}),
revision: 'INTEGER',
refPoint: ('SEQUENCE', {
lat: 'INTEGER',
long: 'INTEGER',
elevation: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'Position3D-addGrpC'): ('SEQUENCE', {
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
}),
Position3D-addGrpC: ('SEQUENCE', {
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
})
})
}))
}),
laneWidth: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
laneSet: ('SEQUENCE OF', ('SEQUENCE', {
laneID: 'INTEGER',
name: 'IA5String',
ingressApproach: 'INTEGER',
egressApproach: 'INTEGER',
laneAttributes: ('SEQUENCE', {
directionalUse: 'BIT STRING',
sharedWith: 'BIT STRING',
laneType: ('CHOICE', {
vehicle: 'BIT STRING',
crosswalk: 'BIT STRING',
bikeLane: 'BIT STRING',
sidewalk: 'BIT STRING',
median: 'BIT STRING',
striping: 'BIT STRING',
trackedVehicle: 'BIT STRING',
parking: 'BIT STRING'
}),
regional: ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
})
}),
maneuvers: 'BIT STRING',
nodeList: ('CHOICE', {
nodes: ('SEQUENCE OF', ('SEQUENCE', {
delta: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
})
}),
attributes: ('SEQUENCE', {
localNode: ('SEQUENCE OF', 'ENUMERATED'),
disabled: ('SEQUENCE OF', 'ENUMERATED'),
enabled: ('SEQUENCE OF', 'ENUMERATED'),
data: ('SEQUENCE OF', ('CHOICE', {
pathEndPointAngle: 'INTEGER',
laneCrownPointCenter: 'INTEGER',
laneCrownPointLeft: 'INTEGER',
laneCrownPointRight: 'INTEGER',
laneAngle: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
dWidth: 'INTEGER',
dElevation: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'Control-addGrpC'): ('SEQUENCE', {
ptvRequest: 'ENUMERATED'
}),
Control-addGrpC: ('SEQUENCE', {
ptvRequest: 'ENUMERATED'
})
})
}))
})
})),
computed: ('SEQUENCE', {
referenceLaneId: 'INTEGER',
offsetXaxis: ('CHOICE', {
small: 'INTEGER',
large: 'INTEGER'
}),
offsetYaxis: ('CHOICE', {
small: 'INTEGER',
large: 'INTEGER'
}),
rotateXY: 'INTEGER',
scaleXaxis: 'INTEGER',
scaleYaxis: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})
}),
connectsTo: ('SEQUENCE OF', ('SEQUENCE', {
connectingLane: ('SEQUENCE', {
lane: 'INTEGER',
maneuver: 'BIT STRING'
}),
remoteIntersection: ('SEQUENCE', {
region: 'INTEGER',
id: 'INTEGER'
}),
signalGroup: 'INTEGER',
userClass: 'INTEGER',
connectionID: 'INTEGER'
})),
overlays: ('SEQUENCE OF', 'INTEGER'),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'ConnectionTrajectory-addGrpC'): ('SEQUENCE', {
nodes: ('SEQUENCE OF', ('SEQUENCE', {
delta: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
attributes: ('SEQUENCE', {
localNode: ('SEQUENCE OF', 'ENUMERATED'),
disabled: ('SEQUENCE OF', 'ENUMERATED'),
enabled: ('SEQUENCE OF', 'ENUMERATED'),
data: ('SEQUENCE OF', ('CHOICE', {
pathEndPointAngle: 'INTEGER',
laneCrownPointCenter: 'INTEGER',
laneCrownPointLeft: 'INTEGER',
laneCrownPointRight: 'INTEGER',
laneAngle: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
regional: 'SEQUENCE OF'
})),
dWidth: 'INTEGER',
dElevation: 'INTEGER',
regional: 'SEQUENCE OF'
})
}))
}),
ConnectionTrajectory-addGrpC: ('SEQUENCE', {
nodes: ('SEQUENCE OF', ('SEQUENCE', {
delta: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
attributes: ('SEQUENCE', {
localNode: ('SEQUENCE OF', 'ENUMERATED'),
disabled: ('SEQUENCE OF', 'ENUMERATED'),
enabled: ('SEQUENCE OF', 'ENUMERATED'),
data: ('SEQUENCE OF', ('CHOICE', {
pathEndPointAngle: 'INTEGER',
laneCrownPointCenter: 'INTEGER',
laneCrownPointLeft: 'INTEGER',
laneCrownPointRight: 'INTEGER',
laneAngle: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
regional: 'SEQUENCE OF'
})),
dWidth: 'INTEGER',
dElevation: 'INTEGER',
regional: 'SEQUENCE OF'
})
}))
})
})
}))
})),
preemptPriorityData: ('SEQUENCE OF', ('SEQUENCE', {
zone: ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
})
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
roadSegments: ('SEQUENCE OF', ('SEQUENCE', {
name: 'IA5String',
id: ('SEQUENCE', {
region: 'INTEGER',
id: 'INTEGER'
}),
revision: 'INTEGER',
refPoint: ('SEQUENCE', {
lat: 'INTEGER',
long: 'INTEGER',
elevation: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'Position3D-addGrpC'): ('SEQUENCE', {
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
}),
Position3D-addGrpC: ('SEQUENCE', {
altitude: ('SEQUENCE', {
altitudeValue: 'INTEGER',
altitudeConfidence: 'ENUMERATED'
})
})
})
}))
}),
laneWidth: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
roadLaneSet: ('SEQUENCE OF', ('SEQUENCE', {
laneID: 'INTEGER',
name: 'IA5String',
ingressApproach: 'INTEGER',
egressApproach: 'INTEGER',
laneAttributes: ('SEQUENCE', {
directionalUse: 'BIT STRING',
sharedWith: 'BIT STRING',
laneType: ('CHOICE', {
vehicle: 'BIT STRING',
crosswalk: 'BIT STRING',
bikeLane: 'BIT STRING',
sidewalk: 'BIT STRING',
median: 'BIT STRING',
striping: 'BIT STRING',
trackedVehicle: 'BIT STRING',
parking: 'BIT STRING'
}),
regional: ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
})
}),
maneuvers: 'BIT STRING',
nodeList: ('CHOICE', {
nodes: ('SEQUENCE OF', ('SEQUENCE', {
delta: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
})
}),
attributes: ('SEQUENCE', {
localNode: ('SEQUENCE OF', 'ENUMERATED'),
disabled: ('SEQUENCE OF', 'ENUMERATED'),
enabled: ('SEQUENCE OF', 'ENUMERATED'),
data: ('SEQUENCE OF', ('CHOICE', {
pathEndPointAngle: 'INTEGER',
laneCrownPointCenter: 'INTEGER',
laneCrownPointLeft: 'INTEGER',
laneCrownPointRight: 'INTEGER',
laneAngle: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
dWidth: 'INTEGER',
dElevation: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'Control-addGrpC'): ('SEQUENCE', {
ptvRequest: 'ENUMERATED'
}),
Control-addGrpC: ('SEQUENCE', {
ptvRequest: 'ENUMERATED'
})
})
}))
})
})),
computed: ('SEQUENCE', {
referenceLaneId: 'INTEGER',
offsetXaxis: ('CHOICE', {
small: 'INTEGER',
large: 'INTEGER'
}),
offsetYaxis: ('CHOICE', {
small: 'INTEGER',
large: 'INTEGER'
}),
rotateXY: 'INTEGER',
scaleXaxis: 'INTEGER',
scaleYaxis: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})
}),
connectsTo: ('SEQUENCE OF', ('SEQUENCE', {
connectingLane: ('SEQUENCE', {
lane: 'INTEGER',
maneuver: 'BIT STRING'
}),
remoteIntersection: ('SEQUENCE', {
region: 'INTEGER',
id: 'INTEGER'
}),
signalGroup: 'INTEGER',
userClass: 'INTEGER',
connectionID: 'INTEGER'
})),
overlays: ('SEQUENCE OF', 'INTEGER'),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'ConnectionTrajectory-addGrpC'): ('SEQUENCE', {
nodes: ('SEQUENCE OF', ('SEQUENCE', {
delta: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
attributes: ('SEQUENCE', {
localNode: ('SEQUENCE OF', 'ENUMERATED'),
disabled: ('SEQUENCE OF', 'ENUMERATED'),
enabled: ('SEQUENCE OF', 'ENUMERATED'),
data: ('SEQUENCE OF', ('CHOICE', {
pathEndPointAngle: 'INTEGER',
laneCrownPointCenter: 'INTEGER',
laneCrownPointLeft: 'INTEGER',
laneCrownPointRight: 'INTEGER',
laneAngle: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
regional: 'SEQUENCE OF'
})),
dWidth: 'INTEGER',
dElevation: 'INTEGER',
regional: 'SEQUENCE OF'
})
}))
}),
ConnectionTrajectory-addGrpC: ('SEQUENCE', {
nodes: ('SEQUENCE OF', ('SEQUENCE', {
delta: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
attributes: ('SEQUENCE', {
localNode: ('SEQUENCE OF', 'ENUMERATED'),
disabled: ('SEQUENCE OF', 'ENUMERATED'),
enabled: ('SEQUENCE OF', 'ENUMERATED'),
data: ('SEQUENCE OF', ('CHOICE', {
pathEndPointAngle: 'INTEGER',
laneCrownPointCenter: 'INTEGER',
laneCrownPointLeft: 'INTEGER',
laneCrownPointRight: 'INTEGER',
laneAngle: 'INTEGER',
speedLimits: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER'
})),
regional: 'SEQUENCE OF'
})),
dWidth: 'INTEGER',
dElevation: 'INTEGER',
regional: 'SEQUENCE OF'
})
}))
})
})
}))
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
dataParameters: ('SEQUENCE', {
processMethod: 'IA5String',
processAgency: 'IA5String',
lastCheckedDate: 'IA5String',
geoidUsed: 'IA5String'
}),
restrictionList: ('SEQUENCE OF', ('SEQUENCE', {
id: 'INTEGER',
users: ('SEQUENCE OF', ('CHOICE', {
basicType: 'ENUMERATED',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'RestrictionUserType-addGrpC'): ('SEQUENCE', {
emission: 'ENUMERATED'
}),
RestrictionUserType-addGrpC: ('SEQUENCE', {
emission: 'ENUMERATED'
})
})
}))
}))
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'MapData-addGrpC'): ('SEQUENCE', {
signalHeadLocations: ('SEQUENCE OF', ('SEQUENCE', {
nodeXY: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
nodeZ: 'INTEGER',
signalGroupID: 'INTEGER'
}))
}),
MapData-addGrpC: ('SEQUENCE', {
signalHeadLocations: ('SEQUENCE OF', ('SEQUENCE', {
nodeXY: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
nodeZ: 'INTEGER',
signalGroupID: 'INTEGER'
}))
})
})
}))
})
})
('SEQUENCE', {
header: ('SEQUENCE', {
protocolVersion: 'INTEGER',
messageID: 'INTEGER',
stationID: 'INTEGER'
}),
spat: ('SEQUENCE', {
timeStamp: 'INTEGER',
name: 'IA5String',
intersections: ('SEQUENCE OF', ('SEQUENCE', {
name: 'IA5String',
id: ('SEQUENCE', {
region: 'INTEGER',
id: 'INTEGER'
}),
revision: 'INTEGER',
status: 'BIT STRING',
moy: 'INTEGER',
timeStamp: 'INTEGER',
enabledLanes: ('SEQUENCE OF', 'INTEGER'),
states: ('SEQUENCE OF', ('SEQUENCE', {
movementName: 'IA5String',
signalGroup: 'INTEGER',
state-time-speed: ('SEQUENCE OF', ('SEQUENCE', {
eventState: 'ENUMERATED',
timing: ('SEQUENCE', {
startTime: 'INTEGER',
minEndTime: 'INTEGER',
maxEndTime: 'INTEGER',
likelyTime: 'INTEGER',
confidence: 'INTEGER',
nextTime: 'INTEGER'
}),
speeds: ('SEQUENCE OF', ('SEQUENCE', {
type: 'ENUMERATED',
speed: 'INTEGER',
confidence: 'INTEGER',
distance: 'INTEGER',
class: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
maneuverAssistList: ('SEQUENCE OF', ('SEQUENCE', {
connectionID: 'INTEGER',
queueLength: 'INTEGER',
availableStorageLength: 'INTEGER',
waitOnStop: 'BOOLEAN',
pedBicycleDetect: 'BOOLEAN',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'ConnectionManeuverAssist-addGrpC'): ('SEQUENCE', {
itsStationPositions: ('SEQUENCE OF', ('SEQUENCE', {
stationID: 'INTEGER',
laneID: 'INTEGER',
nodeXY: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
timeReference: 'INTEGER'
})),
rsuGNSSOffset: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
})
}),
ConnectionManeuverAssist-addGrpC: ('SEQUENCE', {
itsStationPositions: ('SEQUENCE OF', ('SEQUENCE', {
stationID: 'INTEGER',
laneID: 'INTEGER',
nodeXY: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
timeReference: 'INTEGER'
})),
rsuGNSSOffset: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
})
})
})
}))
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
maneuverAssistList: ('SEQUENCE OF', ('SEQUENCE', {
connectionID: 'INTEGER',
queueLength: 'INTEGER',
availableStorageLength: 'INTEGER',
waitOnStop: 'BOOLEAN',
pedBicycleDetect: 'BOOLEAN',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'ConnectionManeuverAssist-addGrpC'): ('SEQUENCE', {
itsStationPositions: ('SEQUENCE OF', ('SEQUENCE', {
stationID: 'INTEGER',
laneID: 'INTEGER',
nodeXY: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
timeReference: 'INTEGER'
})),
rsuGNSSOffset: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
})
}),
ConnectionManeuverAssist-addGrpC: ('SEQUENCE', {
itsStationPositions: ('SEQUENCE OF', ('SEQUENCE', {
stationID: 'INTEGER',
laneID: 'INTEGER',
nodeXY: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
}),
timeReference: 'INTEGER'
})),
rsuGNSSOffset: ('CHOICE', {
node-XY1: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY2: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY3: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY4: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY5: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-XY6: ('SEQUENCE', {
x: 'INTEGER',
y: 'INTEGER'
}),
node-LatLon: ('SEQUENCE', {
lon: 'INTEGER',
lat: 'INTEGER'
}),
regional: 'SEQUENCE'
})
})
})
}))
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {
('AddGrpC', 'IntersectionState-addGrpC'): ('SEQUENCE', {
activePrioritizations: ('SEQUENCE OF', ('SEQUENCE', {
stationID: 'INTEGER',
priorState: 'ENUMERATED',
signalGroup: 'INTEGER'
}))
}),
IntersectionState-addGrpC: ('SEQUENCE', {
activePrioritizations: ('SEQUENCE OF', ('SEQUENCE', {
stationID: 'INTEGER',
priorState: 'ENUMERATED',
signalGroup: 'INTEGER'
}))
})
})
}))
})),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})
})
('SEQUENCE', {
header: ('SEQUENCE', {
protocolVersion: 'INTEGER',
messageID: 'INTEGER',
stationID: 'INTEGER'
}),
srm: ('SEQUENCE', {
timeStamp: 'INTEGER',
second: 'INTEGER',
sequenceNumber: 'INTEGER',
requests: ('SEQUENCE OF', ('SEQUENCE', {
request: ('SEQUENCE', {
id: ('SEQUENCE', {
region: 'INTEGER',
id: 'INTEGER'
}),
requestID: 'INTEGER',
requestType: 'ENUMERATED',
inBoundLane: ('CHOICE', {
lane: 'INTEGER',
approach: 'INTEGER',
connection: 'INTEGER'
}),
outBoundLane: ('CHOICE', {
lane: 'INTEGER',
approach: 'INTEGER',
connection: 'INTEGER'
}),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
}),
minute: 'INTEGER',
second: 'INTEGER',
duration: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})),
requestor: ('SEQUENCE', {
id: ('CHOICE', {
entityID: 'OCTET STRING',
stationID: 'INTEGER'
}),
type: ('SEQUENCE', {
role: 'ENUMERATED',
subrole: 'ENUMERATED',
request: 'ENUMERATED',
iso3883: 'INTEGER',
hpmsType: 'ENUMERATED',
regional: ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
})
}),
position: ('SEQUENCE', {
position: 'SEQUENCE',
heading: 'INTEGER',
speed: ('SEQUENCE', {
transmisson: 'ENUMERATED',
speed: 'INTEGER'
})
}),
name: 'IA5String',
routeName: 'IA5String',
transitStatus: 'BIT STRING',
transitOccupancy: 'ENUMERATED',
transitSchedule: 'INTEGER',
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
}),
regional: ('SEQUENCE OF', ('SEQUENCE', {
regionId: 'INTEGER',
regExtValue: ('OPEN_TYPE', {})
}))
})
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment