Feature
A feature: a natural or built object with a place and properties, such as a wellsite, a dwelling or a road. As in ISO 19101. A feature where a framework judges effects is a receptor and has a receptor class.
https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Feature.json
Fields
Every entity also has the fields of the Entity base. The first row lists them.
From the Entity baseidnamedescriptionidentifierslinkscreatedAtupdatedAt
idRequiredtextnot emptyThe record's id: unique within the document. Fields that point at the record hold this id.
nametextThe name people use for the record.
descriptiontextWhat the record is, in words.
identifiersList ofDatatypeIdentifierIds the record has in other systems.
linksList ofDatatypeLinkOpen-ended links to other records.
createdAtdate-time (RFC 3339)When the record was created, in its producer's system.
updatedAtdate-time (RFC 3339)When the record last changed, in its producer's system.
typeWhat sort of feature it is, such as
siteorbuilding.receptorClassFor a receptor: its class, such as
dwelling. A framework's criteria apply by class.locationWhere the record is, as one point.
geometryThe record's shape: a line or an area.
propertiesList ofPartPropertyFacts about the record. Each
typecomes from a quantities vocabulary.sourcesList ofPartSourceThe sources on the feature.
structuresList ofPartStructureThe structures on the feature.
Links
Holds Parts this record embeds, with the field that holds each.
- SourcePartsourcesA part of a feature that emits, such as a compressor, an engine, a stack or an outfall. As in ISO 14224:2016, levels 6 to 8. A source can hold smaller sources, such as a compressor's engine and cooler.
- StructurePartstructuresA built form, such as a building, a wall or a barrier. As in IFC (ISO 16739).
Held by Records that embed this one, with their field that holds it.
Pointed at by Records that hold this one's id, with their field that holds it.
- AllocationPartfeatureWhere and when an activity happens, and the operating states its sources run in there.
- AssessmentEntityfeaturesAn evaluation of a development and its result, such as a noise impact assessment. It names its authors, scope and framework, the traces and evidence it rests on, and its conclusions. A trace is one run; an assessment can rest on many.
- CriterionPartAppliesTo.featuresOne rule that must be checked. It compares a metric, summed up by a statistic over a period, with a limit, for the features it applies to.
- GroupPartmembersFeatures that a project evaluates together as one unit, such as wellsites close to each other. A group has no sources of its own: its members carry them.
- PermitEntityfeaturesA licence or approval that a regulator gives for a development, with its holder, its dates, its status and its own criteria, such as a site's own noise limit.
- ProjectEntityfeaturesA piece of work on one or more features, with its activities and groups. It refers to its features by id; the features themselves live in context.
Examples
An id that another example defines opens that record.
Full example
{
"id": "feature-wellsite",
"name": "Wellsite 04-12",
"type": "site",
"location": {
"point": {
"type": "Point",
"coordinates": [
-113.815,
52.268,
912.4
]
},
"crs": {
"code": "EPSG:4617",
"name": "NAD83(CSRS)",
"verticalDatum": "CGVD2013",
"verticalCode": "EPSG:6647",
"coordinateEpoch": 2010
},
"absoluteHeight": 912.4,
"positioning": {
"method": "gnss_rtk",
"horizontalAccuracy": 0.02,
"verticalAccuracy": 0.03,
"confidenceLevel": 95,
"determinedAt": "2026-07-02T10:15:00-06:00"
},
"geographicIdentifiers": [
{
"type": "legal_land_description",
"scheme": "ca.dls",
"value": "04-12-038-27W4"
}
],
"linearReference": {
"line": "feature-pipeline",
"distance": {
"amount": 12.4,
"unit": "km"
}
}
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-113.8157,
52.2676
],
[
-113.8143,
52.2676
],
[
-113.8143,
52.2684
],
[
-113.8157,
52.2684
],
[
-113.8157,
52.2676
]
]
],
"positioning": {
"method": "surveyed",
"horizontalAccuracy": 0.05,
"confidenceLevel": 95
},
"original": {
"file": "file-site-plan",
"layer": "lease_boundary",
"feature": "17",
"geometryType": "CurvePolygon",
"crs": {
"code": "EPSG:3402"
},
"changes": [
{
"type": "curves_linearized",
"tolerance": 0.01
},
{
"type": "reprojected"
}
]
}
},
"sources": [
{
"id": "source-compressor",
"name": "Compressor package",
"type": "compressor"
}
],
"structures": [
{
"id": "structure-wall",
"name": "Sound wall",
"type": "barrier"
}
]
}Show 2 more examplesHide the other examples
Minimal example: the required fields only
{
"id": "feature-wellsite"
}Full example 2
{
"id": "feature-dwelling",
"name": "Dwelling 450 m north-east",
"type": "building",
"receptorClass": "dwelling",
"location": {
"point": {
"type": "Point",
"coordinates": [
-113.8104,
52.2709
]
},
"relativeHeight": 1.5
}
}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/Feature.json",
"title": "Feature",
"description": "A feature: a natural or built object with a place and properties, such as a wellsite, a dwelling or a road. As in ISO 19101. A feature where a framework judges effects is a receptor and has a receptor class.",
"$ref": "Entity.json",
"type": "object",
"properties": {
"type": {
"type": "string",
"pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
"x-ods-vocabulary": "core/feature_types",
"description": "What sort of feature it is, such as `site` or `building`."
},
"receptorClass": {
"type": "string",
"pattern": "^[a-z0-9]+(_[a-z0-9]+)*(\\.[a-z0-9]+(_[a-z0-9]+)*)*$",
"x-ods-vocabulary": "core/receptor_classes",
"description": "For a receptor: its class, such as `dwelling`. A framework's criteria apply by class."
},
"location": {
"$ref": "Location.json",
"description": "Where the record is, as one point."
},
"geometry": {
"$ref": "Geometry.json",
"description": "The record's shape: a line or an area."
},
"properties": {
"type": "array",
"items": {
"$ref": "Property.json"
},
"description": "Facts about the record. Each `type` comes from a quantities vocabulary."
},
"sources": {
"type": "array",
"items": {
"$ref": "Source.json"
},
"description": "The sources on the feature."
},
"structures": {
"type": "array",
"items": {
"$ref": "Structure.json"
},
"description": "The structures on the feature."
}
},
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false,
"examples": [
{
"id": "feature-wellsite"
},
{
"id": "feature-wellsite",
"name": "Wellsite 04-12",
"type": "site",
"location": {
"point": {
"type": "Point",
"coordinates": [
-113.815,
52.268,
912.4
]
},
"crs": {
"code": "EPSG:4617",
"name": "NAD83(CSRS)",
"verticalDatum": "CGVD2013",
"verticalCode": "EPSG:6647",
"coordinateEpoch": 2010
},
"absoluteHeight": 912.4,
"positioning": {
"method": "gnss_rtk",
"horizontalAccuracy": 0.02,
"verticalAccuracy": 0.03,
"confidenceLevel": 95,
"determinedAt": "2026-07-02T10:15:00-06:00"
},
"geographicIdentifiers": [
{
"type": "legal_land_description",
"scheme": "ca.dls",
"value": "04-12-038-27W4"
}
],
"linearReference": {
"line": "feature-pipeline",
"distance": {
"amount": 12.4,
"unit": "km"
}
}
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-113.8157,
52.2676
],
[
-113.8143,
52.2676
],
[
-113.8143,
52.2684
],
[
-113.8157,
52.2684
],
[
-113.8157,
52.2676
]
]
],
"positioning": {
"method": "surveyed",
"horizontalAccuracy": 0.05,
"confidenceLevel": 95
},
"original": {
"file": "file-site-plan",
"layer": "lease_boundary",
"feature": "17",
"geometryType": "CurvePolygon",
"crs": {
"code": "EPSG:3402"
},
"changes": [
{
"type": "curves_linearized",
"tolerance": 0.01
},
{
"type": "reprojected"
}
]
}
},
"sources": [
{
"id": "source-compressor",
"name": "Compressor package",
"type": "compressor"
}
],
"structures": [
{
"id": "structure-wall",
"name": "Sound wall",
"type": "barrier"
}
]
},
{
"id": "feature-dwelling",
"name": "Dwelling 450 m north-east",
"type": "building",
"receptorClass": "dwelling",
"location": {
"point": {
"type": "Point",
"coordinates": [
-113.8104,
52.2709
]
},
"relativeHeight": 1.5
}
}
],
"x-ods-status": "draft",
"x-ods-kind": "entity",
"x-ods-module": "core",
"x-ods-changes": {
"0.1.0": "First version."
}
}