diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-08-09 17:10:20 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-08-09 17:41:23 +0200 |
| commit | f0d766e45640800412c08a7cb9ab4f8823d88d05 (patch) | |
| tree | 1973086c9f52043d61fb1a71cbbc1c3a794c3afc /data | |
| parent | 81bd57dfd8cfae609288643d1b09a4805f1bcded (diff) | |
| download | PROJ-f0d766e45640800412c08a7cb9ab4f8823d88d05.tar.gz PROJ-f0d766e45640800412c08a7cb9ab4f8823d88d05.zip | |
PROJSJON: add import/export of VerticalCRS, CompoundCRS, BoundCRS, Transformation and ConcatenatedOperation
Diffstat (limited to 'data')
| -rw-r--r-- | data/crsjson.schema.json | 292 |
1 files changed, 285 insertions, 7 deletions
diff --git a/data/crsjson.schema.json b/data/crsjson.schema.json index 86f1e13e..5e2d41d0 100644 --- a/data/crsjson.schema.json +++ b/data/crsjson.schema.json @@ -8,11 +8,28 @@ { "$ref": "#/definitions/datum" }, { "$ref": "#/definitions/ellipsoid" }, { "$ref": "#/definitions/prime_meridian" }, - { "$ref": "#/definitions/conversion" } + { "$ref": "#/definitions/single_operation" }, + { "$ref": "#/definitions/concatenated_operation" } ], "definitions": { + "abridged_transformation": { + "type": "object", + "properties": { + "type": { "type": "string", "enum": ["AbridgedTransformation"] }, + "name": { "type": "string" }, + "method": { "$ref": "#/definitions/method" }, + "parameters": { + "type": "array", + "items": { "$ref": "#/definitions/parameter_value" } + }, + "id": { "$ref": "#/definitions/id" } + }, + "required" : [ "name", "method", "parameters" ], + "additionalProperties": false + }, + "axis": { "type": "object", "properties": { @@ -40,6 +57,62 @@ "additionalProperties": false }, + "bound_crs": { + "type": "object", + "properties": { + "type": { "type": "string", "enum": ["BoundCRS"] }, + "source_crs": { "$ref": "#/definitions/crs" }, + "target_crs": { "$ref": "#/definitions/crs" }, + "transformation": { "$ref": "#/definitions/abridged_transformation" } + }, + "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" } + }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "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" } + }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "required" : [ "name", "source_crs", "target_crs", "steps" ], + "additionalProperties": false + }, + "conversion": { "type": "object", "properties": { @@ -52,7 +125,7 @@ }, "id": { "$ref": "#/definitions/id" } }, - "required" : [ "name", "method", "parameters" ], + "required" : [ "name", "method" ], "additionalProperties": false }, @@ -75,12 +148,24 @@ "crs": { "oneOf": [ { "$ref": "#/definitions/geodetic_crs" }, - { "$ref": "#/definitions/derived_crs" } + { "$ref": "#/definitions/derived_crs" }, + { "$ref": "#/definitions/vertical_crs" }, + { "$ref": "#/definitions/compound_crs" }, + { "$ref": "#/definitions/bound_crs" }, + { "$ref": "#/definitions/engineering_crs" }, + { "$ref": "#/definitions/parametric_crs" }, + { "$ref": "#/definitions/temporal_crs" } ] }, "datum": { - "oneOf": [ { "$ref": "#/definitions/geodetic_reference_frame" } ] + "oneOf": [ + { "$ref": "#/definitions/geodetic_reference_frame" }, + { "$ref": "#/definitions/vertical_reference_frame" }, + { "$ref": "#/definitions/temporal_datum" }, + { "$ref": "#/definitions/parametric_datum" }, + { "$ref": "#/definitions/engineering_datum" } + ] }, "derived_crs": { @@ -88,12 +173,19 @@ "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", - "enum": ["ProjectedCRS", "DerivedGeodeticCRS", - "DerivedGeographicCRS"] }, + "enum": ["ProjectedCRS", + "DerivedGeodeticCRS", + "DerivedGeographicCRS", + "DerivedProjectedCRS", + "DerivedVerticalCRS", + "DerivedTemporalCRS", + "DerivedParametricCRS", + "DerivedEngineeringCRS"] }, "name": { "type": "string" }, "base_crs": { "$ref": "#/definitions/crs" }, "conversion": { "$ref": "#/definitions/conversion" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, + "scope": {}, "area": {}, "bbox": {}, "usages": {}, @@ -142,14 +234,52 @@ ] }, + "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" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "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" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "required" : [ "name" ], + "additionalProperties": false + }, + "geodetic_crs": { "type": "object", "allOf": [{ "$ref": "#/definitions/object_usage" }], "properties": { "type": { "type": "string", "enum": ["GeodeticCRS", "GeographicCRS"] }, "name": { "type": "string" }, - "datum": { "$ref": "#/definitions/datum" }, + "datum": { "$ref": "#/definitions/geodetic_reference_frame" }, "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, + "scope": {}, "area": {}, "bbox": {}, "usages": {}, @@ -169,6 +299,7 @@ "anchor": { "type": "string" }, "ellipsoid": { "$ref": "#/definitions/ellipsoid" }, "prime_meridian": { "$ref": "#/definitions/prime_meridian" }, + "scope": {}, "area": {}, "bbox": {}, "usages": {}, @@ -207,6 +338,7 @@ { "type": "object", "properties": { + "scope": { "type": "string" }, "area": { "type": "string" }, "bbox": { "$ref": "#/definitions/bbox" }, "remarks": { "type": "string" }, @@ -242,6 +374,43 @@ "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" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "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" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "required" : [ "name" ], + "additionalProperties": false + }, + "prime_meridian": { "type": "object", "properties": { @@ -254,6 +423,77 @@ "additionalProperties": false }, + "single_operation": { + "oneOf": [ + { "$ref": "#/definitions/conversion" }, + { "$ref": "#/definitions/transformation" } + ] + }, + + "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" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "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" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "required" : [ "name", "calendar" ], + "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" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "required" : [ "name", "source_crs", "target_crs", "method", "parameters" ], + "additionalProperties": false + }, + "unit": { "oneOf": [ { @@ -281,6 +521,7 @@ "items": { "type": "object", "properties": { + "scope": { "type": "string" }, "area": { "type": "string" }, "bbox": { "$ref": "#/definitions/bbox" } }, @@ -303,6 +544,43 @@ { "type": "number" }, { "$ref": "#/definitions/value_and_unit" } ] + }, + + "vertical_crs": { + "type": "object", + "allOf": [{ "$ref": "#/definitions/object_usage" }], + "properties": { + "type": { "type": "string", "enum": ["VerticalCRS"] }, + "name": { "type": "string" }, + "datum": { "$ref": "#/definitions/vertical_reference_frame" }, + "coordinate_system": { "$ref": "#/definitions/coordinate_system" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "required" : [ "name", "datum" ], + "additionalProperties": false + }, + + "vertical_reference_frame": { + "type": "object", + "allOf": [{ "$ref": "#/definitions/object_usage" }], + "properties": { + "type": { "type": "string", "enum": ["VerticalReferenceFrame"] }, + "name": { "type": "string" }, + "anchor": { "type": "string" }, + "scope": {}, + "area": {}, + "bbox": {}, + "usages": {}, + "remarks": {}, + "id": {} + }, + "required" : [ "name" ], + "additionalProperties": false } } |
