Path

PartDraftv1.0.0-rc.2

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.

https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Path.json

Fields

  • id
    textnot empty

    The record's id: unique within the document.

  • type

    What sort of path it is, from a module's path types, such as direct or diffracted_vertical.

  • fromRequired

    Where the path starts.

  • toRequired

    Where the path ends.

  • geometry

    The path's line, with heights: a LineString.

  • length

    The path's length along its line.

  • events
    List ofEvent

    The events along the path, in order from the start.

  • properties

    Facts about the record. Each type comes from a quantities vocabulary.

End

One end of a path: a record, a point or a grid cell.

  • record
    Id ofany record

    The id of the feature, source or other record at this end.

  • index
    whole numberat least 0

    Which part of the record, counted from 0, such as one point source of a line source split into points.

  • location

    The exact point, when the record alone does not give it.

  • cellIndices
    List ofwhole number1 or more itemseach item at least 0

    The indices of a grid cell, one per spatial axis, in the axes' order.

  • At least one of record, location or cellIndices.

Event

A point where the path changes.

Links

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 example

Example 2

{
  "from": {
    "record": "source-compressor"
  },
  "to": {
    "cellIndices": [
      41,
      117
    ]
  }
}

Changes and file

Changes

  1. 0.1.0 First version.

Schema file

Show 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."
  }
}