Fields
idtextnot emptyThe record's id: unique within the document.
typeWhat sort of path it is, from a module's path types, such as
directordiffracted_vertical.fromRequiredWhere the path starts.
toRequiredWhere the path ends.
geometryThe path's line, with heights: a LineString.
lengthThe path's length along its line.
eventspropertiesList ofPartPropertyFacts about the record. Each
typecomes from a quantities vocabulary.
End
One end of a path: a record, a point or a grid cell.
recordId ofany recordThe id of the feature, source or other record at this end.
indexwhole numberat least 0Which part of the record, counted from 0, such as one point source of a line source split into points.
locationThe exact point, when the record alone does not give it.
cellIndicesList ofwhole number1 or more itemseach item at least 0The indices of a grid cell, one per spatial axis, in the axes' order.
- At least one of
record,locationorcellIndices.
Event
A point where the path changes.
Links
Held by Records that embed this one, with their field that holds it.
Examples
An id that another example defines opens that record.
Example 1
{
"id": "path-1",
"type": "diffracted_vertical",
"from": {
"record": "source-compressor"
},
"to": {
"record": "feature-dwelling"
},
"length": {
"amount": 452.6,
"unit": "m"
},
"events": [
{
"type": "edge",
"location": {
"point": {
"type": "Point",
"coordinates": [
-113.8092,
52.2711,
4.5
]
}
},
"record": "structure-wall"
}
]
}Show 1 more exampleHide the other example
Example 2
{
"from": {
"record": "source-compressor"
},
"to": {
"cellIndices": [
41,
117
]
}
}Changes and file
Changes
- 0.1.0 First version.
Schema file
Show the JSON SchemaHide the JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Path.json",
"title": "Path",
"description": "A path: a route from one place to another, with its line and the ordered events along it, such as a sound path from a source to a receptor or a plume's trajectory.",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The record's id: unique within the document."
},
"type": {
"type": "string",
"pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
"x-ods-vocabulary": "*/path_types",
"description": "What sort of path it is, from a module's path types, such as `direct` or `diffracted_vertical`."
},
"from": {
"$ref": "#/$defs/End",
"description": "Where the path starts."
},
"to": {
"$ref": "#/$defs/End",
"description": "Where the path ends."
},
"geometry": {
"$ref": "Geometry.json",
"description": "The path's line, with heights: a LineString."
},
"length": {
"$ref": "Value.json",
"description": "The path's length along its line."
},
"events": {
"type": "array",
"items": {
"$ref": "#/$defs/Event"
},
"description": "The events along the path, in order from the start."
},
"properties": {
"type": "array",
"items": {
"$ref": "Property.json"
},
"description": "Facts about the record. Each `type` comes from a quantities vocabulary."
}
},
"required": [
"from",
"to"
],
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false,
"$defs": {
"End": {
"type": "object",
"properties": {
"record": {
"type": "string",
"description": "The id of the feature, source or other record at this end.",
"minLength": 1,
"x-ods-ref": "*"
},
"index": {
"type": "integer",
"minimum": 0,
"description": "Which part of the record, counted from 0, such as one point source of a line source split into points."
},
"location": {
"$ref": "Location.json",
"description": "The exact point, when the record alone does not give it."
},
"cellIndices": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
},
"minItems": 1,
"description": "The indices of a grid cell, one per spatial axis, in the axes' order."
}
},
"anyOf": [
{
"properties": {
"record": true
},
"required": [
"record"
]
},
{
"properties": {
"location": true
},
"required": [
"location"
]
},
{
"properties": {
"cellIndices": true
},
"required": [
"cellIndices"
]
}
],
"description": "One end of a path: a record, a point or a grid cell.",
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false
},
"Event": {
"type": "object",
"properties": {
"type": {
"type": "string",
"pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
"x-ods-vocabulary": "*/path_event_types",
"description": "What happens at the event, such as `edge`, `ground_reflection` or `turning`."
},
"location": {
"$ref": "Location.json",
"description": "Where the event happens."
},
"record": {
"type": "string",
"description": "The id of the record the path meets there, such as a structure.",
"minLength": 1,
"x-ods-ref": "*"
}
},
"required": [
"type"
],
"description": "A point where the path changes.",
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false
}
},
"examples": [
{
"id": "path-1",
"type": "diffracted_vertical",
"from": {
"record": "source-compressor"
},
"to": {
"record": "feature-dwelling"
},
"length": {
"amount": 452.6,
"unit": "m"
},
"events": [
{
"type": "edge",
"location": {
"point": {
"type": "Point",
"coordinates": [
-113.8092,
52.2711,
4.5
]
}
},
"record": "structure-wall"
}
]
},
{
"from": {
"record": "source-compressor"
},
"to": {
"cellIndices": [
41,
117
]
}
}
],
"x-ods-status": "draft",
"x-ods-kind": "part",
"x-ods-module": "core",
"x-ods-changes": {
"0.1.0": "First version."
}
}