Skip to content

MAP 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": {
        "mapSource": {
          "type": "string"
        },
        "originIp": {
          "type": "string"
        },
        "logFileName": {
          "type": "string"
        },
        "recordType": {
          "type": "string"
        },
        "securityResultCode": {
          "type": "string"
        },
        "receivedMessageDetails": {
          "type": "object",
          "properties": {
            "locationData": {
              "type": "string"
            },
            "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": "string"
        },
        "sanitized": {
          "type": "boolean"
        }
      },
      "required": [
        "mapSource",
        "originIp",
        "logFileName",
        "recordType",
        "securityResultCode",
        "receivedMessageDetails",
        "payloadType",
        "serialId",
        "odeReceivedAt",
        "schemaVersion",
        "maxDurationTime",
        "odePacketID",
        "odeTimStartDateTime",
        "recordGeneratedAt",
        "recordGeneratedBy",
        "sanitized"
      ]
    },
    "payload": {
      "type": "object",
      "properties": {
        "dataType": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "properties": {
            "timeStamp": {
              "type": "integer"
            },
            "msgIssueRevision": {
              "type": "integer"
            },
            "layerType": {
              "type": "string"
            },
            "layerID": {
              "type": "integer"
            },
            "intersections": {
              "type": "object",
              "properties": {
                "intersectionGeometry": {
                  "type": "array",
                  "items": [
                    {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "id": {
                          "type": "object",
                          "properties": {
                            "region": {
                              "type": "integer"
                            },
                            "id": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "id"
                          ]
                        },
                        "revision": {
                          "type": "integer"
                        },
                        "refPoint": {
                          "type": "object",
                          "properties": {
                            "lat": {
                              "type": "integer"
                            },
                            "lon": {
                              "type": "integer"
                            },
                            "elevation": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "lat",
                            "lon"
                          ]
                        },
                        "laneWidth": {
                          "type": "integer"
                        },
                        "speedLimits": {
                          "type": "object",
                          "properties": {
                            "speedLimits": {
                              "type": "array",
                              "items": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "speed": {
                                      "type": "integer"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "speed"
                                  ]
                                }
                              ]
                            }
                          },
                          "required": [
                            "speedLimits"
                          ]
                        },
                        "laneSet": {
                          "type": "object",
                          "properties": {
                            "GenericLane": {
                              "type": "array",
                              "items": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "laneID": {
                                      "type": "integer"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "ingressApproach": {
                                      "type": "integer"
                                    },
                                    "egressApproach": {
                                      "type": "integer"
                                    },
                                    "laneAttributes": {
                                      "type": "object",
                                      "properties": {
                                        "directionalUse": {
                                          "type": "object",
                                          "properties": {
                                            "ingressPath": {
                                              "type": "boolean"
                                            },
                                            "egressPath": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "ingressPath",
                                            "egressPath"
                                          ]
                                        },
                                        "shareWith": {
                                          "type": "object",
                                          "properties": {
                                            "busVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "trackedVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "individualMotorizedVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "taxiVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "overlappingLaneDescriptionProvided": {
                                              "type": "boolean"
                                            },
                                            "cyclistVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "otherNonMotorizedTrafficTypes": {
                                              "type": "boolean"
                                            },
                                            "multipleLanesTreatedAsOneLane": {
                                              "type": "boolean"
                                            },
                                            "pedestrianTraffic": {
                                              "type": "boolean"
                                            },
                                            "pedestriansTraffic": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "busVehicleTraffic",
                                            "trackedVehicleTraffic",
                                            "individualMotorizedVehicleTraffic",
                                            "taxiVehicleTraffic",
                                            "overlappingLaneDescriptionProvided",
                                            "cyclistVehicleTraffic",
                                            "otherNonMotorizedTrafficTypes",
                                            "multipleLanesTreatedAsOneLane",
                                            "pedestrianTraffic",
                                            "pedestriansTraffic"
                                          ]
                                        },
                                        "laneType": {
                                          "type": "object",
                                          "properties": {
                                            "vehicle": {
                                              "type": "object",
                                              "properties": {
                                                "isVehicleRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "isVehicleFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "permissionOnRequest": {
                                                  "type": "boolean"
                                                },
                                                "hasIRbeaconCoverage": {
                                                  "type": "boolean"
                                                },
                                                "restrictedToBusUse": {
                                                  "type": "boolean"
                                                },
                                                "restrictedToTaxiUse": {
                                                  "type": "boolean"
                                                },
                                                "restrictedFromPublicUse": {
                                                  "type": "boolean"
                                                },
                                                "hovLaneUseOnly": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "isVehicleRevocableLane",
                                                "isVehicleFlyOverLane",
                                                "permissionOnRequest",
                                                "hasIRbeaconCoverage",
                                                "restrictedToBusUse",
                                                "restrictedToTaxiUse",
                                                "restrictedFromPublicUse",
                                                "hovLaneUseOnly"
                                              ]
                                            },
                                            "crosswalk": {
                                              "type": "object",
                                              "properties": {
                                                "crosswalkRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "bicyleUseAllowed": {
                                                  "type": "boolean"
                                                },
                                                "isXwalkFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "fixedCycleTime": {
                                                  "type": "boolean"
                                                },
                                                "biDirectionalCycleTimes": {
                                                  "type": "boolean"
                                                },
                                                "hasPushToWalkButton": {
                                                  "type": "boolean"
                                                },
                                                "audioSupport": {
                                                  "type": "boolean"
                                                },
                                                "rfSignalRequestPresent": {
                                                  "type": "boolean"
                                                },
                                                "unsignalizedSegmentsPresent": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "crosswalkRevocableLane",
                                                "bicyleUseAllowed",
                                                "isXwalkFlyOverLane",
                                                "fixedCycleTime",
                                                "biDirectionalCycleTimes",
                                                "hasPushToWalkButton",
                                                "audioSupport",
                                                "rfSignalRequestPresent",
                                                "unsignalizedSegmentsPresent"
                                              ]
                                            },
                                            "bikeLane": {
                                              "type": "object",
                                              "properties": {
                                                "bikeRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "pedestrianUseAllowed": {
                                                  "type": "boolean"
                                                },
                                                "isBikeFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "fixedCycleTime": {
                                                  "type": "boolean"
                                                },
                                                "biDirectionalCycleTimes": {
                                                  "type": "boolean"
                                                },
                                                "isolatedByBarrier": {
                                                  "type": "boolean"
                                                },
                                                "unsignalizedSegmentsPresent": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "bikeRevocableLane",
                                                "pedestrianUseAllowed",
                                                "isBikeFlyOverLane",
                                                "fixedCycleTime",
                                                "biDirectionalCycleTimes",
                                                "isolatedByBarrier",
                                                "unsignalizedSegmentsPresent"
                                              ]
                                            },
                                            "sidewalk": {
                                              "type": "object",
                                              "properties": {
                                                "sidewalkRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "bicyleUseAllowed": {
                                                  "type": "boolean"
                                                },
                                                "isSidewalkFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "walkBikes": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "sidewalkRevocableLane",
                                                "bicyleUseAllowed",
                                                "isSidewalkFlyOverLane",
                                                "walkBikes"
                                              ]
                                            },
                                            "median": {
                                              "type": "object",
                                              "properties": {
                                                "medianRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "median": {
                                                  "type": "boolean"
                                                },
                                                "whiteLineHashing": {
                                                  "type": "boolean"
                                                },
                                                "stripedLines": {
                                                  "type": "boolean"
                                                },
                                                "doubleStripedLines": {
                                                  "type": "boolean"
                                                },
                                                "trafficCones": {
                                                  "type": "boolean"
                                                },
                                                "constructionBarrier": {
                                                  "type": "boolean"
                                                },
                                                "trafficChannels": {
                                                  "type": "boolean"
                                                },
                                                "lowCurbs": {
                                                  "type": "boolean"
                                                },
                                                "highCurbs": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "medianRevocableLane",
                                                "median",
                                                "whiteLineHashing",
                                                "stripedLines",
                                                "doubleStripedLines",
                                                "trafficCones",
                                                "constructionBarrier",
                                                "trafficChannels",
                                                "lowCurbs",
                                                "highCurbs"
                                              ]
                                            },
                                            "striping": {
                                              "type": "object",
                                              "properties": {
                                                "stripeToConnectingLanesRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "stripeDrawOnLeft": {
                                                  "type": "boolean"
                                                },
                                                "stripeDrawOnRight": {
                                                  "type": "boolean"
                                                },
                                                "stripeToConnectingLanesLeft": {
                                                  "type": "boolean"
                                                },
                                                "stripeToConnectingLanesRight": {
                                                  "type": "boolean"
                                                },
                                                "stripeToConnectingLanesAhead": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "stripeToConnectingLanesRevocableLane",
                                                "stripeDrawOnLeft",
                                                "stripeDrawOnRight",
                                                "stripeToConnectingLanesLeft",
                                                "stripeToConnectingLanesRight",
                                                "stripeToConnectingLanesAhead"
                                              ]
                                            },
                                            "trackedVehicle": {
                                              "type": "object",
                                              "properties": {
                                                "specRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "specCommuterRailRoadTrack": {
                                                  "type": "boolean"
                                                },
                                                "specLightRailRoadTrack": {
                                                  "type": "boolean"
                                                },
                                                "specHeavyRailRoadTrack": {
                                                  "type": "boolean"
                                                },
                                                "specOtherRailType": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "specRevocableLane",
                                                "specCommuterRailRoadTrack",
                                                "specLightRailRoadTrack",
                                                "specHeavyRailRoadTrack",
                                                "specOtherRailType"
                                              ]
                                            },
                                            "parking": {
                                              "type": "object",
                                              "properties": {
                                                "parkingRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "parallelParkingInUse": {
                                                  "type": "boolean"
                                                },
                                                "headInParkingInUse": {
                                                  "type": "boolean"
                                                },
                                                "doNotParkZone": {
                                                  "type": "boolean"
                                                },
                                                "parkingForBusUse": {
                                                  "type": "boolean"
                                                },
                                                "parkingForTaxiUse": {
                                                  "type": "boolean"
                                                },
                                                "noPublicParkingUse": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "parkingRevocableLane",
                                                "parallelParkingInUse",
                                                "headInParkingInUse",
                                                "doNotParkZone",
                                                "parkingForBusUse",
                                                "parkingForTaxiUse",
                                                "noPublicParkingUse"
                                              ]
                                            }
                                          }
                                        }
                                      },
                                      "required": [
                                        "directionalUse",
                                        "shareWith",
                                        "laneType"
                                      ]
                                    },
                                    "maneuvers": {
                                      "type": "object",
                                      "properties": {
                                        "maneuverStraightAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverLeftAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverRightAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverUTurnAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverLeftTurnOnRedAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverRightTurnOnRedAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverLaneChangeAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverNoStoppingAllowed": {
                                          "type": "boolean"
                                        },
                                        "yieldAllwaysRequired": {
                                          "type": "boolean"
                                        },
                                        "goWithHalt": {
                                          "type": "boolean"
                                        },
                                        "caution": {
                                          "type": "boolean"
                                        },
                                        "reserved1": {
                                          "type": "boolean"
                                        }
                                      },
                                      "required": [
                                        "maneuverStraightAllowed",
                                        "maneuverLeftAllowed",
                                        "maneuverRightAllowed",
                                        "maneuverUTurnAllowed",
                                        "maneuverLeftTurnOnRedAllowed",
                                        "maneuverRightTurnOnRedAllowed",
                                        "maneuverLaneChangeAllowed",
                                        "maneuverNoStoppingAllowed",
                                        "yieldAllwaysRequired",
                                        "goWithHalt",
                                        "caution",
                                        "reserved1"
                                      ]
                                    },
                                    "nodeList": {
                                      "type": "object",
                                      "properties": {
                                        "nodes": {
                                          "type": "object",
                                          "properties": {
                                            "NodeXY": {
                                              "type": "array",
                                              "items": [
                                                {
                                                  "type": "object",
                                                  "properties": {
                                                    "delta": {
                                                      "type": "object",
                                                      "properties": {
                                                        "nodeXY1": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY2": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY3": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY4": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY5": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY6": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeLatLon": {
                                                          "type": "object",
                                                          "properties": {
                                                            "lon": {
                                                              "type": "number"
                                                            },
                                                            "lat": {
                                                              "type": "number"
                                                            }
                                                          },
                                                          "required": [
                                                            "lon",
                                                            "lat"
                                                          ]
                                                        }
                                                      },
                                                      "required": [
                                                        "nodeXY1",
                                                        "nodeXY2",
                                                        "nodeXY3",
                                                        "nodeXY4",
                                                        "nodeXY5",
                                                        "nodeXY6",
                                                        "nodeLatLon"
                                                      ]
                                                    },
                                                    "attributes": {
                                                      "type": "object",
                                                      "properties": {
                                                        "localNode": {
                                                          "type": "null"
                                                        },
                                                        "disabled": {
                                                          "type": "null"
                                                        },
                                                        "enabled": {
                                                          "type": "null"
                                                        },
                                                        "data": {
                                                          "type": "null"
                                                        },
                                                        "dWidth": {
                                                          "type": "null"
                                                        },
                                                        "dElevation": {
                                                          "type": "integer"
                                                        }
                                                      },
                                                      "required": [
                                                        "dElevation"
                                                      ]
                                                    }
                                                  },
                                                  "required": [
                                                    "delta"
                                                  ]
                                                }
                                              ]
                                            }
                                          },
                                          "required": [
                                            "NodeXY"
                                          ]
                                        },
                                        "computed": {
                                          "type": "null"
                                        }
                                      },
                                      "required": [
                                        "nodes",
                                        "computed"
                                      ]
                                    },
                                    "connectsTo": {
                                      "type": "object",
                                      "properties": {
                                        "connectsTo": {
                                          "type": "array",
                                          "items": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "connectingLane": {
                                                  "type": "object",
                                                  "properties": {
                                                    "lane": {
                                                      "type": "integer"
                                                    },
                                                    "maneuver": {
                                                      "type": "object",
                                                      "properties": {
                                                        "maneuverStraightAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverLeftAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverRightAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverUTurnAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverLeftTurnOnRedAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverRightTurnOnRedAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverLaneChangeAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverNoStoppingAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "yieldAllwaysRequired": {
                                                          "type": "boolean"
                                                        },
                                                        "goWithHalt": {
                                                          "type": "boolean"
                                                        },
                                                        "caution": {
                                                          "type": "boolean"
                                                        },
                                                        "reserved1": {
                                                          "type": "boolean"
                                                        }
                                                      },
                                                      "required": [
                                                        "maneuverStraightAllowed",
                                                        "maneuverLeftAllowed",
                                                        "maneuverRightAllowed",
                                                        "maneuverUTurnAllowed",
                                                        "maneuverLeftTurnOnRedAllowed",
                                                        "maneuverRightTurnOnRedAllowed",
                                                        "maneuverLaneChangeAllowed",
                                                        "maneuverNoStoppingAllowed",
                                                        "yieldAllwaysRequired",
                                                        "goWithHalt",
                                                        "caution",
                                                        "reserved1"
                                                      ]
                                                    }
                                                  },
                                                  "required": [
                                                    "lane"
                                                  ]
                                                },
                                                "remoteIntersection": {
                                                  "type": "object",
                                                  "properties": {
                                                    "region": {
                                                      "type": "integer"
                                                    },
                                                    "id": {
                                                      "type": "integer"
                                                    }
                                                  },
                                                  "required": [
                                                    "id"
                                                  ]
                                                },
                                                "signalGroup": {
                                                  "type": "integer"
                                                },
                                                "userClass": {
                                                  "type": "integer"
                                                },
                                                "connectionID": {
                                                  "type": "integer"
                                                }
                                              },
                                              "required": [
                                                "connectingLane"
                                              ]
                                            }
                                          ]
                                        }
                                      },
                                      "required": [
                                        "connectsTo"
                                      ]
                                    },
                                    "overlays": {
                                      "type": "object",
                                      "properties": {
                                        "connectsTo": {
                                          "type": "array",
                                          "items": [
                                            {
                                              "type": "integer"
                                            }
                                          ]
                                        }
                                      },
                                      "required": [
                                        "laneIds"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "laneID",
                                    "laneAttributes",
                                    "nodeList"
                                  ]
                                }
                              ]
                            }
                          },
                          "required": [
                            "GenericLane"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "revision",
                        "refPoint",
                        "laneSet"
                      ]
                    }
                  ]
                }
              },
              "required": [
                "intersectionGeometry"
              ]
            },
            "roadSegments": {
              "type": "object",
              "properties": {
                "roadSegmentList": {
                  "type": "array",
                  "items": [
                    {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "id": {
                          "type": "object",
                          "properties": {
                            "region": {
                              "type": "integer"
                            },
                            "id": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "id"
                          ]
                        },
                        "refPoint": {
                          "type": "object",
                          "properties": {
                            "lat": {
                              "type": "integer"
                            },
                            "lon": {
                              "type": "integer"
                            },
                            "elevation": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "lat",
                            "lon"
                          ]
                        },
                        "laneWidth": {
                          "type": "integer"
                        },
                        "speedLimits": {
                          "type": "object",
                          "properties": {
                            "speedLimits": {
                              "type": "array",
                              "items": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string"
                                    },
                                    "speed": {
                                      "type": "integer"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "speed"
                                  ]
                                }
                              ]
                            }
                          },
                          "required": [
                            "speedLimits"
                          ]
                        },
                        "roadLaneSet": {
                          "type": "object",
                          "properties": {
                            "roadLanes": {
                              "type": "array",
                              "items": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "laneID": {
                                      "type": "integer"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "ingressApproach": {
                                      "type": "integer"
                                    },
                                    "egressApproach": {
                                      "type": "integer"
                                    },
                                    "laneAttributes": {
                                      "type": "object",
                                      "properties": {
                                        "directionalUse": {
                                          "type": "object",
                                          "properties": {
                                            "ingressPath": {
                                              "type": "boolean"
                                            },
                                            "egressPath": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "ingressPath",
                                            "egressPath"
                                          ]
                                        },
                                        "shareWith": {
                                          "type": "object",
                                          "properties": {
                                            "busVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "trackedVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "individualMotorizedVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "taxiVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "overlappingLaneDescriptionProvided": {
                                              "type": "boolean"
                                            },
                                            "cyclistVehicleTraffic": {
                                              "type": "boolean"
                                            },
                                            "otherNonMotorizedTrafficTypes": {
                                              "type": "boolean"
                                            },
                                            "multipleLanesTreatedAsOneLane": {
                                              "type": "boolean"
                                            },
                                            "pedestrianTraffic": {
                                              "type": "boolean"
                                            },
                                            "pedestriansTraffic": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "busVehicleTraffic",
                                            "trackedVehicleTraffic",
                                            "individualMotorizedVehicleTraffic",
                                            "taxiVehicleTraffic",
                                            "overlappingLaneDescriptionProvided",
                                            "cyclistVehicleTraffic",
                                            "otherNonMotorizedTrafficTypes",
                                            "multipleLanesTreatedAsOneLane",
                                            "pedestrianTraffic",
                                            "pedestriansTraffic"
                                          ]
                                        },
                                        "laneType": {
                                          "type": "object",
                                          "properties": {
                                            "vehicle": {
                                              "type": "object",
                                              "properties": {
                                                "isVehicleRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "isVehicleFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "permissionOnRequest": {
                                                  "type": "boolean"
                                                },
                                                "hasIRbeaconCoverage": {
                                                  "type": "boolean"
                                                },
                                                "restrictedToBusUse": {
                                                  "type": "boolean"
                                                },
                                                "restrictedToTaxiUse": {
                                                  "type": "boolean"
                                                },
                                                "restrictedFromPublicUse": {
                                                  "type": "boolean"
                                                },
                                                "hovLaneUseOnly": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "isVehicleRevocableLane",
                                                "isVehicleFlyOverLane",
                                                "permissionOnRequest",
                                                "hasIRbeaconCoverage",
                                                "restrictedToBusUse",
                                                "restrictedToTaxiUse",
                                                "restrictedFromPublicUse",
                                                "hovLaneUseOnly"
                                              ]
                                            },
                                            "crosswalk": {
                                              "type": "object",
                                              "properties": {
                                                "crosswalkRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "bicyleUseAllowed": {
                                                  "type": "boolean"
                                                },
                                                "isXwalkFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "fixedCycleTime": {
                                                  "type": "boolean"
                                                },
                                                "biDirectionalCycleTimes": {
                                                  "type": "boolean"
                                                },
                                                "hasPushToWalkButton": {
                                                  "type": "boolean"
                                                },
                                                "audioSupport": {
                                                  "type": "boolean"
                                                },
                                                "rfSignalRequestPresent": {
                                                  "type": "boolean"
                                                },
                                                "unsignalizedSegmentsPresent": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "crosswalkRevocableLane",
                                                "bicyleUseAllowed",
                                                "isXwalkFlyOverLane",
                                                "fixedCycleTime",
                                                "biDirectionalCycleTimes",
                                                "hasPushToWalkButton",
                                                "audioSupport",
                                                "rfSignalRequestPresent",
                                                "unsignalizedSegmentsPresent"
                                              ]
                                            },
                                            "bikeLane": {
                                              "type": "object",
                                              "properties": {
                                                "bikeRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "pedestrianUseAllowed": {
                                                  "type": "boolean"
                                                },
                                                "isBikeFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "fixedCycleTime": {
                                                  "type": "boolean"
                                                },
                                                "biDirectionalCycleTimes": {
                                                  "type": "boolean"
                                                },
                                                "isolatedByBarrier": {
                                                  "type": "boolean"
                                                },
                                                "unsignalizedSegmentsPresent": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "bikeRevocableLane",
                                                "pedestrianUseAllowed",
                                                "isBikeFlyOverLane",
                                                "fixedCycleTime",
                                                "biDirectionalCycleTimes",
                                                "isolatedByBarrier",
                                                "unsignalizedSegmentsPresent"
                                              ]
                                            },
                                            "sidewalk": {
                                              "type": "object",
                                              "properties": {
                                                "sidewalkRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "bicyleUseAllowed": {
                                                  "type": "boolean"
                                                },
                                                "isSidewalkFlyOverLane": {
                                                  "type": "boolean"
                                                },
                                                "walkBikes": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "sidewalkRevocableLane",
                                                "bicyleUseAllowed",
                                                "isSidewalkFlyOverLane",
                                                "walkBikes"
                                              ]
                                            },
                                            "median": {
                                              "type": "object",
                                              "properties": {
                                                "medianRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "median": {
                                                  "type": "boolean"
                                                },
                                                "whiteLineHashing": {
                                                  "type": "boolean"
                                                },
                                                "stripedLines": {
                                                  "type": "boolean"
                                                },
                                                "doubleStripedLines": {
                                                  "type": "boolean"
                                                },
                                                "trafficCones": {
                                                  "type": "boolean"
                                                },
                                                "constructionBarrier": {
                                                  "type": "boolean"
                                                },
                                                "trafficChannels": {
                                                  "type": "boolean"
                                                },
                                                "lowCurbs": {
                                                  "type": "boolean"
                                                },
                                                "highCurbs": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "medianRevocableLane",
                                                "median",
                                                "whiteLineHashing",
                                                "stripedLines",
                                                "doubleStripedLines",
                                                "trafficCones",
                                                "constructionBarrier",
                                                "trafficChannels",
                                                "lowCurbs",
                                                "highCurbs"
                                              ]
                                            },
                                            "striping": {
                                              "type": "object",
                                              "properties": {
                                                "stripeToConnectingLanesRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "stripeDrawOnLeft": {
                                                  "type": "boolean"
                                                },
                                                "stripeDrawOnRight": {
                                                  "type": "boolean"
                                                },
                                                "stripeToConnectingLanesLeft": {
                                                  "type": "boolean"
                                                },
                                                "stripeToConnectingLanesRight": {
                                                  "type": "boolean"
                                                },
                                                "stripeToConnectingLanesAhead": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "stripeToConnectingLanesRevocableLane",
                                                "stripeDrawOnLeft",
                                                "stripeDrawOnRight",
                                                "stripeToConnectingLanesLeft",
                                                "stripeToConnectingLanesRight",
                                                "stripeToConnectingLanesAhead"
                                              ]
                                            },
                                            "trackedVehicle": {
                                              "type": "object",
                                              "properties": {
                                                "specRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "specCommuterRailRoadTrack": {
                                                  "type": "boolean"
                                                },
                                                "specLightRailRoadTrack": {
                                                  "type": "boolean"
                                                },
                                                "specHeavyRailRoadTrack": {
                                                  "type": "boolean"
                                                },
                                                "specOtherRailType": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "specRevocableLane",
                                                "specCommuterRailRoadTrack",
                                                "specLightRailRoadTrack",
                                                "specHeavyRailRoadTrack",
                                                "specOtherRailType"
                                              ]
                                            },
                                            "parking": {
                                              "type": "object",
                                              "properties": {
                                                "parkingRevocableLane": {
                                                  "type": "boolean"
                                                },
                                                "parallelParkingInUse": {
                                                  "type": "boolean"
                                                },
                                                "headInParkingInUse": {
                                                  "type": "boolean"
                                                },
                                                "doNotParkZone": {
                                                  "type": "boolean"
                                                },
                                                "parkingForBusUse": {
                                                  "type": "boolean"
                                                },
                                                "parkingForTaxiUse": {
                                                  "type": "boolean"
                                                },
                                                "noPublicParkingUse": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "parkingRevocableLane",
                                                "parallelParkingInUse",
                                                "headInParkingInUse",
                                                "doNotParkZone",
                                                "parkingForBusUse",
                                                "parkingForTaxiUse",
                                                "noPublicParkingUse"
                                              ]
                                            }
                                          }
                                        }
                                      },
                                      "required": [
                                        "directionalUse",
                                        "shareWith",
                                        "laneType"
                                      ]
                                    },
                                    "maneuvers": {
                                      "type": "object",
                                      "properties": {
                                        "maneuverStraightAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverLeftAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverRightAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverUTurnAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverLeftTurnOnRedAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverRightTurnOnRedAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverLaneChangeAllowed": {
                                          "type": "boolean"
                                        },
                                        "maneuverNoStoppingAllowed": {
                                          "type": "boolean"
                                        },
                                        "yieldAllwaysRequired": {
                                          "type": "boolean"
                                        },
                                        "goWithHalt": {
                                          "type": "boolean"
                                        },
                                        "caution": {
                                          "type": "boolean"
                                        },
                                        "reserved1": {
                                          "type": "boolean"
                                        }
                                      },
                                      "required": [
                                        "maneuverStraightAllowed",
                                        "maneuverLeftAllowed",
                                        "maneuverRightAllowed",
                                        "maneuverUTurnAllowed",
                                        "maneuverLeftTurnOnRedAllowed",
                                        "maneuverRightTurnOnRedAllowed",
                                        "maneuverLaneChangeAllowed",
                                        "maneuverNoStoppingAllowed",
                                        "yieldAllwaysRequired",
                                        "goWithHalt",
                                        "caution",
                                        "reserved1"
                                      ]
                                    },
                                    "nodeList": {
                                      "type": "object",
                                      "properties": {
                                        "nodes": {
                                          "type": "object",
                                          "properties": {
                                            "NodeXY": {
                                              "type": "array",
                                              "items": [
                                                {
                                                  "type": "object",
                                                  "properties": {
                                                    "delta": {
                                                      "type": "object",
                                                      "properties": {
                                                        "nodeXY1": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY2": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY3": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY4": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY5": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeXY6": {
                                                          "type": "object",
                                                          "properties": {
                                                            "x": {
                                                              "type": "integer"
                                                            },
                                                            "y": {
                                                              "type": "integer"
                                                            }
                                                          },
                                                          "required": [
                                                            "x",
                                                            "y"
                                                          ]
                                                        },
                                                        "nodeLatLon": {
                                                          "type": "object",
                                                          "properties": {
                                                            "lon": {
                                                              "type": "number"
                                                            },
                                                            "lat": {
                                                              "type": "number"
                                                            }
                                                          },
                                                          "required": [
                                                            "lon",
                                                            "lat"
                                                          ]
                                                        }
                                                      },
                                                      "required": [
                                                        "nodeXY1",
                                                        "nodeXY2",
                                                        "nodeXY3",
                                                        "nodeXY4",
                                                        "nodeXY5",
                                                        "nodeXY6",
                                                        "nodeLatLon"
                                                      ]
                                                    },
                                                    "attributes": {
                                                      "type": "object",
                                                      "properties": {
                                                        "localNode": {
                                                          "type": "null"
                                                        },
                                                        "disabled": {
                                                          "type": "null"
                                                        },
                                                        "enabled": {
                                                          "type": "null"
                                                        },
                                                        "data": {
                                                          "type": "null"
                                                        },
                                                        "dWidth": {
                                                          "type": "null"
                                                        },
                                                        "dElevation": {
                                                          "type": "integer"
                                                        }
                                                      },
                                                      "required": [
                                                        "dElevation"
                                                      ]
                                                    }
                                                  },
                                                  "required": [
                                                    "delta"
                                                  ]
                                                }
                                              ]
                                            }
                                          },
                                          "required": [
                                            "NodeXY"
                                          ]
                                        },
                                        "computed": {
                                          "type": "null"
                                        }
                                      },
                                      "required": [
                                        "nodes",
                                        "computed"
                                      ]
                                    },
                                    "connectsTo": {
                                      "type": "object",
                                      "properties": {
                                        "connectsTo": {
                                          "type": "array",
                                          "items": [
                                            {
                                              "type": "object",
                                              "properties": {
                                                "connectingLane": {
                                                  "type": "object",
                                                  "properties": {
                                                    "lane": {
                                                      "type": "integer"
                                                    },
                                                    "maneuver": {
                                                      "type": "object",
                                                      "properties": {
                                                        "maneuverStraightAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverLeftAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverRightAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverUTurnAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverLeftTurnOnRedAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverRightTurnOnRedAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverLaneChangeAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "maneuverNoStoppingAllowed": {
                                                          "type": "boolean"
                                                        },
                                                        "yieldAllwaysRequired": {
                                                          "type": "boolean"
                                                        },
                                                        "goWithHalt": {
                                                          "type": "boolean"
                                                        },
                                                        "caution": {
                                                          "type": "boolean"
                                                        },
                                                        "reserved1": {
                                                          "type": "boolean"
                                                        }
                                                      },
                                                      "required": [
                                                        "maneuverStraightAllowed",
                                                        "maneuverLeftAllowed",
                                                        "maneuverRightAllowed",
                                                        "maneuverUTurnAllowed",
                                                        "maneuverLeftTurnOnRedAllowed",
                                                        "maneuverRightTurnOnRedAllowed",
                                                        "maneuverLaneChangeAllowed",
                                                        "maneuverNoStoppingAllowed",
                                                        "yieldAllwaysRequired",
                                                        "goWithHalt",
                                                        "caution",
                                                        "reserved1"
                                                      ]
                                                    }
                                                  },
                                                  "required": [
                                                    "lane"
                                                  ]
                                                },
                                                "remoteIntersection": {
                                                  "type": "object",
                                                  "properties": {
                                                    "region": {
                                                      "type": "integer"
                                                    },
                                                    "id": {
                                                      "type": "integer"
                                                    }
                                                  },
                                                  "required": [
                                                    "id"
                                                  ]
                                                },
                                                "signalGroup": {
                                                  "type": "integer"
                                                },
                                                "userClass": {
                                                  "type": "integer"
                                                },
                                                "connectionID": {
                                                  "type": "integer"
                                                }
                                              },
                                              "required": [
                                                "connectingLane"
                                              ]
                                            }
                                          ]
                                        }
                                      },
                                      "required": [
                                        "connectsTo"
                                      ]
                                    },
                                    "overlays": {
                                      "type": "object",
                                      "properties": {
                                        "connectsTo": {
                                          "type": "array",
                                          "items": [
                                            {
                                              "type": "integer"
                                            }
                                          ]
                                        }
                                      },
                                      "required": [
                                        "laneIds"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "laneID",
                                    "laneAttributes",
                                    "nodeList"
                                  ]
                                }
                              ]
                            }
                          },
                          "required": [
                            "roadLanes"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "refPoint",
                        "roadLaneSet"
                      ]
                    }
                  ]
                }
              },
              "required": [
                "roadSegmentList"
              ]
            },
            "dataParameters": {
              "type": "object",
              "properties": {
                "processMethod": {
                  "type": "string"
                },
                "processAgency": {
                  "type": "string"
                },
                "lastCheckedDate": {
                  "type": "string"
                },
                "geoidUsed": {
                  "type": "string"
                }
              }
            },
            "restrictionList": {
              "type": "object",
              "properties": {
                "restrictionList": {
                  "type": "array",
                  "items": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "users": {
                          "type": "object",
                          "properties": {
                            "restrictionUserType": {
                              "type": "array",
                              "items": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "basicType": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "basicType"
                                  ]
                                }
                              ]
                            }
                          },
                          "required": [
                            "restrictionUserType"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "users"
                      ]
                    }
                  ]
                }
              },
              "required": [
                "restrictionList"
              ]
            }
          },
          "required": [
            "msgIssueRevision"
          ]
        }
      },
      "required": [
        "dataType",
        "data"
      ]
    }
  },
  "required": [
    "metadata",
    "payload"
  ]
}

Releases

Change Notices

Informational Reference

  • 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

Test Procedures

  • 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

Archived

  • 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
Clone this wiki locally