adiwg-mdjson_schemas 2.4.9 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -2
  3. data/adiwg-json_schemas.gemspec +1 -0
  4. data/examples/boundingBox.json +18 -6
  5. data/examples/entityAttribute.json +1 -0
  6. data/examples/geodetic.json +20 -0
  7. data/examples/geographicExtent.json +47 -22
  8. data/examples/geologicAge.json +12 -0
  9. data/examples/mdJson.json +104 -16
  10. data/examples/obliqueLinePoint.json +9 -0
  11. data/examples/projection.json +50 -0
  12. data/examples/referenceSystemParameterSet.json +38 -0
  13. data/examples/source.json +1 -0
  14. data/examples/spatialReference.json +16 -4
  15. data/examples/spatialResolution.json +21 -0
  16. data/examples/timeInstant.json +20 -0
  17. data/examples/timePeriod.json +19 -0
  18. data/examples/verticalDatum.json +13 -0
  19. data/lib/adiwg/mdjson_schemas/version.rb +1 -1
  20. data/package.json +3 -3
  21. data/schema/entityAttribute.json +7 -0
  22. data/schema/geodetic.json +71 -0
  23. data/schema/geographicExtent.json +75 -9
  24. data/schema/geologicAge.json +54 -0
  25. data/schema/lineage.json +7 -0
  26. data/schema/projection.json +333 -0
  27. data/schema/referenceSystemParameterSet.json +73 -0
  28. data/schema/resourceInfo.json +3 -1
  29. data/schema/schema.json +1 -1
  30. data/schema/spatialReference.json +15 -0
  31. data/schema/spatialResolution.json +158 -2
  32. data/schema/timeInstant.json +16 -2
  33. data/schema/timePeriod.json +62 -26
  34. data/schema/verticalDatum.json +56 -0
  35. data/test/tc_geodetic.rb +8 -0
  36. data/test/tc_geologicAge.rb +8 -0
  37. data/test/tc_obliqueLinePoint.rb +8 -0
  38. data/test/tc_projection.rb +27 -0
  39. data/test/tc_referenceSystemParameterSet.rb +8 -0
  40. data/test/tc_verticalDatum.rb +8 -0
  41. data/test/test.js +2 -1
  42. data/yarn.lock +81 -116
  43. metadata +40 -4
  44. data/package-lock.json +0 -405
data/schema/lineage.json CHANGED
@@ -177,6 +177,13 @@
177
177
  }
178
178
  ],
