Original

DatatypeDraftv1.0.0-rc.2

An original: the dataset that a GeoJSON shape was converted from, with the layer and the feature in it, and what the conversion changed. GeoJSON cannot hold curves, surfaces or solids, so the original stays the exact shape and the GeoJSON is the shape that every reader can read.

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

Fields

  • file

    The file that holds the original dataset, such as a GeoPackage, a shapefile archive, a GML, CityGML, IFC, KML or DXF file, or a WKT or WKB file.

  • layer
    textnot empty

    The layer or table in the dataset that holds the feature.

  • feature
    textnot empty

    The feature's id in the layer, exactly as the dataset writes it.

  • geometryType
    textnot empty

    The sort of shape in the original, as its format names it, such as CurvePolygon or IfcExtrudedAreaSolid.

  • crs

    The coordinate reference system of the original, when the conversion changed it.

  • changes
    List ofChange

    What the conversion changed, one entry for each change. An empty list means that the conversion changed nothing. Leave it out when the changes are not known.

  • At least one of file or changes.

Forms

A value of this schema takes one of these forms.

Change

One change that the conversion made to the shape.

  • typeRequired

    What the conversion did, such as curves_linearized or reprojected.

  • tolerance
    numberat least 0

    The largest distance between the original shape and the converted shape that the change allows, in metres.

  • description
    text

    Anything else about the change, in words.

Links

Examples

An id that another example defines opens that record.

Example 2

{
  "file": "file-site-plan",
  "layer": "lease_boundary",
  "feature": "17",
  "geometryType": "CurvePolygon",
  "crs": {
    "code": "EPSG:3402"
  },
  "changes": [
    {
      "type": "curves_linearized",
      "tolerance": 0.01
    },
    {
      "type": "reprojected"
    }
  ]
}
Show 2 more examples

Example 1

{
  "file": "file-site-plan"
}

Example 3

{
  "changes": [
    {
      "type": "solid_to_footprint",
      "description": "The building's roof and walls are not kept."
    },
    {
      "type": "heights_dropped"
    }
  ]
}

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/Original.json",
  "title": "Original",
  "description": "An original: the dataset that a GeoJSON shape was converted from, with the layer and the feature in it, and what the conversion changed. GeoJSON cannot hold curves, surfaces or solids, so the original stays the exact shape and the GeoJSON is the shape that every reader can read.",
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "minLength": 1,
      "x-ods-ref": "File",
      "description": "The file that holds the original dataset, such as a GeoPackage, a shapefile archive, a GML, CityGML, IFC, KML or DXF file, or a WKT or WKB file."
    },
    "layer": {
      "type": "string",
      "minLength": 1,
      "description": "The layer or table in the dataset that holds the feature."
    },
    "feature": {
      "type": "string",
      "minLength": 1,
      "description": "The feature's id in the layer, exactly as the dataset writes it."
    },
    "geometryType": {
      "type": "string",
      "minLength": 1,
      "description": "The sort of shape in the original, as its format names it, such as `CurvePolygon` or `IfcExtrudedAreaSolid`."
    },
    "crs": {
      "$ref": "Crs.json",
      "description": "The coordinate reference system of the original, when the conversion changed it."
    },
    "changes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Change"
      },
      "description": "What the conversion changed, one entry for each change. An empty list means that the conversion changed nothing. Leave it out when the changes are not known."
    }
  },
  "anyOf": [
    {
      "properties": {
        "file": true
      },
      "required": [
        "file"
      ]
    },
    {
      "properties": {
        "changes": true
      },
      "required": [
        "changes"
      ]
    }
  ],
  "patternProperties": {
    "^x-": {}
  },
  "unevaluatedProperties": false,
  "$defs": {
    "Change": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
          "x-ods-vocabulary": "core/geometry_changes",
          "description": "What the conversion did, such as `curves_linearized` or `reprojected`."
        },
        "tolerance": {
          "type": "number",
          "minimum": 0,
          "description": "The largest distance between the original shape and the converted shape that the change allows, in metres."
        },
        "description": {
          "type": "string",
          "description": "Anything else about the change, in words."
        }
      },
      "required": [
        "type"
      ],
      "description": "One change that the conversion made to the shape.",
      "patternProperties": {
        "^x-": {}
      },
      "unevaluatedProperties": false
    }
  },
  "examples": [
    {
      "file": "file-site-plan"
    },
    {
      "file": "file-site-plan",
      "layer": "lease_boundary",
      "feature": "17",
      "geometryType": "CurvePolygon",
      "crs": {
        "code": "EPSG:3402"
      },
      "changes": [
        {
          "type": "curves_linearized",
          "tolerance": 0.01
        },
        {
          "type": "reprojected"
        }
      ]
    },
    {
      "changes": [
        {
          "type": "solid_to_footprint",
          "description": "The building's roof and walls are not kept."
        },
        {
          "type": "heights_dropped"
        }
      ]
    }
  ],
  "x-ods-status": "draft",
  "x-ods-kind": "datatype",
  "x-ods-module": "core",
  "x-ods-changes": {
    "0.1.0": "First version."
  }
}