-
Notifications
You must be signed in to change notification settings - Fork 45
SPaT JSON Schema
Drew Johnston edited this page Dec 1, 2021
·
1 revision
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"spatSource": {
"type": "string"
},
"isCertPresent": {
"type": "boolean"
},
"originIp": {
"type": "string"
},
"logFileName": {
"type": "string"
},
"recordType": {
"type": "string"
},
"securityResultCode": {
"type": "string"
},
"receivedMessageDetails": {
"type": "object",
"properties": {
"locationData": {
"type": "null"
},
"rxSource": {
"type": "string"
}
},
"required": [
"locationData",
"rxSource"
]
},
"encodings": {
"type": "null"
},
"payloadType": {
"type": "string"
},
"serialId": {
"type": "object",
"properties": {
"streamId": {
"type": "string"
},
"bundleSize": {
"type": "integer"
},
"bundleId": {
"type": "integer"
},
"recordId": {
"type": "integer"
},
"serialNumber": {
"type": "integer"
}
},
"required": [
"streamId",
"bundleSize",
"bundleId",
"recordId",
"serialNumber"
]
},
"odeReceivedAt": {
"type": "string"
},
"schemaVersion": {
"type": "integer"
},
"maxDurationTime": {
"type": "integer"
},
"odePacketID": {
"type": "string"
},
"odeTimStartDateTime": {
"type": "string"
},
"recordGeneratedAt": {
"type": "string"
},
"recordGeneratedBy": {
"type": "null"
},
"sanitized": {
"type": "boolean"
}
},
"required": [
"spatSource",
"isCertPresent",
"originIp",
"logFileName",
"recordType",
"securityResultCode",
"receivedMessageDetails",
"encodings",
"payloadType",
"serialId",
"odeReceivedAt",
"schemaVersion",
"maxDurationTime",
"odePacketID",
"odeTimStartDateTime",
"recordGeneratedAt",
"recordGeneratedBy",
"sanitized"
]
},
"payload": {
"type": "object",
"properties": {
"dataType": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"timeStamp": {
"type": "null"
},
"name": {
"type": "null"
},
"intersectionStateList": {
"type": "object",
"properties": {
"intersectionStatelist": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"name": {
"type": "null"
},
"id": {
"type": "object",
"properties": {
"region": {
"type": "null"
},
"id": {
"type": "integer"
}
},
"required": [
"region",
"id"
]
},
"revision": {
"type": "integer"
},
"status": {
"type": "string"
},
"moy": {
"type": "null"
},
"timeStamp": {
"type": "integer"
},
"enabledLanes": {
"type": "null"
},
"states": {
"type": "object",
"properties": {
"movementList": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"movementName": {
"type": "null"
},
"signalGroup": {
"type": "integer"
},
"state_time_speed": {
"type": "object",
"properties": {
"movementEventList": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"eventState": {
"type": "string"
},
"timing": {
"type": "object",
"properties": {
"startTime": {
"type": "null"
},
"minEndTime": {
"type": "integer"
},
"maxEndTime": {
"type": "integer"
},
"likelyTime": {
"type": "null"
},
"confidence": {
"type": "null"
},
"nextTime": {
"type": "null"
}
},
"required": [
"startTime",
"minEndTime",
"maxEndTime",
"likelyTime",
"confidence",
"nextTime"
]
},
"speeds": {
"type": "null"
}
},
"required": [
"eventState",
"timing",
"speeds"
]
}
]
}
},
"required": [
"movementEventList"
]
},
"maneuverAssistList": {
"type": "null"
}
},
"required": [
"movementName",
"signalGroup",
"state_time_speed",
"maneuverAssistList"
]
},
{
"type": "object",
"properties": {
"movementName": {
"type": "null"
},
"signalGroup": {
"type": "integer"
},
"state_time_speed": {
"type": "object",
"properties": {
"movementEventList": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"eventState": {
"type": "string"
},
"timing": {
"type": "object",
"properties": {
"startTime": {
"type": "null"
},
"minEndTime": {
"type": "integer"
},
"maxEndTime": {
"type": "integer"
},
"likelyTime": {
"type": "null"
},
"confidence": {
"type": "null"
},
"nextTime": {
"type": "null"
}
},
"required": [
"startTime",
"minEndTime",
"maxEndTime",
"likelyTime",
"confidence",
"nextTime"
]
},
"speeds": {
"type": "null"
}
},
"required": [
"eventState",
"timing",
"speeds"
]
}
]
}
},
"required": [
"movementEventList"
]
},
"maneuverAssistList": {
"type": "null"
}
},
"required": [
"movementName",
"signalGroup",
"state_time_speed",
"maneuverAssistList"
]
},
{
"type": "object",
"properties": {
"movementName": {
"type": "null"
},
"signalGroup": {
"type": "integer"
},
"state_time_speed": {
"type": "object",
"properties": {
"movementEventList": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"eventState": {
"type": "string"
},
"timing": {
"type": "object",
"properties": {
"startTime": {
"type": "null"
},
"minEndTime": {
"type": "integer"
},
"maxEndTime": {
"type": "integer"
},
"likelyTime": {
"type": "null"
},
"confidence": {
"type": "null"
},
"nextTime": {
"type": "null"
}
},
"required": [
"startTime",
"minEndTime",
"maxEndTime",
"likelyTime",
"confidence",
"nextTime"
]
},
"speeds": {
"type": "null"
}
},
"required": [
"eventState",
"timing",
"speeds"
]
}
]
}
},
"required": [
"movementEventList"
]
},
"maneuverAssistList": {
"type": "null"
}
},
"required": [
"movementName",
"signalGroup",
"state_time_speed",
"maneuverAssistList"
]
},
{
"type": "object",
"properties": {
"movementName": {
"type": "null"
},
"signalGroup": {
"type": "integer"
},
"state_time_speed": {
"type": "object",
"properties": {
"movementEventList": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"eventState": {
"type": "string"
},
"timing": {
"type": "object",
"properties": {
"startTime": {
"type": "null"
},
"minEndTime": {
"type": "integer"
},
"maxEndTime": {
"type": "integer"
},
"likelyTime": {
"type": "null"
},
"confidence": {
"type": "null"
},
"nextTime": {
"type": "null"
}
},
"required": [
"startTime",
"minEndTime",
"maxEndTime",
"likelyTime",
"confidence",
"nextTime"
]
},
"speeds": {
"type": "null"
}
},
"required": [
"eventState",
"timing",
"speeds"
]
}
]
}
},
"required": [
"movementEventList"
]
},
"maneuverAssistList": {
"type": "null"
}
},
"required": [
"movementName",
"signalGroup",
"state_time_speed",
"maneuverAssistList"
]
},
{
"type": "object",
"properties": {
"movementName": {
"type": "null"
},
"signalGroup": {
"type": "integer"
},
"state_time_speed": {
"type": "object",
"properties": {
"movementEventList": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"eventState": {
"type": "string"
},
"timing": {
"type": "object",
"properties": {
"startTime": {
"type": "null"
},
"minEndTime": {
"type": "integer"
},
"maxEndTime": {
"type": "integer"
},
"likelyTime": {
"type": "null"
},
"confidence": {
"type": "null"
},
"nextTime": {
"type": "null"
}
},
"required": [
"startTime",
"minEndTime",
"maxEndTime",
"likelyTime",
"confidence",
"nextTime"
]
},
"speeds": {
"type": "null"
}
},
"required": [
"eventState",
"timing",
"speeds"
]
}
]
}
},
"required": [
"movementEventList"
]
},
"maneuverAssistList": {
"type": "null"
}
},
"required": [
"movementName",
"signalGroup",
"state_time_speed",
"maneuverAssistList"
]
},
{
"type": "object",
"properties": {
"movementName": {
"type": "null"
},
"signalGroup": {
"type": "integer"
},
"state_time_speed": {
"type": "object",
"properties": {
"movementEventList": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"eventState": {
"type": "string"
},
"timing": {
"type": "object",
"properties": {
"startTime": {
"type": "null"
},
"minEndTime": {
"type": "integer"
},
"maxEndTime": {
"type": "integer"
},
"likelyTime": {
"type": "null"
},
"confidence": {
"type": "null"
},
"nextTime": {
"type": "null"
}
},
"required": [
"startTime",
"minEndTime",
"maxEndTime",
"likelyTime",
"confidence",
"nextTime"
]
},
"speeds": {
"type": "null"
}
},
"required": [
"eventState",
"timing",
"speeds"
]
}
]
}
},
"required": [
"movementEventList"
]
},
"maneuverAssistList": {
"type": "null"
}
},
"required": [
"movementName",
"signalGroup",
"state_time_speed",
"maneuverAssistList"
]
}
]
}
},
"required": [
"movementList"
]
},
"maneuverAssistList": {
"type": "null"
}
},
"required": [
"name",
"id",
"revision",
"status",
"moy",
"timeStamp",
"enabledLanes",
"states",
"maneuverAssistList"
]
}
]
}
},
"required": [
"intersectionStatelist"
]
}
},
"required": [
"timeStamp",
"name",
"intersectionStateList"
]
}
},
"required": [
"dataType",
"data"
]
}
},
"required": [
"metadata",
"payload"
]
}
- Decode a file with asn1c
- Deposit BSM to S3
- Docker fix for SSL issues due to corporate network
- Docker management
- ECDSA Primer
- Filter BSMs through PPM module
- Geofence Filtering for PPM
- Import BSMs from RSU log file
- Import TIMs from RSU log file
- jpo security svcs Integration
- Link host directory to Docker directory
- Migrating from SDW websocket depositor to SDW Depositor Submodule
- ODE Release Deployment
- ODE Release Preparation
- Prepare a fresh Ubuntu instance for ODE installation
- Process for Handling Bugs (Code Defects)
- Run the ODE using the ASN codec module
- Query RSU for set TIMs
- Schema Version 6 Change Notice
- Signed Message File Import
- TIM REST Endpoint Changes
- Using the .env configuration file
- Using the ODE test harness
- Delete TIM on RSU test
- Event Logger Test
- Import Decode and Deliver BSM Test
- Manage SNMP Test
- Sending PDM to RSU Test
- Sending TIM to RSU Test
- Submit_TIM_To_SDW Test
- Log File Changes (schemaVersion=4)
- Receive BSMs over UDP
- Receive ISD via UDP and deposit to SDC
- Receive VSD via UDP and deposit to SDC
- Run the crypto test vectors code with ODE team's OSS encoder
- SchemaVersion 5 Change Notice