{ "$id": "https://proj.org/schemas/v0.5/projjson.schema.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "Schema for PROJJSON (v0.5)", "$comment": "This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_DEFAULT_VERSION accordingly in io.cpp", "oneOf": [ { "$ref": "#/definitions/crs" }, { "$ref": "#/definitions/datum" }, { "$ref": "#/definitions/datum_ensemble" }, { "$ref": "#/definitions/ellipsoid" }, { "$ref": "#/definitions/prime_meridian" }, { "$ref": "#/definitions/single_operation" }, { "$ref": "#/definitions/concatenated_operation" } ], "definitions": { "abridged_transformation": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["AbridgedTransformation"] }, "name": { "type": "string" }, "method": { "$ref": "#/definitions/method" }, "parameters": { "type": "array", "items": { "$ref": "#/definitions/parameter_value" } }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "method", "parameters" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "axis": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["Axis"] }, "name": { "type": "string" }, "abbreviation": { "type": "string" }, "direction": { "type": "string", "enum": [ "north", "northNorthEast", "northEast", "eastNorthEast", "east", "eastSouthEast", "southEast", "southSouthEast", "south", "southSouthWest", "southWest", "westSouthWest", "west", "westNorthWest", "northWest", "northNorthWest", "up", "down", "geocentricX", "geocentricY", "geocentricZ", "columnPositive", "columnNegative", "rowPositive", "rowNegative", "displayRight", "displayLeft", "displayUp", "displayDown", "forward", "aft", "port", "starboard", "clockwise", "counterClockwise", "towards", "awayFrom", "future", "past", "unspecified" ] }, "meridian": { "$ref": "#/definitions/meridian" }, "unit": { "$ref": "#/definitions/unit" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "abbreviation", "direction" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "bbox": { "type": "object", "properties": { "east_longitude": { "type": "number" }, "west_longitude": { "type": "number" }, "south_latitude": { "type": "number" }, "north_latitude": { "type": "number" } }, "required" : [ "east_longitude", "west_longitude", "south_latitude", "north_latitude" ], "additionalProperties": false }, "bound_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["BoundCRS"] }, "name": { "type": "string" }, "source_crs": { "$ref": "#/definitions/crs" }, "target_crs": { "$ref": "#/definitions/crs" }, "transformation": { "$ref": "#/definitions/abridged_transformation" }, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "source_crs", "target_crs", "transformation" ], "additionalProperties": false }, "compound_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["CompoundCRS"] }, "name": { "type": "string" }, "components": { "type": "array", "items": { "$ref": "#/definitions/crs" } }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "components" ], "additionalProperties": false }, "concatenated_operation": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["ConcatenatedOperation"] }, "name": { "type": "string" }, "source_crs": { "$ref": "#/definitions/crs" }, "target_crs": { "$ref": "#/definitions/crs" }, "steps": { "type": "array", "items": { "$ref": "#/definitions/single_operation" } }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "source_crs", "target_crs", "steps" ], "additionalProperties": false }, "conversion": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["Conversion"] }, "name": { "type": "string" }, "method": { "$ref": "#/definitions/method" }, "parameters": { "type": "array", "items": { "$ref": "#/definitions/parameter_value" } }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "method" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "coordinate_system": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["CoordinateSystem"] }, "name": { "type": "string" }, "subtype": { "type": "string", "enum": ["Cartesian", "spherical", "ellipsoidal", "vertical", "ordinal", "parametric", "TemporalDateTime", "TemporalCount", "TemporalMeasure"] }, "axis": { "type": "array", "items": { "$ref": "#/definitions/axis" } }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "subtype", "axis" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "crs": { "oneOf": [ { "$ref": "#/definitions/bound_crs" }, { "$ref": "#/definitions/compound_crs" }, { "$ref": "#/definitions/derived_engineering_crs" }, { "$ref": "#/definitions/derived_geodetic_crs" }, { "$ref": "#/definitions/derived_parametric_crs" }, { "$ref": "#/definitions/derived_projected_crs" }, { "$ref": "#/definitions/derived_temporal_crs" }, { "$ref": "#/definitions/derived_vertical_crs" }, { "$ref": "#/definitions/engineering_crs" }, { "$ref": "#/definitions/geodetic_crs" }, { "$ref": "#/definitions/parametric_crs" }, { "$ref": "#/definitions/projected_crs" }, { "$ref": "#/definitions/temporal_crs" }, { "$ref": "#/definitions/vertical_crs" } ] }, "datum": { "oneOf": [ { "$ref": "#/definitions/geodetic_reference_frame" }, { "$ref": "#/definitions/vertical_reference_frame" }, { "$ref": "#/definitions/dynamic_geodetic_reference_frame" }, { "$ref": "#/definitions/dynamic_vertical_reference_frame" }, { "$ref": "#/definitions/temporal_datum" }, { "$ref": "#/definitions/parametric_datum" }, { "$ref": "#/definitions/engineering_datum" } ] }, "datum_ensemble": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["DatumEnsemble"] }, "name": { "type": "string" }, "members": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false } }, "ellipsoid": { "$ref": "#/definitions/ellipsoid" }, "accuracy": { "type": "string" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "members", "accuracy" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "deformation_model": { "description": "Association to a PointMotionOperation", "type": "object", "properties": { "name": { "type": "string" }, "id": { "$ref": "#/definitions/id" } }, "required" : [ "name" ], "additionalProperties": false }, "derived_engineering_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["DerivedEngineeringCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/engineering_crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "base_crs", "conversion", "coordinate_system" ], "additionalProperties": false }, "derived_geodetic_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["DerivedGeodeticCRS", "DerivedGeographicCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/geodetic_crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "base_crs", "conversion", "coordinate_system" ], "additionalProperties": false }, "derived_parametric_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["DerivedParametricCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/parametric_crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "base_crs", "conversion", "coordinate_system" ], "additionalProperties": false }, "derived_projected_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["DerivedProjectedCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/projected_crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "base_crs", "conversion", "coordinate_system" ], "additionalProperties": false }, "derived_temporal_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["DerivedTemporalCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/temporal_crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "base_crs", "conversion", "coordinate_system" ], "additionalProperties": false }, "derived_vertical_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["DerivedVerticalCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/vertical_crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "base_crs", "conversion", "coordinate_system" ], "additionalProperties": false }, "dynamic_geodetic_reference_frame": { "type": "object", "allOf": [{ "$ref": "#/definitions/geodetic_reference_frame" }], "properties": { "type": { "type": "string", "enum": ["DynamicGeodeticReferenceFrame"] }, "name": {}, "anchor": {}, "ellipsoid": {}, "prime_meridian": {}, "frame_reference_epoch": { "type": "number" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "ellipsoid", "frame_reference_epoch" ], "additionalProperties": false }, "dynamic_vertical_reference_frame": { "type": "object", "allOf": [{ "$ref": "#/definitions/vertical_reference_frame" }], "properties": { "type": { "type": "string", "enum": ["DynamicVerticalReferenceFrame"] }, "name": {}, "anchor": {}, "frame_reference_epoch": { "type": "number" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "frame_reference_epoch" ], "additionalProperties": false }, "ellipsoid": { "type": "object", "oneOf":[ { "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["Ellipsoid"] }, "name": { "type": "string" }, "semi_major_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" }, "semi_minor_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "semi_major_axis", "semi_minor_axis" ], "additionalProperties": false }, { "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["Ellipsoid"] }, "name": { "type": "string" }, "semi_major_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" }, "inverse_flattening": { "type": "number" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "semi_major_axis", "inverse_flattening" ], "additionalProperties": false }, { "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["Ellipsoid"] }, "name": { "type": "string" }, "radius": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "radius" ], "additionalProperties": false } ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ] }, "engineering_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["EngineeringCRS"] }, "name": { "type": "string" }, "datum": { "$ref": "#/definitions/engineering_datum" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "datum" ], "additionalProperties": false }, "engineering_datum": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["EngineeringDatum"] }, "name": { "type": "string" }, "anchor": { "type": "string" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name" ], "additionalProperties": false }, "geodetic_crs": { "type": "object", "properties": { "type": { "type": "string", "enum": ["GeodeticCRS", "GeographicCRS"] }, "name": { "type": "string" }, "datum": { "oneOf": [ { "$ref": "#/definitions/geodetic_reference_frame" }, { "$ref": "#/definitions/dynamic_geodetic_reference_frame" } ] }, "datum_ensemble": { "$ref": "#/definitions/datum_ensemble" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "deformation_models": { "type": "array", "items": { "$ref": "#/definitions/deformation_model" } }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name" ], "description": "One and only one of datum and datum_ensemble must be provided", "allOf": [ { "$ref": "#/definitions/object_usage" }, { "$ref": "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" } ], "additionalProperties": false }, "geodetic_reference_frame": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["GeodeticReferenceFrame"] }, "name": { "type": "string" }, "anchor": { "type": "string" }, "ellipsoid": { "$ref": "#/definitions/ellipsoid" }, "prime_meridian": { "$ref": "#/definitions/prime_meridian" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "ellipsoid" ], "additionalProperties": false }, "geoid_model": { "type": "object", "properties": { "name": { "type": "string" }, "interpolation_crs": { "$ref": "#/definitions/crs" }, "id": { "$ref": "#/definitions/id" } }, "required" : [ "name" ], "additionalProperties": false }, "id": { "type": "object", "properties": { "authority": { "type": "string" }, "code": { "oneOf": [ { "type": "string" }, { "type": "integer" } ] }, "version": { "oneOf": [ { "type": "string" }, { "type": "number" } ] }, "authority_citation": { "type": "string" }, "uri": { "type": "string" } }, "required" : [ "authority", "code" ], "additionalProperties": false }, "ids": { "type": "array", "items": { "$ref": "#/definitions/id" } }, "method": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["OperationMethod"]}, "name": { "type": "string" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "id_ids_mutually_exclusive": { "not": { "type": "object", "required": [ "id", "ids" ] } }, "one_and_only_one_of_datum_or_datum_ensemble": { "allOf": [ { "not": { "type": "object", "required": [ "datum", "datum_ensemble" ] } }, { "oneOf": [ { "type": "object", "required": ["datum"] }, { "type": "object", "required": ["datum_ensemble"] } ] } ] }, "meridian": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["Meridian"] }, "longitude": { "$ref": "#/definitions/value_in_degree_or_value_and_unit" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "longitude" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "object_usage": { "anyOf": [ { "type": "object", "properties": { "$schema" : { "type": "string" }, "scope": { "type": "string" }, "area": { "type": "string" }, "bbox": { "$ref": "#/definitions/bbox" }, "vertical_extent": { "$ref": "#/definitions/vertical_extent" }, "temporal_extent": { "$ref": "#/definitions/temporal_extent" }, "remarks": { "type": "string" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ] }, { "type": "object", "properties": { "$schema" : { "type": "string" }, "usages": { "$ref": "#/definitions/usages" }, "remarks": { "type": "string" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ] } ] }, "parameter_value": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["ParameterValue"] }, "name": { "type": "string" }, "value": { "oneOf": [ { "type": "string" }, { "type": "number" } ] }, "unit": { "$ref": "#/definitions/unit" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name", "value" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "parametric_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["ParametricCRS"] }, "name": { "type": "string" }, "datum": { "$ref": "#/definitions/parametric_datum" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "datum" ], "additionalProperties": false }, "parametric_datum": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["ParametricDatum"] }, "name": { "type": "string" }, "anchor": { "type": "string" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name" ], "additionalProperties": false }, "point_motion_operation": { "$comment": "Not implemented in PROJ (at least as of PROJ 9.1)", "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["PointMotionOperation"] }, "name": { "type": "string" }, "source_crs": { "$ref": "#/definitions/crs" }, "method": { "$ref": "#/definitions/method" }, "parameters": { "type": "array", "items": { "$ref": "#/definitions/parameter_value" } }, "accuracy": { "type": "string" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "source_crs", "method", "parameters" ], "additionalProperties": false }, "prime_meridian": { "type": "object", "properties": { "$schema" : { "type": "string" }, "type": { "type": "string", "enum": ["PrimeMeridian"] }, "name": { "type": "string" }, "longitude": { "$ref": "#/definitions/value_in_degree_or_value_and_unit" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "name" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false }, "single_operation": { "oneOf": [ { "$ref": "#/definitions/conversion" }, { "$ref": "#/definitions/transformation" }, { "$ref": "#/definitions/point_motion_operation" } ] }, "projected_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["ProjectedCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/geodetic_crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "base_crs", "conversion", "coordinate_system" ], "additionalProperties": false }, "temporal_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["TemporalCRS"] }, "name": { "type": "string" }, "datum": { "$ref": "#/definitions/temporal_datum" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "datum" ], "additionalProperties": false }, "temporal_datum": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["TemporalDatum"] }, "name": { "type": "string" }, "calendar": { "type": "string" }, "time_origin": { "type": "string" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "calendar" ], "additionalProperties": false }, "temporal_extent": { "type": "object", "properties": { "start": { "type": "string" }, "end": { "type": "string" } }, "required" : [ "start", "end" ], "additionalProperties": false }, "transformation": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["Transformation"] }, "name": { "type": "string" }, "source_crs": { "$ref": "#/definitions/crs" }, "target_crs": { "$ref": "#/definitions/crs" }, "interpolation_crs": { "$ref": "#/definitions/crs" }, "method": { "$ref": "#/definitions/method" }, "parameters": { "type": "array", "items": { "$ref": "#/definitions/parameter_value" } }, "accuracy": { "type": "string" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name", "source_crs", "target_crs", "method", "parameters" ], "additionalProperties": false }, "unit": { "oneOf": [ { "type": "string", "enum": ["metre", "degree", "unity"] }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["LinearUnit", "AngularUnit", "ScaleUnit", "TimeUnit", "ParametricUnit", "Unit"] }, "name": { "type": "string" }, "conversion_factor": { "type": "number" }, "id": { "$ref": "#/definitions/id" }, "ids": { "$ref": "#/definitions/ids" } }, "required" : [ "type", "name" ], "allOf": [ { "$ref": "#/definitions/id_ids_mutually_exclusive" } ], "additionalProperties": false } ] }, "usages": { "type": "array", "items": { "type": "object", "properties": { "scope": { "type": "string" }, "area": { "type": "string" }, "bbox": { "$ref": "#/definitions/bbox" }, "vertical_extent": { "$ref": "#/definitions/vertical_extent" }, "temporal_extent": { "$ref": "#/definitions/temporal_extent" } }, "additionalProperties": false } }, "value_and_unit": { "type": "object", "properties": { "value": { "type": "number" }, "unit": { "$ref": "#/definitions/unit" } }, "required" : [ "value", "unit" ], "additionalProperties": false }, "value_in_degree_or_value_and_unit": { "oneOf": [ { "type": "number" }, { "$ref": "#/definitions/value_and_unit" } ] }, "value_in_metre_or_value_and_unit": { "oneOf": [ { "type": "number" }, { "$ref": "#/definitions/value_and_unit" } ] }, "vertical_crs": { "type": "object", "properties": { "type": { "type": "string", "enum": ["VerticalCRS"] }, "name": { "type": "string" }, "datum": { "oneOf": [ { "$ref": "#/definitions/vertical_reference_frame" }, { "$ref": "#/definitions/dynamic_vertical_reference_frame" } ] }, "datum_ensemble": { "$ref": "#/definitions/datum_ensemble" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, "geoid_model": { "$ref": "#/definitions/geoid_model" }, "geoid_models": { "type": "array", "items": { "$ref": "#/definitions/geoid_model" } }, "deformation_models": { "type": "array", "items": { "$ref": "#/definitions/deformation_model" } }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name"], "description": "One and only one of datum and datum_ensemble must be provided", "allOf": [ { "$ref": "#/definitions/object_usage" }, { "$ref": "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }, { "not": { "type": "object", "required": [ "geoid_model", "geoid_models" ] } } ], "additionalProperties": false }, "vertical_extent": { "type": "object", "properties": { "minimum": { "type": "number" }, "maximum": { "type": "number" }, "unit": { "$ref": "#/definitions/unit" } }, "required" : [ "minimum", "maximum" ], "additionalProperties": false }, "vertical_reference_frame": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["VerticalReferenceFrame"] }, "name": { "type": "string" }, "anchor": { "type": "string" }, "$schema" : {}, "scope": {}, "area": {}, "bbox": {}, "vertical_extent": {}, "temporal_extent": {}, "usages": {}, "remarks": {}, "id": {}, "ids": {} }, "required" : [ "name" ], "additionalProperties": false } } }