Geographic identifier

DatatypeDraftv1.0.0-rc.2

A geographic identifier: a place stated by a name or an id, not by coordinates, such as a legal land description, a parcel id, a civic address or a feature of a named dataset. As in ISO 19112.

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

Fields

  • typeRequired

    What sort of geographic identifier it is, such as legal_land_description or address.

  • scheme

    The system that the value belongs to, as a code: lower snake_case, with dots between the parts of a namespace, such as ca.dls for the Dominion Land Survey (which the Alberta Township Survey follows), ca.bc.nts for the National Topographic System grid in British Columbia or ca.ab.linc for an Alberta land title.

  • valueRequired
    textnot empty

    The place in that scheme, exactly as the scheme writes it, such as 04-12-038-27W4. For a feature of a dataset: the feature's id in the dataset.

  • dataset

    The dataset or register that defines the value, with its edition.

  • layer
    textnot empty

    For a feature of a dataset: the layer or table that holds the feature.

  • When type is legal_land_description or parcel, it needs scheme.
  • When type is dataset_feature, it needs dataset.

Links

Examples

An id that another example defines opens that record.

Example 5

{
  "type": "dataset_feature",
  "dataset": {
    "title": "Provincial pipeline dataset",
    "edition": "2026-06"
  },
  "layer": "pipelines",
  "value": "PL-48213"
}
Show 4 more examples

Example 1

{
  "type": "address",
  "value": "38012 Range Road 271, Red Deer County, Alberta"
}

Example 2

{
  "type": "legal_land_description",
  "scheme": "ca.dls",
  "value": "04-12-038-27W4"
}

Example 3

{
  "type": "legal_land_description",
  "scheme": "ca.bc.nts",
  "value": "d-096-H/094-A-15"
}

Example 4

{
  "type": "parcel",
  "scheme": "ca.ab.linc",
  "value": "0031234567"
}

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/GeographicIdentifier.json",
  "title": "Geographic identifier",
  "description": "A geographic identifier: a place stated by a name or an id, not by coordinates, such as a legal land description, a parcel id, a civic address or a feature of a named dataset. As in ISO 19112.",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
      "x-ods-vocabulary": "core/geographic_identifier_types",
      "description": "What sort of geographic identifier it is, such as `legal_land_description` or `address`."
    },
    "scheme": {
      "type": "string",
      "pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
      "description": "The system that the value belongs to, as a code: lower snake_case, with dots between the parts of a namespace, such as `ca.dls` for the Dominion Land Survey (which the Alberta Township Survey follows), `ca.bc.nts` for the National Topographic System grid in British Columbia or `ca.ab.linc` for an Alberta land title."
    },
    "value": {
      "type": "string",
      "minLength": 1,
      "description": "The place in that scheme, exactly as the scheme writes it, such as `04-12-038-27W4`. For a feature of a dataset: the feature's id in the dataset."
    },
    "dataset": {
      "$ref": "Citation.json",
      "description": "The dataset or register that defines the value, with its edition."
    },
    "layer": {
      "type": "string",
      "minLength": 1,
      "description": "For a feature of a dataset: the layer or table that holds the feature."
    }
  },
  "required": [
    "type",
    "value"
  ],
  "allOf": [
    {
      "if": {
        "properties": {
          "type": {
            "enum": [
              "legal_land_description",
              "parcel"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "then": {
        "properties": {
          "scheme": true
        },
        "required": [
          "scheme"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "type": {
            "const": "dataset_feature"
          }
        },
        "required": [
          "type"
        ]
      },
      "then": {
        "properties": {
          "dataset": true
        },
        "required": [
          "dataset"
        ]
      }
    }
  ],
  "patternProperties": {
    "^x-": {}
  },
  "unevaluatedProperties": false,
  "examples": [
    {
      "type": "address",
      "value": "38012 Range Road 271, Red Deer County, Alberta"
    },
    {
      "type": "legal_land_description",
      "scheme": "ca.dls",
      "value": "04-12-038-27W4"
    },
    {
      "type": "legal_land_description",
      "scheme": "ca.bc.nts",
      "value": "d-096-H/094-A-15"
    },
    {
      "type": "parcel",
      "scheme": "ca.ab.linc",
      "value": "0031234567"
    },
    {
      "type": "dataset_feature",
      "dataset": {
        "title": "Provincial pipeline dataset",
        "edition": "2026-06"
      },
      "layer": "pipelines",
      "value": "PL-48213"
    }
  ],
  "x-ods-status": "draft",
  "x-ods-kind": "datatype",
  "x-ods-module": "core",
  "x-ods-changes": {
    "0.1.0": "First version."
  }
}