179
179
  "properties": {
180
+ "sourceId": {
181
+ "type": "string",
182
+ "description": "A unique identifier for the data source.",
183
+ "translation": {
184
+ "FGDC CSDGM": ["dataqual > lineage > srcinfo > srccitea"]
185
+ }
186
+ },
180
187
  "description": {
181
188
  "type": "string",
182
189
  "description": "A brief description about the source dataset used in creating the data identified by the data quality scope.",
@@ -0,0 +1,333 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "projection.json#",
4
+ "type": "object",
5
+ "title": "projection",
6
+ "description": "The set of parameters for the projection that applies to the resource.",
7
+ "example": "../examples/projection.json",
8
+ "translation": {
9
+ "ISO 19115-2": ["referenceSystemInfo > MD_CRS > projection"],
10
+ "FGDC CSDGM": ["metadata > spref > horizsys > planar > mapproj"]
11
+ },
12
+ "additionalProperties": true,
13
+ "properties": {
14
+ "projectionIdentifier": {
15
+ "description": "The identifier for the projection.",
16
+ "required": ["identifier"],
17
+ "translation": {
18
+ "ISO 19115-2": ["referenceSystemInfo > MD_CRS > projection > RS_Identifier"]
19
+ },
20
+ "properties": {
21
+ "identifier": {
22
+ "type": "string",
23
+ "description": "The identifier for the projection. Combine with a namespace to explicitly identify the projection. For example, code=\"albers\" and namespace=\"org.adiwg.code.mapProjection\".",
24
+ "codelist": "adiwg_mapProjection"
25
+ },
26
+ "description": {
27
+ "type": "string",
28
+ "description": "A description of a projection, not defined elsewhere in the standard, that was used for the data set. The information provided shall include the name of the projection, names of parameters and values used for the data set, and the citation of the specification for the algorithms that describe the mathematical relationship between Earth and plane or developable surface for the projection.",
29
+ "translation": {
30
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > otherprj"]
31
+ },
32
+ "type": "string",
33
+ "description": "A complete description of a grid system, not defined elsewhere in this standard, that was used for the data set. The information provided shall include the name of the grid system, the names of the parameters and values used for the data set, and the citation of the specification for the algorithms that describe the mathematical relationship between the Earth and the coordinates of the grid system."
34
+ },
35
+ "name":{
36
+ "type": "string",
37
+ "description": "A descriptive name for the projection.",
38
+ "translation": {
39
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > mapprojn"]
40
+ }
41
+ }
42
+ },
43
+ "allOf": [{
44
+ "$ref": "./identifier.json#"
45
+ }],
46
+ "dependencies": {
47
+ "namespace": {
48
+ "oneOf": [{
49
+ "properties": {
50
+ "namespace": {
51
+ "enum": ["org.adiwg.code.mapProjection"]
52
+ },
53
+ "identifier": {
54
+ "enum": ["alaska", "albers", "azimuthalEquidistant", "equidistantConic", "equirectangular", "generalVertical", "gnomonic", "lambertConic", "lambertEqualArea", "mercator", "miller", "obliqueMercator", "orthographic", "parameters", "polarStereo", "polyconic", "robinson", "sinusoidal", "spaceOblique", "stereographic", "transverseMercator", "grinten"]
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "not": {
60
+ "properties": {
61
+ "namespace": {
62
+ "enum": ["org.adiwg.code.mapProjection"]
63
+ }
64
+ }
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ }
70
+ },
71
+ "gridIdentifier": {
72
+ "description": "The identifier for the grid system.",
73
+ "required": ["identifier"],
74
+ "properties": {
75
+ "identifier": {
76
+ "type": "string",
77
+ "description": "The identifier for the grid system. Combine with a namespace to explicitly identify the grid system. For example, code=\"utm\" and namespace=\"org.adiwg.code.mapGridSystem\".",
78
+ "codelist": "adiwg_mapGridSystem"
79
+ },
80
+ "description": {
81
+ "type": "string",
82
+ "description": "A complete description of a grid system, not defined elsewhere in this standard, that was used for the data set. The information provided shall include the name of the grid system, the names of the parameters and values used for the data set, and the citation of the specification for the algorithms that describe the mathematical relationship between the Earth and the coordinates of the grid system.",
83
+ "translation": {
84
+ "FGDC CSDGM": ["spref > horizsys > planar > gridsys > othergrd"]
85
+ }
86
+ },
87
+ "name":{
88
+ "type": "string",
89
+ "description": "A descriptive name for the grid system.",
90
+ "translation": {
91
+ "FGDC CSDGM": ["spref > horizsys > planar > gridsys > gridsysn"]
92
+ }
93
+ }
94
+ },
95
+ "allOf": [{
96
+ "$ref": "./identifier.json#"
97
+ }],
98
+ "dependencies": {
99
+ "namespace": {
100
+ "oneOf": [{
101
+ "properties": {
102
+ "namespace": {
103
+ "enum": ["org.adiwg.code.mapGridSystem"]
104
+ },
105
+ "identifier": {
106
+ "enum": ["utm","ups","spcs","arcsys","other"]
107
+ }
108
+ }
109
+ },
110
+ {
111
+ "not": {
112
+ "properties": {
113
+ "namespace": {
114
+ "enum": ["org.adiwg.code.mapGridSystem"]
115
+ }
116
+ }
117
+ }
118
+ }
119
+ ]
120
+ }
121
+ }
122
+ },
123
+ "gridZone": {
124
+ "type": "string",
125
+ "description": "The unique zone identifier for grid coordinate systems."
126
+ },
127
+ "standardParallel1": {
128
+ "type": "number",
129
+ "description": "The line of constant latitude at which the surface of the Earth and the plane or developable surface intersect.",
130
+ "translation": {
131
+ "ISO 19115-2": ["MD_ProjectionParameters > standardParallel"],
132
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > stdparll"]
133
+ }
134
+ },
135
+ "standardParallel2": {
136
+ "type": "number",
137
+ "description": "The line of constant latitude at which the surface of the Earth and the plane or developable surface intersect.",
138
+ "translation": {
139
+ "ISO 19115-2": ["MD_ProjectionParameters > standardParallel"],
140
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > stdparll"]
141
+ }
142
+ },
143
+ "longitudeOfCentralMeridian": {
144
+ "type": "number",
145
+ "description": "The line of longitude at the center of a map projection generally used as the basis for constructing the projection.",
146
+ "translation": {
147
+ "ISO 19115-2": ["MD_ProjectionParameters > longitudeOfCentralMeridian"],
148
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > longcm"]
149
+ }
150
+ },
151
+ "latitudeOfProjectionOrigin": {
152
+ "type": "number",
153
+ "description": "The latitude chosen as the origin of rectangular coordinates for a map projection.",
154
+ "translation": {
155
+ "ISO 19115-2": ["MD_ProjectionParameters > latitudeOfProjectionOrigin"],
156
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > latprjo"]
157
+ }
158
+ },
159
+ "falseEasting": {
160
+ "type": "number",
161
+ "description": "The value added to all 'x' values in the rectangular coordinates for a map projection. This value frequently is assigned to eliminate negative numbers.",
162
+ "translation": {
163
+ "ISO 19115-2": ["MD_ProjectionParameters > falseEasting"],
164
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > feast"]
165
+ }
166
+ },
167
+ "falseNorthing": {
168
+ "type": "number",
169
+ "description": "The value added to all 'y' values in the rectangular coordinates for a map projection. This value frequently is assigned to eliminate negative numbers.",
170
+ "translation": {
171
+ "ISO 19115-2": ["MD_ProjectionParameters > falseNorthing"],
172
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > fnorth"]
173
+ }
174
+ },
175
+ "falseEastingNorthingUnits": {
176
+ "type": "string",
177
+ "description": "The units of measure for falseEasting and falseNorthing.",
178
+ "translation": {
179
+ "ISO 19115-2": ["MD_ProjectionParameters > falseEastingNorthingUnits"]
180
+ }
181
+ },
182
+ "scaleFactorAtEquator": {
183
+ "type": "number",
184
+ "description": "A multiplier for reducing a distance obtained from a map by computation or scaling to the actual distance along the equator.",
185
+ "translation": {
186
+ "ISO 19115-2": ["MD_ProjectionParameters > scaleFactorAtEquator"],
187
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > sfequat"]
188
+ }
189
+ },
190
+ "heightOfProspectivePointAboveSurface": {
191
+ "type": "number",
192
+ "description": "The height of viewpoint above the Earth, expressed in meters.",
193
+ "translation": {
194
+ "ISO 19115-2": ["MD_ProjectionParameters > heightOfProspectivePointAboveSurface"],
195
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > heightpt"]
196
+ }
197
+ },
198
+ "longitudeOfProjectionCenter": {
199
+ "type": "number",
200
+ "description": "The longitude of the point of projection for azimuthal projections.",
201
+ "translation": {
202
+ "ISO 19115-2": ["MD_ProjectionParameters > longitudeOfProjectionCenter"],
203
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > longpc"]
204
+ }
205
+ },
206
+ "latitudeOfProjectionCenter": {
207
+ "type": "number",
208
+ "description": "The latitude of the point of projection for azimuthal projections.",
209
+ "translation": {
210
+ "ISO 19115-2": ["MD_ProjectionParameters > latitudeOfProjectionCenter"],
211
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > latprjc"]
212
+ }
213
+ },
214
+ "scaleFactorAtCenterLine": {
215
+ "type": "number",
216
+ "description": "A multiplier for reducing a distance obtained from a map by computation or scaling to the actual distance along the center line.",
217
+ "translation": {
218
+ "ISO 19115-2": ["MD_ProjectionParameters > latitudeOfProjectionCenter"],
219
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > latprjc"]
220
+ }
221
+ },
222
+ "scaleFactorAtCentralMeridian": {
223
+ "type": "number",
224
+ "description": "A multiplier for reducing a distance obtained from a map by computation or scaling to the actual distance along the central meridian.",
225
+ "translation": {
226
+ "ISO 19115-2": ["MD_ProjectionParameters > latitudeOfProjectionCenter"],
227
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > latprjc"]
228
+ }
229
+ },
230
+ "straightVerticalLongitudeFromPole": {
231
+ "type": "number",
232
+ "description": "The longitude to be oriented straight up from the North or South Pole.",
233
+ "translation": {
234
+ "ISO 19115-2": ["MD_ProjectionParameters > latitudeOfProjectionCenter"],
235
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > latprjc"]
236
+ }
237
+ },
238
+ "scaleFactorAtProjectionOrigin": {
239
+ "type": "number",
240
+ "description": "A multiplier for reducing a distance obtained from a map by computation or scaling to the actual distance at the projection origin.",
241
+ "translation": {
242
+ "ISO 19115-2": ["MD_ProjectionParameters > latitudeOfProjectionCenter"],
243
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > latprjc"]
244
+ }
245
+ },
246
+ "azimuthAngle": {
247
+ "type": "number",
248
+ "description": "The angle measured clockwise from north, and expressed in degrees.",
249
+ "translation": {
250
+ "ISO 19115-2": ["MD_ProjectionParameters > obliqueLineAzimuthParameter > MD_ObliqueLineAzimuth > azimuthAngle"],
251
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > obqlazim > azimangl"]
252
+ }
253
+ },
254
+ "azimuthMeasurePointLongitude": {
255
+ "type": "number",
256
+ "description": "The longitude of the map projection origin.",
257
+ "translation": {
258
+ "ISO 19115-2": ["MD_ProjectionParameters > obliqueLineAzimuthParameter > MD_ObliqueLineAzimuth > azimuthMeasurePointLongitude"],
259
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > obqlazim > azimptl"]
260
+ }
261
+ },
262
+ "obliqueLinePoint": {
263
+ "$ref": "#/definitions/obliqueLinePoint"
264
+ },
265
+ "landsatNumber": {
266
+ "type": "integer",
267
+ "description": "The number of the Landsat satellite.",
268
+ "translation": {
269
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > landsat"]
270
+ }
271
+ },
272
+ "landsatPath": {
273
+ "type": "integer",
274
+ "description": "The number of the orbit of the Landsat satellite.",
275
+ "translation": {
276
+ "FGDC CSDGM": ["spref > horizsys > planar > mapprojp > pathnum"]
277
+ }
278
+ }
279
+ },
280
+ "oneOf": [
281
+ {
282
+ "title": "projectionIdentifier is required.",
283
+ "required": ["projectionIdentifier"]
284
+ },
285
+ {
286
+ "title": "gridIdentifier is required.",
287
+ "required": ["gridIdentifier"]
288
+ }
289
+ ],
290
+
291
+ "definitions": {
292
+ "obliqueLinePoint": {
293
+ "type": "array",
294
+ "description": "The method used to describe the line along which an oblique Mercator map projection is centered using two points near the limits of the mapped region that define the center line.",
295
+ "example": "../examples/obliqueLinePoint.json",
296
+ "translation": {
297
+ "ISO 19115-2": ["MD_ProjectionParameters > obliqueLineLatitude"],
298
+ "FGDC CSDGM": ["spref > horizsys > planar > mapproj > obqmerc > obqlpt"]
299
+ },
300
+ "minItems": 2,
301
+ "maxItems": 2,
302
+ "items": {
303
+ "type": "object",
304
+ "title": "point",
305
+ "description": "A point near the limits of the mapped region that define the center line for an oblique Mercator map projection.",
306
+ "translation": {
307
+ "ISO 19115-2": ["MD_ObliqueLinePoint"],
308
+ "FGDC CSDGM": ["spref > horizsys > planar > mapproj > obqmerc > obqlpt"]
309
+ },
310
+ "required": ["obliqueLineLatitude", "obliqueLineLongitude"],
311
+ "additionalProperties": true,
312
+ "properties": {
313
+ "obliqueLineLatitude": {
314
+ "type": "number",
315
+ "description": "The latitude of a point defining the oblique line.",
316
+ "translation": {
317
+ "ISO 19115-2": ["MD_ObliqueLinePoint > obliqueLineLatitude"],
318
+ "FGDC CSDGM": ["spref > horizsys > planar > mapproj > obqmerc > obqlpt > obqllat"]
319
+ }
320
+ },
321
+ "obliqueLineLongitude": {
322
+ "type": "number",
323
+ "description": "The longitude of a point defining the oblique line.",
324
+ "translation": {
325
+ "ISO 19115-2": ["MD_ObliqueLinePoint > obliqueLineLongitude"],
326
+ "FGDC CSDGM": ["spref > horizsys > planar > mapproj > obqmerc > obqlpt > obqllong"]
327
+ }
328
+ }
329
+ }
330
+ }
331
+ }
332
+ }
333
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "referenceSystemParameterSet.json#",
4
+ "type": "object",
5
+ "title": "referenceSystemParameterSet",
6
+ "description": "The set of parameters describing a spatial reference system.",
7
+ "example": "../examples/referenceSystemParameterSet.json",
8
+ "additionalProperties": true,
9
+ "properties": {
10
+ "projection": {
11
+ "$ref": "./projection.json#"
12
+ },
13
+ "geodetic": {
14
+ "$ref": "./geodetic.json#"
15
+ },
16
+ "verticalDatum": {
17
+ "$ref": "./verticalDatum.json#"
18
+ },
19
+ "local": {
20
+ "$ref": "#/definitions/local"
21
+ }
22
+ },
23
+ "oneOf": [{
24
+ "title": "projection is required.",
25
+ "required": ["projection"]
26
+ },
27
+ {
28
+ "title": "geodetic is required.",
29
+ "required": ["geodetic"]
30
+ },
31
+ {
32
+ "title": "verticalDatum is required.",
33
+ "required": ["verticalDatum"]
34
+ },
35
+ {
36
+ "title": "local is required.",
37
+ "required": ["local"]
38
+ }
39
+ ],
40
+ "definitions": {
41
+ "local": {
42
+ "type": "object",
43
+ "description": "A description of a local coordinate system.",
44
+ "example": "../examples/referenceSystemParameterSet.json#/3",
45
+ "translation": {
46
+ "FGDC CSDGM": ["spref > horizsys > local", "spref > horizsys > planar > localp"]
47
+ },
48
+ "required": ["description", "georeference"],
49
+ "additionalProperties": true,
50
+ "properties": {
51
+ "description": {
52
+ "type": "string",
53
+ "description": "A description of the local reference system.",
54
+ "translation": {
55
+ "FGDC CSDGM": ["spref > horizsys > local > localgeo", "spref > horizsys > planar > localp > localpd"]
56
+ }
57
+ },
58
+ "georeference": {
59
+ "type": "string",
60
+ "description": "A description of the information provided to register the local system to the Earth (e.g. control points, satellite ephemeral data, inertial navigation data).",
61
+ "translation": {
62
+ "FGDC CSDGM": ["spref > horizsys > local > localdes", "spref > horizsys > planar > localp > localpgi"]
63
+ }
64
+ },
65
+ "fixedToEarth": {
66
+ "type": "boolean",
67
+ "default": true,
68
+ "description": "True if the z-axis of the coordinate system coincides with a plumb line through the origin that locally is aligned with the surface of the Earth."
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
@@ -198,7 +198,9 @@
198
198
  "FGDC CSDGM": ["idinfo > taxonomy"]
199
199
  },
200
200
  "deprecated": true,
201
- "$ref": "taxonomy.json"
201
+ "allOf": [{
202
+ "$ref": "taxonomy.json"
203
+ }]
202
204
  }]
203
205
  },
204
206
  "graphicOverview": {
data/schema/schema.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "schema.json#",
3
3
  "$schema": "http://json-schema.org/draft-04/schema#",
4
- "version": "2.4.9",
4
+ "version": "2.5.0",
5
5
  "description": "schema for ADIwg mdJSON metadata",
6
6
  "example": "../examples/mdJson.json",
7
7
  "type": "object",
@@ -19,6 +19,13 @@
19
19
  "referenceSystemIdentifier": {
20
20
  "$ref": "./identifier.json#",
21
21
  "description": "The reference system identifier or definition."
22
+ },
23
+ "referenceSystemWKT":{
24
+ "type": "string",
25
+ "description": "Well Known Text (WKT) for spatial reference system."
26
+ },
27
+ "referenceSystemParameterSet":{
28
+ "$ref": "./referenceSystemParameterSet.json#"
22
29
  }
23
30
  },
24
31
  "anyOf": [{
@@ -28,6 +35,14 @@
28
35
  {
29
36
  "title": "referenceSystemIdentifier is required",
30
37
  "required": ["referenceSystemIdentifier"]
38
+ },
39
+ {
40
+ "title": "referenceSystemWKT is required",
41
+ "required": ["referenceSystemWKT"]
42
+ },
43
+ {
44
+ "title": "referenceSystemParameterSet is required",
45
+ "required": ["referenceSystemParameterSet"]
31
46
  }
32
47
  ]
33
48
  }