Last active
March 14, 2024 02:34
-
-
Save thesteve0/c6d975055244340dd8e3f5e796e5ea21 to your computer and use it in GitHub Desktop.
OMF transportation schema
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "http://json-schema.org/draft-06/schema#", | |
"$ref": "#/definitions/Welcome7", | |
"definitions": { | |
"Welcome7": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$schema": { | |
"type": "string", | |
"format": "uri", | |
"qt-uri-protocols": [ | |
"https" | |
] | |
}, | |
"title": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"properties": { | |
"$ref": "#/definitions/Welcome7Properties" | |
}, | |
"$defs": { | |
"$ref": "#/definitions/Defs" | |
} | |
}, | |
"required": [ | |
"$defs", | |
"$schema", | |
"description", | |
"properties", | |
"title", | |
"type" | |
], | |
"title": "Welcome7" | |
}, | |
"Defs": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"propertyDefinitions": { | |
"$ref": "#/definitions/PropertyDefinitions" | |
}, | |
"propertyContainers": { | |
"$ref": "#/definitions/PropertyContainers" | |
} | |
}, | |
"required": [ | |
"propertyContainers", | |
"propertyDefinitions" | |
], | |
"title": "Defs" | |
}, | |
"PropertyContainers": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"duringContainer": { | |
"$ref": "#/definitions/DuringContainer" | |
}, | |
"modesContainer": { | |
"$ref": "#/definitions/ModesContainer" | |
}, | |
"headingContainer": { | |
"$ref": "#/definitions/HeadingContainer" | |
}, | |
"speedLimitsContainer": { | |
"$ref": "#/definitions/SpeedLimitsContainer" | |
}, | |
"accessContainer": { | |
"$ref": "#/definitions/AccessContainer" | |
}, | |
"ruleContainer": { | |
"$ref": "#/definitions/RuleContainer" | |
} | |
}, | |
"required": [ | |
"accessContainer", | |
"duringContainer", | |
"headingContainer", | |
"modesContainer", | |
"ruleContainer", | |
"speedLimitsContainer" | |
], | |
"title": "PropertyContainers" | |
}, | |
"AccessContainer": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/AccessContainerItems" | |
} | |
}, | |
"required": [ | |
"description", | |
"items", | |
"type" | |
], | |
"title": "AccessContainer" | |
}, | |
"AccessContainerItems": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/PurpleOneOf" | |
} | |
} | |
}, | |
"required": [ | |
"oneOf" | |
], | |
"title": "AccessContainerItems" | |
}, | |
"PurpleOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$ref": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/OneOfOneOf" | |
} | |
}, | |
"minLength": { | |
"type": "integer" | |
} | |
}, | |
"required": [], | |
"title": "PurpleOneOf" | |
}, | |
"OneOfOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"required": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"properties": { | |
"$ref": "#/definitions/PurpleProperties" | |
} | |
}, | |
"required": [ | |
"properties", | |
"required" | |
], | |
"title": "OneOfOneOf" | |
}, | |
"PurpleProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"allowed": { | |
"$ref": "#/definitions/AllowedClass" | |
}, | |
"designated": { | |
"$ref": "#/definitions/AllowedClass" | |
}, | |
"denied": { | |
"$ref": "#/definitions/AllowedClass" | |
} | |
}, | |
"required": [], | |
"title": "PurpleProperties" | |
}, | |
"AllowedClass": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"allOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"properties": { | |
"$ref": "#/definitions/AllowedProperties" | |
} | |
}, | |
"required": [ | |
"allOf", | |
"type", | |
"unevaluatedProperties" | |
], | |
"title": "AllowedClass" | |
}, | |
"ID": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$ref": { | |
"type": "string", | |
"qt-uri-protocols": [ | |
"https" | |
], | |
"qt-uri-extensions": [ | |
".json" | |
] | |
} | |
}, | |
"required": [ | |
"$ref" | |
], | |
"title": "ID" | |
}, | |
"AllowedProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"reason": { | |
"$ref": "#/definitions/ModesContainer" | |
}, | |
"sequence": { | |
"$ref": "#/definitions/Sequence" | |
}, | |
"finalHeading": { | |
"$ref": "#/definitions/FinalHeading" | |
}, | |
"value": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"required": [], | |
"title": "AllowedProperties" | |
}, | |
"FinalHeading": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"$ref": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"$ref", | |
"description" | |
], | |
"title": "FinalHeading" | |
}, | |
"SubTypeClass": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"enum": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"enum" | |
], | |
"title": "SubTypeClass" | |
}, | |
"ModesContainerOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"not": { | |
"$ref": "#/definitions/Not" | |
}, | |
"required": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"properties": { | |
"$ref": "#/definitions/FluffyProperties" | |
} | |
}, | |
"required": [], | |
"title": "ModesContainerOneOf" | |
}, | |
"Not": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"anyOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/AnyOf" | |
} | |
} | |
}, | |
"required": [ | |
"anyOf" | |
], | |
"title": "Not" | |
}, | |
"AnyOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"required": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"required" | |
], | |
"title": "AnyOf" | |
}, | |
"FluffyProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"mode": { | |
"$ref": "#/definitions/Mode" | |
}, | |
"modeNot": { | |
"$ref": "#/definitions/Mode" | |
} | |
}, | |
"required": [], | |
"title": "FluffyProperties" | |
}, | |
"Mode": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/ID" | |
}, | |
"uniqueItems": { | |
"type": "boolean" | |
}, | |
"minLength": { | |
"type": "integer" | |
} | |
}, | |
"required": [ | |
"description", | |
"items", | |
"minLength", | |
"type", | |
"uniqueItems" | |
], | |
"title": "Mode" | |
}, | |
"Sequence": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/FinalHeading" | |
}, | |
"minItems": { | |
"type": "integer" | |
}, | |
"uniqueItems": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"description", | |
"items", | |
"minItems", | |
"type", | |
"uniqueItems" | |
], | |
"title": "Sequence" | |
}, | |
"DuringContainer": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$comment": { | |
"type": "string" | |
}, | |
"properties": { | |
"$ref": "#/definitions/DuringContainerProperties" | |
} | |
}, | |
"required": [ | |
"$comment", | |
"properties" | |
], | |
"title": "DuringContainer" | |
}, | |
"DuringContainerProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"during": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"required": [ | |
"during" | |
], | |
"title": "DuringContainerProperties" | |
}, | |
"HeadingContainer": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"properties": { | |
"$ref": "#/definitions/HeadingContainerProperties" | |
} | |
}, | |
"required": [ | |
"description", | |
"properties" | |
], | |
"title": "HeadingContainer" | |
}, | |
"HeadingContainerProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"heading": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"required": [ | |
"heading" | |
], | |
"title": "HeadingContainerProperties" | |
}, | |
"RuleContainer": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"properties": { | |
"$ref": "#/definitions/RuleContainerProperties" | |
} | |
}, | |
"required": [ | |
"description", | |
"properties", | |
"type" | |
], | |
"title": "RuleContainer" | |
}, | |
"RuleContainerProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"when": { | |
"$ref": "#/definitions/When" | |
} | |
}, | |
"required": [ | |
"when" | |
], | |
"title": "RuleContainerProperties" | |
}, | |
"When": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"allOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"$ref": "#/definitions/WhenProperties" | |
} | |
}, | |
"required": [ | |
"allOf", | |
"description", | |
"properties", | |
"type", | |
"unevaluatedProperties" | |
], | |
"title": "When" | |
}, | |
"WhenProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"using": { | |
"$ref": "#/definitions/Recognized" | |
}, | |
"recognized": { | |
"$ref": "#/definitions/Recognized" | |
}, | |
"vehicle": { | |
"$ref": "#/definitions/Vehicle" | |
} | |
}, | |
"required": [ | |
"recognized", | |
"using", | |
"vehicle" | |
], | |
"title": "WhenProperties" | |
}, | |
"Recognized": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"required": [ | |
"items", | |
"type" | |
], | |
"title": "Recognized" | |
}, | |
"Vehicle": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"properties": { | |
"$ref": "#/definitions/VehicleProperties" | |
} | |
}, | |
"required": [ | |
"properties", | |
"type" | |
], | |
"title": "Vehicle" | |
}, | |
"VehicleProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"axleCount": { | |
"$ref": "#/definitions/ID" | |
}, | |
"length": { | |
"$ref": "#/definitions/ID" | |
}, | |
"weight": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"required": [ | |
"axleCount", | |
"length", | |
"weight" | |
], | |
"title": "VehicleProperties" | |
}, | |
"SpeedLimitsContainer": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/SpeedLimitsContainerItems" | |
} | |
}, | |
"required": [ | |
"description", | |
"items", | |
"type" | |
], | |
"title": "SpeedLimitsContainer" | |
}, | |
"SpeedLimitsContainerItems": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"$comment": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"anyOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/AnyOf" | |
} | |
}, | |
"allOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"$ref": "#/definitions/TentacledProperties" | |
} | |
}, | |
"required": [ | |
"$comment", | |
"allOf", | |
"anyOf", | |
"description", | |
"properties", | |
"type", | |
"unevaluatedProperties" | |
], | |
"title": "SpeedLimitsContainerItems" | |
}, | |
"TentacledProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"minSpeed": { | |
"$ref": "#/definitions/ID" | |
}, | |
"maxSpeed": { | |
"$ref": "#/definitions/ID" | |
}, | |
"isMaxSpeedVariable": { | |
"$ref": "#/definitions/IsMaxSpeedVariable" | |
} | |
}, | |
"required": [ | |
"isMaxSpeedVariable", | |
"maxSpeed", | |
"minSpeed" | |
], | |
"title": "TentacledProperties" | |
}, | |
"IsMaxSpeedVariable": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"default": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"default", | |
"description", | |
"type" | |
], | |
"title": "IsMaxSpeedVariable" | |
}, | |
"PropertyDefinitions": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"lane": { | |
"$ref": "#/definitions/Lane" | |
}, | |
"laneDirection": { | |
"$ref": "#/definitions/LaneDirection" | |
}, | |
"direction": { | |
"$ref": "#/definitions/AccessOption" | |
}, | |
"mode": { | |
"$ref": "#/definitions/ModesContainer" | |
}, | |
"road": { | |
"$ref": "#/definitions/Road" | |
}, | |
"roadFlag": { | |
"$ref": "#/definitions/AccessOption" | |
}, | |
"roadSurface": { | |
"$ref": "#/definitions/AccessOption" | |
}, | |
"roadWidth": { | |
"$ref": "#/definitions/RoadWidth" | |
}, | |
"speed": { | |
"$ref": "#/definitions/Speed" | |
}, | |
"accessOption": { | |
"$ref": "#/definitions/AccessOption" | |
}, | |
"usageOption": { | |
"$ref": "#/definitions/ModesContainer" | |
}, | |
"recognizedOption": { | |
"$ref": "#/definitions/ModesContainer" | |
}, | |
"relationalExpression": { | |
"$ref": "#/definitions/RelationalExpression" | |
}, | |
"relationTarget": { | |
"$ref": "#/definitions/RelationTarget" | |
} | |
}, | |
"required": [ | |
"accessOption", | |
"direction", | |
"lane", | |
"laneDirection", | |
"mode", | |
"recognizedOption", | |
"relationTarget", | |
"relationalExpression", | |
"road", | |
"roadFlag", | |
"roadSurface", | |
"roadWidth", | |
"speed", | |
"usageOption" | |
], | |
"title": "PropertyDefinitions" | |
}, | |
"AccessOption": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"enum": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"default": { | |
"$ref": "#/definitions/SubTypeClass" | |
}, | |
"$comment": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"description", | |
"enum", | |
"type" | |
], | |
"title": "AccessOption" | |
}, | |
"Lane": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"required": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"properties": { | |
"$ref": "#/definitions/LaneProperties" | |
} | |
}, | |
"required": [ | |
"description", | |
"properties", | |
"required", | |
"type", | |
"unevaluatedProperties" | |
], | |
"title": "Lane" | |
}, | |
"LaneProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"direction": { | |
"$ref": "#/definitions/ID" | |
}, | |
"restrictions": { | |
"$ref": "#/definitions/PurpleRestrictions" | |
} | |
}, | |
"required": [ | |
"direction", | |
"restrictions" | |
], | |
"title": "LaneProperties" | |
}, | |
"PurpleRestrictions": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"$comment": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"$ref": "#/definitions/StickyProperties" | |
} | |
}, | |
"required": [ | |
"$comment", | |
"description", | |
"properties", | |
"type", | |
"unevaluatedProperties" | |
], | |
"title": "PurpleRestrictions" | |
}, | |
"StickyProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"speedLimits": { | |
"$ref": "#/definitions/ID" | |
}, | |
"access": { | |
"$ref": "#/definitions/ID" | |
}, | |
"minOccupancy": { | |
"$ref": "#/definitions/MinOccupancy" | |
} | |
}, | |
"required": [ | |
"access", | |
"minOccupancy", | |
"speedLimits" | |
], | |
"title": "StickyProperties" | |
}, | |
"MinOccupancy": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/MinOccupancyOneOf" | |
} | |
} | |
}, | |
"required": [ | |
"description", | |
"oneOf" | |
], | |
"title": "MinOccupancy" | |
}, | |
"MinOccupancyOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$ref": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/AllowedClass" | |
} | |
}, | |
"required": [], | |
"title": "MinOccupancyOneOf" | |
}, | |
"LaneDirection": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"enum": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"enum", | |
"type" | |
], | |
"title": "LaneDirection" | |
}, | |
"RelationTarget": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"properties": { | |
"$ref": "#/definitions/RelationTargetProperties" | |
}, | |
"required": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
}, | |
"required": [ | |
"description", | |
"properties", | |
"required", | |
"type" | |
], | |
"title": "RelationTarget" | |
}, | |
"RelationTargetProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"segmentId": { | |
"$ref": "#/definitions/SegmentID" | |
}, | |
"connectorId": { | |
"$ref": "#/definitions/ModesContainer" | |
} | |
}, | |
"required": [ | |
"connectorId", | |
"segmentId" | |
], | |
"title": "RelationTargetProperties" | |
}, | |
"SegmentID": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"description", | |
"type" | |
], | |
"title": "SegmentID" | |
}, | |
"RelationalExpression": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/RelationalExpressionOneOf" | |
} | |
} | |
}, | |
"required": [ | |
"description", | |
"oneOf" | |
], | |
"title": "RelationalExpression" | |
}, | |
"RelationalExpressionOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"required": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"properties": { | |
"$ref": "#/definitions/IndigoProperties" | |
} | |
}, | |
"required": [ | |
"properties", | |
"required", | |
"type" | |
], | |
"title": "RelationalExpressionOneOf" | |
}, | |
"IndigoProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"isMoreThan": { | |
"$ref": "#/definitions/Is" | |
}, | |
"isAtLeast": { | |
"$ref": "#/definitions/Is" | |
}, | |
"isEqualTo": { | |
"$ref": "#/definitions/Is" | |
}, | |
"isAtMost": { | |
"$ref": "#/definitions/Is" | |
}, | |
"isLessThan": { | |
"$ref": "#/definitions/Is" | |
} | |
}, | |
"required": [], | |
"title": "IndigoProperties" | |
}, | |
"Is": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"type" | |
], | |
"title": "Is" | |
}, | |
"Road": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"default": { | |
"$ref": "#/definitions/RoadDefault" | |
}, | |
"properties": { | |
"$ref": "#/definitions/RoadProperties" | |
} | |
}, | |
"required": [ | |
"default", | |
"description", | |
"properties", | |
"type", | |
"unevaluatedProperties" | |
], | |
"title": "Road" | |
}, | |
"RoadDefault": { | |
"type": "object", | |
"additionalProperties": false, | |
"title": "RoadDefault" | |
}, | |
"RoadProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"class": { | |
"$ref": "#/definitions/AccessOption" | |
}, | |
"surface": { | |
"$ref": "#/definitions/Surface" | |
}, | |
"flags": { | |
"$ref": "#/definitions/Flags" | |
}, | |
"lanes": { | |
"$ref": "#/definitions/Lanes" | |
}, | |
"restrictions": { | |
"$ref": "#/definitions/FluffyRestrictions" | |
} | |
}, | |
"required": [ | |
"class", | |
"flags", | |
"lanes", | |
"restrictions", | |
"surface" | |
], | |
"title": "RoadProperties" | |
}, | |
"Flags": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/FlagsItems" | |
}, | |
"uniqueItems": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"description", | |
"items", | |
"type", | |
"uniqueItems" | |
], | |
"title": "Flags" | |
}, | |
"FlagsItems": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/FluffyOneOf" | |
} | |
} | |
}, | |
"required": [ | |
"oneOf" | |
], | |
"title": "FlagsItems" | |
}, | |
"FluffyOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$ref": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"allOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"$ref": "#/definitions/IndecentProperties" | |
} | |
}, | |
"required": [], | |
"title": "FluffyOneOf" | |
}, | |
"IndecentProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"values": { | |
"$ref": "#/definitions/Values" | |
} | |
}, | |
"required": [ | |
"values" | |
], | |
"title": "IndecentProperties" | |
}, | |
"Values": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/ID" | |
}, | |
"uniqueItems": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"items", | |
"type", | |
"uniqueItems" | |
], | |
"title": "Values" | |
}, | |
"Lanes": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/LanesOneOf" | |
} | |
} | |
}, | |
"required": [ | |
"description", | |
"oneOf" | |
], | |
"title": "Lanes" | |
}, | |
"LanesOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/PurpleItems" | |
}, | |
"minItems": { | |
"type": "integer" | |
} | |
}, | |
"required": [ | |
"items", | |
"minItems", | |
"type" | |
], | |
"title": "LanesOneOf" | |
}, | |
"PurpleItems": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$ref": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"allOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ItemsAllOf" | |
} | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"$ref": "#/definitions/HilariousProperties" | |
} | |
}, | |
"required": [], | |
"title": "PurpleItems" | |
}, | |
"ItemsAllOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$ref": { | |
"type": "string" | |
}, | |
"default": { | |
"type": "array", | |
"items": { | |
"type": "integer" | |
} | |
} | |
}, | |
"required": [ | |
"$ref", | |
"default" | |
], | |
"title": "ItemsAllOf" | |
}, | |
"HilariousProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"value": { | |
"$ref": "#/definitions/Value" | |
} | |
}, | |
"required": [ | |
"value" | |
], | |
"title": "HilariousProperties" | |
}, | |
"Value": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/ID" | |
}, | |
"minItems": { | |
"type": "integer" | |
} | |
}, | |
"required": [ | |
"items", | |
"minItems", | |
"type" | |
], | |
"title": "Value" | |
}, | |
"FluffyRestrictions": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"$comment": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"$ref": "#/definitions/AmbitiousProperties" | |
} | |
}, | |
"required": [ | |
"$comment", | |
"description", | |
"properties", | |
"type", | |
"unevaluatedProperties" | |
], | |
"title": "FluffyRestrictions" | |
}, | |
"AmbitiousProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"speedLimits": { | |
"$ref": "#/definitions/ID" | |
}, | |
"access": { | |
"$ref": "#/definitions/ID" | |
}, | |
"prohibitedTransitions": { | |
"$ref": "#/definitions/ProhibitedTransitions" | |
} | |
}, | |
"required": [ | |
"access", | |
"prohibitedTransitions", | |
"speedLimits" | |
], | |
"title": "AmbitiousProperties" | |
}, | |
"ProhibitedTransitions": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/AllowedClass" | |
} | |
}, | |
"required": [ | |
"description", | |
"items", | |
"type" | |
], | |
"title": "ProhibitedTransitions" | |
}, | |
"Surface": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/SurfaceOneOf" | |
} | |
}, | |
"default": { | |
"$ref": "#/definitions/SurfaceDefault" | |
}, | |
"$comment": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"$comment", | |
"default", | |
"description", | |
"oneOf" | |
], | |
"title": "Surface" | |
}, | |
"SurfaceDefault": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"enum": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"enum" | |
], | |
"title": "SurfaceDefault" | |
}, | |
"SurfaceOneOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"$ref": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/AllowedClass" | |
}, | |
"minItems": { | |
"type": "integer" | |
}, | |
"uniqueItems": { | |
"type": "boolean" | |
} | |
}, | |
"required": [], | |
"title": "SurfaceOneOf" | |
}, | |
"RoadWidth": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"exclusiveMinimum": { | |
"type": "integer" | |
} | |
}, | |
"required": [ | |
"description", | |
"exclusiveMinimum", | |
"type" | |
], | |
"title": "RoadWidth" | |
}, | |
"Speed": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"prefixItems": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ModesContainer" | |
} | |
}, | |
"additionalItems": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"additionalItems", | |
"description", | |
"prefixItems", | |
"type" | |
], | |
"title": "Speed" | |
}, | |
"ModesContainer": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"oneOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ModesContainerOneOf" | |
} | |
}, | |
"$comment": { | |
"type": "string" | |
}, | |
"enum": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"default": { | |
"$ref": "#/definitions/SubTypeClass" | |
}, | |
"minimum": { | |
"type": "integer" | |
} | |
}, | |
"required": [ | |
"description", | |
"type" | |
], | |
"title": "ModesContainer" | |
}, | |
"Welcome7Properties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"id": { | |
"$ref": "#/definitions/ID" | |
}, | |
"geometry": { | |
"$ref": "#/definitions/Geometry" | |
}, | |
"properties": { | |
"$ref": "#/definitions/CunningProperties" | |
} | |
}, | |
"required": [ | |
"geometry", | |
"id", | |
"properties" | |
], | |
"title": "Welcome7Properties" | |
}, | |
"Geometry": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"allOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/ID" | |
} | |
} | |
}, | |
"required": [ | |
"allOf", | |
"description", | |
"unevaluatedProperties" | |
], | |
"title": "Geometry" | |
}, | |
"CunningProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"unevaluatedProperties": { | |
"type": "boolean" | |
}, | |
"required": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"allOf": { | |
"type": "array", | |
"items": { | |
"$ref": "#/definitions/PropertiesAllOf" | |
} | |
}, | |
"properties": { | |
"$ref": "#/definitions/MagentaProperties" | |
} | |
}, | |
"required": [ | |
"allOf", | |
"properties", | |
"required", | |
"unevaluatedProperties" | |
], | |
"title": "CunningProperties" | |
}, | |
"PropertiesAllOf": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"title": { | |
"type": "string" | |
}, | |
"if": { | |
"$ref": "#/definitions/If" | |
}, | |
"then": { | |
"$ref": "#/definitions/Then" | |
}, | |
"$ref": { | |
"type": "string" | |
} | |
}, | |
"required": [], | |
"title": "PropertiesAllOf" | |
}, | |
"If": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"properties": { | |
"$ref": "#/definitions/IfProperties" | |
} | |
}, | |
"required": [ | |
"properties" | |
], | |
"title": "If" | |
}, | |
"IfProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"subType": { | |
"$ref": "#/definitions/SubTypeClass" | |
} | |
}, | |
"required": [ | |
"subType" | |
], | |
"title": "IfProperties" | |
}, | |
"Then": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"properties": { | |
"$ref": "#/definitions/ThenProperties" | |
} | |
}, | |
"required": [ | |
"properties" | |
], | |
"title": "Then" | |
}, | |
"ThenProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"road": { | |
"$ref": "#/definitions/ID" | |
}, | |
"width": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"required": [ | |
"road", | |
"width" | |
], | |
"title": "ThenProperties" | |
}, | |
"MagentaProperties": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"subType": { | |
"$ref": "#/definitions/AccessOption" | |
}, | |
"connectors": { | |
"$ref": "#/definitions/Connectors" | |
}, | |
"names": { | |
"$ref": "#/definitions/ID" | |
} | |
}, | |
"required": [ | |
"connectors", | |
"names", | |
"subType" | |
], | |
"title": "MagentaProperties" | |
}, | |
"Connectors": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/definitions/ConnectorsItems" | |
}, | |
"uniqueItems": { | |
"type": "boolean" | |
}, | |
"default": { | |
"type": "array", | |
"items": {} | |
} | |
}, | |
"required": [ | |
"default", | |
"description", | |
"items", | |
"type", | |
"uniqueItems" | |
], | |
"title": "Connectors" | |
}, | |
"ConnectorsItems": { | |
"type": "object", | |
"additionalProperties": false, | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"$comment": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"$comment", | |
"type" | |
], | |
"title": "ConnectorsItems" | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment