1175 lines
		
	
	
		
			38 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			1175 lines
		
	
	
		
			38 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|   "$id": "https://proj.org/schemas/v0.7/projjson.schema.json",
 | |
|   "$schema": "http://json-schema.org/draft-07/schema#",
 | |
|   "description": "Schema for PROJJSON (v0.7)",
 | |
|   "$comment": "This document is copyright Even Rouault and PROJ contributors, 2019-2023, and subject to the MIT license. 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" },
 | |
|     { "$ref": "#/definitions/coordinate_metadata" }
 | |
|   ],
 | |
| 
 | |
|   "definitions": {
 | |
| 
 | |
|     "abridged_transformation": {
 | |
|       "type": "object",
 | |
|       "properties": {
 | |
|         "$schema" : { "type": "string" },
 | |
|         "type": { "type": "string", "enum": ["AbridgedTransformation"] },
 | |
|         "name": { "type": "string" },
 | |
|         "source_crs": {
 | |
|             "$ref": "#/definitions/crs",
 | |
|             "$comment": "Only present when the source_crs of the bound_crs does not match the source_crs of the AbridgedTransformation. No equivalent in WKT"
 | |
|         },
 | |
|         "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" },
 | |
|         "minimum_value": { "type": "number" },
 | |
|         "maximum_value": { "type": "number" },
 | |
|         "range_meaning": { "type": "string", "enum": [ "exact", "wraparound"] },
 | |
|         "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" }
 | |
|         },
 | |
|         "accuracy": { "type": "string" },
 | |
|         "$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_metadata": {
 | |
|       "type": "object",
 | |
|       "properties": {
 | |
|         "$schema" : { "type": "string" },
 | |
|         "type": { "type": "string", "enum": ["CoordinateMetadata"] },
 | |
|         "crs": { "$ref": "#/definitions/crs" },
 | |
|         "coordinateEpoch": { "type": "number" }
 | |
|       },
 | |
|       "required" : [ "crs" ],
 | |
|       "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",
 | |
|                               "affine",
 | |
|                               "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/object_usage" }],
 | |
|       "properties": {
 | |
|         "type": { "type": "string", "enum": ["DynamicGeodeticReferenceFrame"] },
 | |
|         "name": {},
 | |
|         "anchor": {},
 | |
|         "anchor_epoch": {},
 | |
|         "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/object_usage" }],
 | |
|       "properties": {
 | |
|         "type": { "type": "string", "enum": ["DynamicVerticalReferenceFrame"] },
 | |
|         "name": {},
 | |
|         "anchor": {},
 | |
|         "anchor_epoch": {},
 | |
|         "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" },
 | |
|         "anchor_epoch": { "type": "number" },
 | |
|         "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" },
 | |
|         "anchor_epoch": { "type": "number" },
 | |
|         "$schema" : {},
 | |
|         "scope": {},
 | |
|         "area": {},
 | |
|         "bbox": {},
 | |
|         "vertical_extent": {},
 | |
|         "temporal_extent": {},
 | |
|         "usages": {},
 | |
|         "remarks": {},
 | |
|         "id": {}, "ids": {}
 | |
|       },
 | |
|       "required" : [ "name" ],
 | |
|       "additionalProperties": false
 | |
|     }
 | |
| 
 | |
|   }
 | |
| }
 |