diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-08-08 20:04:20 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-08-09 13:22:25 +0200 |
| commit | 89f2cc7ec4178a369e73e9cd115a2552a55d870a (patch) | |
| tree | b5a96d4248a0bb866477ed3c865fdb5648dc0a06 /data | |
| parent | ec49c9cd0aa9de24623920b8de226daf05a0e90f (diff) | |
| download | PROJ-89f2cc7ec4178a369e73e9cd115a2552a55d870a.tar.gz PROJ-89f2cc7ec4178a369e73e9cd115a2552a55d870a.zip | |
PROJJSON export: use more compact form
Diffstat (limited to 'data')
| -rw-r--r-- | data/crsjson.schema.json | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/data/crsjson.schema.json b/data/crsjson.schema.json index 5ceeaa1e..86f1e13e 100644 --- a/data/crsjson.schema.json +++ b/data/crsjson.schema.json @@ -111,8 +111,8 @@ "properties": { "type": { "type": "string", "enum": ["Ellipsoid"] }, "name": { "type": "string" }, - "semi_major_axis": { "$ref": "#/definitions/value_and_unit" }, - "semi_minor_axis": { "$ref": "#/definitions/value_and_unit" }, + "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" } }, "required" : [ "name", "semi_major_axis", "semi_minor_axis" ], @@ -122,7 +122,7 @@ "properties": { "type": { "type": "string", "enum": ["Ellipsoid"] }, "name": { "type": "string" }, - "semi_major_axis": { "$ref": "#/definitions/value_and_unit" }, + "semi_major_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" }, "inverse_flattening": { "type": "number" }, "id": { "$ref": "#/definitions/id" } }, @@ -133,7 +133,7 @@ "properties": { "type": { "type": "string", "enum": ["Ellipsoid"] }, "name": { "type": "string" }, - "radius": { "$ref": "#/definitions/value_and_unit" }, + "radius": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" }, "id": { "$ref": "#/definitions/id" } }, "required" : [ "name", "radius" ], @@ -255,17 +255,25 @@ }, "unit": { - "type": "object", - "properties": { - "type": { "type": "string", - "enum": ["LinearUnit", "AngularUnit", "ScaleUnit", - "TimeUnit", "ParametricUnit", "Unit"] }, - "name": { "type": "string" }, - "conversion_factor": { "type": "number" }, - "id": { "$ref": "#/definitions/id" } - }, - "required" : [ "type", "name" ], - "additionalProperties": false + "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" } + }, + "required" : [ "type", "name" ], + "additionalProperties": false + } + ] }, "usages": { @@ -288,6 +296,13 @@ }, "required" : [ "value", "unit" ], "additionalProperties": false + }, + + "value_in_metre_or_value_and_unit": { + "oneOf": [ + { "type": "number" }, + { "$ref": "#/definitions/value_and_unit" } + ] } } |
