aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-08-08 20:04:20 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-08-09 13:22:25 +0200
commit89f2cc7ec4178a369e73e9cd115a2552a55d870a (patch)
treeb5a96d4248a0bb866477ed3c865fdb5648dc0a06 /data
parentec49c9cd0aa9de24623920b8de226daf05a0e90f (diff)
downloadPROJ-89f2cc7ec4178a369e73e9cd115a2552a55d870a.tar.gz
PROJ-89f2cc7ec4178a369e73e9cd115a2552a55d870a.zip
PROJJSON export: use more compact form
Diffstat (limited to 'data')
-rw-r--r--data/crsjson.schema.json45
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" }
+ ]
}
}