adiwg-mdjson_schemas 1.1.3 → 2.0.0.pre.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/README.md +14 -3
  4. data/adiwg-json_schemas.gemspec +2 -2
  5. data/bower.json +0 -1
  6. data/examples/additionalDocumentation.json +9 -60
  7. data/examples/address.json +14 -10
  8. data/examples/allocation.json +12 -0
  9. data/examples/associatedResource.json +10 -118
  10. data/examples/attribute.json +27 -0
  11. data/examples/attributeGroup.json +17 -0
  12. data/examples/boundingBox.json +6 -0
  13. data/examples/citation.json +69 -127
  14. data/examples/computedBbox.json +399 -0
  15. data/examples/constraint.json +62 -0
  16. data/examples/contact.json +40 -207
  17. data/examples/coverageDescription.json +21 -0
  18. data/examples/date.json +8 -19
  19. data/examples/dictionary.json +58 -0
  20. data/examples/dimension.json +11 -0
  21. data/examples/distribution.json +26 -0
  22. data/examples/distributor.json +22 -142
  23. data/examples/domain.json +29 -0
  24. data/examples/domainItem.json +11 -0
  25. data/examples/duration.json +17 -0
  26. data/examples/entity.json +48 -0
  27. data/examples/entityAttribute.json +31 -0
  28. data/examples/entityForeignKey.json +17 -0
  29. data/examples/entityIndex.json +8 -0
  30. data/examples/extent.json +60 -0
  31. data/examples/featureCollection.json +58 -0
  32. data/examples/featureProperties.json +16 -0
  33. data/examples/format.json +7 -14
  34. data/examples/funding.json +33 -0
  35. data/examples/geoJson.json +185 -0
  36. data/examples/geographicExtent.json +22 -0
  37. data/examples/geometryCollection.json +14 -0
  38. data/examples/geometryFeature.json +12 -0
  39. data/examples/geometryObject.json +90 -0
  40. data/examples/georectifiedRepresentation.json +28 -0
  41. data/examples/georeferencableRepresentation.json +25 -0
  42. data/examples/gmlIdentifier.json +8 -0
  43. data/examples/graphic.json +33 -0
  44. data/examples/gridRepresentation.json +14 -0
  45. data/examples/identifier.json +9 -0
  46. data/examples/imageDescription.json +15 -0
  47. data/examples/keyword.json +14 -0
  48. data/examples/keywordObject.json +12 -0
  49. data/examples/legalConstraint.json +21 -0
  50. data/examples/lineage.json +21 -0
  51. data/examples/locale.json +12 -3
  52. data/examples/maintenance.json +38 -0
  53. data/examples/mdJson.json +99 -0
  54. data/examples/measure.json +5 -0
  55. data/examples/medium.json +16 -0
  56. data/examples/metadata.json +102 -0
  57. data/examples/metadataInfo.json +68 -101
  58. data/examples/onlineResource.json +13 -17
  59. data/examples/orderProcess.json +6 -0
  60. data/examples/party.json +21 -0
  61. data/examples/phone.json +9 -0
  62. data/examples/processStep.json +34 -0
  63. data/examples/releasability.json +28 -0
  64. data/examples/resourceInfo.json +230 -1256
  65. data/examples/responsibleParty.json +31 -0
  66. data/examples/schema.json +8 -0
  67. data/examples/scope.json +33 -0
  68. data/examples/scopeDescription.json +8 -0
  69. data/examples/securityConstraint.json +13 -0
  70. data/examples/series.json +9 -0
  71. data/examples/source.json +23 -0
  72. data/examples/spatialReference.json +34 -0
  73. data/examples/spatialRepresentation.json +59 -0
  74. data/examples/spatialResolution.json +11 -0
  75. data/examples/taxonomicClassification.json +59 -0
  76. data/examples/taxonomicSystem.json +13 -0
  77. data/examples/taxonomy.json +79 -188
  78. data/examples/temporalExtent.json +11 -0
  79. data/examples/timeInstant.json +13 -0
  80. data/examples/timeInterval.json +8 -0
  81. data/examples/timePeriod.json +26 -0
  82. data/examples/transferOption.json +36 -0
  83. data/examples/usage.json +48 -33
  84. data/examples/vectorObject.json +4 -0
  85. data/examples/vectorRepresentation.json +10 -0
  86. data/examples/verticalExtent.json +10 -17
  87. data/examples/voucher.json +12 -0
  88. data/lib/adiwg/mdjson_schemas/utils.rb +45 -15
  89. data/lib/adiwg/mdjson_schemas/validator.rb +6 -7
  90. data/lib/adiwg/mdjson_schemas/version.rb +1 -1
  91. data/lib/adiwg/mdjson_schemas.rb +4 -2
  92. data/schema/additionalDocumentation.json +29 -0
  93. data/schema/associatedResource.json +49 -0
  94. data/schema/attribute.json +157 -0
  95. data/schema/attributeGroup.json +29 -0
  96. data/schema/{schema/geojson/bbox.json → bbox.json} +2 -2
  97. data/schema/{schema/citation.json → citation.json} +73 -99
  98. data/schema/common.json +49 -0
  99. data/schema/{schema/resourceConstraint.json → constraint.json} +83 -13
  100. data/schema/contact.json +234 -0
  101. data/schema/coverageDescription.json +50 -0
  102. data/schema/dataDictionary.json +71 -0
  103. data/schema/distribution.json +35 -0
  104. data/schema/distributor.json +46 -0
  105. data/schema/domain.json +65 -0
  106. data/schema/entity.json +235 -0
  107. data/schema/extent.json +59 -0
  108. data/schema/format.json +37 -0
  109. data/schema/funding.json +67 -0
  110. data/schema/geographicExtent.json +87 -0
  111. data/schema/{schema/geojson/geojson.json → geojson.json} +16 -44
  112. data/schema/{schema/geojson/geometry.json → geometry.json} +2 -1
  113. data/schema/georectifiedRepresentation.json +89 -0
  114. data/schema/georeferencableRepresentation.json +49 -0
  115. data/schema/{schema/graphicOverview.json → graphic.json} +19 -6
  116. data/schema/{schema/gridInfo.json → gridRepresentation.json} +7 -13
  117. data/schema/identifier.json +47 -0
  118. data/schema/imageDescription.json +92 -0
  119. data/schema/{schema/keyword.json → keyword.json} +18 -4
  120. data/schema/{schema/dataQuality.json → lineage.json} +92 -57
  121. data/schema/{schema/maintInfo.json → maintInfo.json} +24 -6
  122. data/schema/measure.json +31 -0
  123. data/schema/medium.json +55 -0
  124. data/schema/metadata.json +77 -0
  125. data/schema/metadataInfo.json +112 -0
  126. data/schema/{schema/onlineResource.json → onlineResource.json} +1 -1
  127. data/schema/orderProcess.json +45 -0
  128. data/schema/releasability.json +42 -0
  129. data/schema/{schema/resourceInfo.json → resourceInfo.json} +112 -189
  130. data/schema/responsibility.json +56 -0
  131. data/schema/schema.json +16 -31
  132. data/schema/scope.json +55 -0
  133. data/schema/spatialReference.json +26 -0
  134. data/schema/spatialRepresentation.json +83 -0
  135. data/schema/spatialResolution.json +54 -0
  136. data/schema/taxonomy.json +178 -0
  137. data/schema/temporalExtent.json +42 -0
  138. data/schema/timeInstant.json +46 -0
  139. data/schema/timePeriod.json +126 -0
  140. data/schema/transferOption.json +61 -0
  141. data/schema/{schema/usage.json → usage.json} +34 -4
  142. data/schema/vectorRepresentation.json +51 -0
  143. data/schema/verticalExtent.json +37 -0
  144. data/test/helper.rb +32 -0
  145. data/test/tc_additionalDocumentation.rb +8 -0
  146. data/test/tc_address.rb +8 -0
  147. data/test/tc_associatedResource.rb +8 -0
  148. data/test/tc_attribute.rb +8 -0
  149. data/test/tc_attributeGroup.rb +8 -0
  150. data/test/tc_boundingBox.rb +8 -0
  151. data/test/tc_citation.rb +8 -0
  152. data/test/tc_constraint.rb +8 -0
  153. data/test/tc_contact.rb +8 -0
  154. data/test/tc_coverageDescription.rb +8 -0
  155. data/test/tc_dataDictionary.rb +8 -0
  156. data/test/tc_dimension.rb +8 -0
  157. data/test/tc_distribution.rb +8 -0
  158. data/test/tc_distributor.rb +8 -0
  159. data/test/tc_domain.rb +8 -0
  160. data/test/tc_domainItem.rb +8 -0
  161. data/test/tc_duration.rb +8 -0
  162. data/test/tc_entity.rb +20 -0
  163. data/test/tc_extent.rb +8 -0
  164. data/test/tc_featureCollection.rb +8 -0
  165. data/test/tc_featureProperties.rb +8 -0
  166. data/test/tc_format.rb +8 -0
  167. data/test/tc_funding.rb +8 -0
  168. data/test/tc_geographicElement.rb +12 -0
  169. data/test/tc_geographicExtent.rb +8 -0
  170. data/test/tc_geometryCollection.rb +8 -0
  171. data/test/tc_geometryFeature.rb +8 -0
  172. data/test/tc_geometryObject.rb +8 -0
  173. data/test/tc_georectifiedRepresentation.rb +8 -0
  174. data/test/tc_georeferencableRepresentation.rb +8 -0
  175. data/test/tc_graphic.rb +8 -0
  176. data/test/tc_gridRepresentation.rb +8 -0
  177. data/test/tc_identifier.rb +8 -0
  178. data/test/tc_imageDescription.rb +8 -0
  179. data/test/tc_jsonschema.rb +16 -0
  180. data/test/tc_keyword.rb +8 -0
  181. data/test/tc_lineage.rb +8 -0
  182. data/test/tc_maintInfo.rb +8 -0
  183. data/test/tc_measure.rb +8 -0
  184. data/test/tc_medium.rb +8 -0
  185. data/test/tc_metadata.rb +8 -0
  186. data/test/tc_metadataInfo.rb +8 -0
  187. data/test/tc_onlineResource.rb +8 -0
  188. data/test/tc_orderProcess.rb +8 -0
  189. data/test/tc_party.rb +8 -0
  190. data/test/tc_processStep.rb +8 -0
  191. data/test/tc_releasability.rb +8 -0
  192. data/test/tc_resourceInfo.rb +8 -0
  193. data/test/tc_responsibility.rb +8 -0
  194. data/test/tc_schema.rb +8 -0
  195. data/test/tc_scope.rb +8 -0
  196. data/test/tc_source.rb +8 -0
  197. data/test/tc_spatialReference.rb +8 -0
  198. data/test/tc_spatialRepresentation.rb +8 -0
  199. data/test/tc_spatialResolution.rb +8 -0
  200. data/test/tc_taxonomicClassification.rb +8 -0
  201. data/test/tc_taxonomicSystem.rb +8 -0
  202. data/test/tc_taxonomy.rb +8 -0
  203. data/test/tc_temporalExtent.rb +8 -0
  204. data/test/tc_timeInstant.rb +8 -0
  205. data/test/tc_timePeriod.rb +8 -0
  206. data/test/tc_transferOption.rb +8 -0
  207. data/test/tc_uri.rb +8 -0
  208. data/test/tc_usage.rb +8 -0
  209. data/test/tc_utils.rb +8 -11
  210. data/test/tc_vectorRepresentation.rb +13 -0
  211. data/test/tc_verticalExtent.rb +8 -0
  212. data/test/tc_voucher.rb +8 -0
  213. metadata +264 -57
  214. data/examples/contactRef.json +0 -12
  215. data/examples/coverageInfo.json +0 -148
  216. data/examples/dataDictionary.json +0 -549
  217. data/examples/dataQuality.json +0 -272
  218. data/examples/extent_linestring.json +0 -288
  219. data/examples/extent_point.json +0 -246
  220. data/examples/extent_polygon.json +0 -353
  221. data/examples/full_example.json +0 -3065
  222. data/examples/full_example2.json +0 -2325
  223. data/examples/geojson.json +0 -446
  224. data/examples/graphicOverview.json +0 -28
  225. data/examples/gridInfo.json +0 -23
  226. data/examples/hierarchyLevel.json +0 -90
  227. data/examples/keywords.json +0 -144
  228. data/examples/lcc_project_example.json +0 -326
  229. data/examples/legalConstraints.json +0 -17
  230. data/examples/maintInfo.json +0 -34
  231. data/examples/minimum_example.json +0 -35
  232. data/examples/resolution.json +0 -9
  233. data/examples/resourceMaintenance.json +0 -10
  234. data/examples/securityConstraints.json +0 -13
  235. data/examples/spatialRef.json +0 -14
  236. data/examples/temporalElement.json +0 -29
  237. data/schema/schema/contact.json +0 -262
  238. data/schema/schema/coverageInfo.json +0 -303
  239. data/schema/schema/dataDictionary.json +0 -335
  240. data/schema/schema/distributor.json +0 -216
  241. data/schema/schema/extent.json +0 -215
  242. data/schema/schema/geojson/crs.json +0 -99
  243. data/schema/schema/metadata.json +0 -188
  244. data/schema/schema/resolution.json +0 -51
  245. data/schema/schema/taxonomy.json +0 -122
  246. data/test/tc_schemas.rb +0 -243
  247. /data/schema/{schema/locale.json → locale.json} +0 -0
@@ -0,0 +1,36 @@
1
+ [{
2
+ "unitsOfDistribution": "unitsOfDistribution",
3
+ "transferSize": 9.9,
4
+ "onlineOption": [{
5
+ "uri": "http://adiwg.org"
6
+ },
7
+ {
8
+ "uri": "http://adiwg.org/"
9
+ }
10
+ ],
11
+ "offlineOption": [{
12
+ "mediumSpecification": {
13
+ "title": "title0"
14
+ }
15
+ },
16
+ {
17
+ "mediumSpecification": {
18
+ "title": "title1"
19
+ }
20
+ }
21
+ ],
22
+ "transferFrequency": {
23
+ "months": 9
24
+ },
25
+ "distributionFormat": [{
26
+ "formatSpecification": {
27
+ "title": "title0"
28
+ }
29
+ },
30
+ {
31
+ "formatSpecification": {
32
+ "title": "title1"
33
+ }
34
+ }
35
+ ]
36
+ }]
data/examples/usage.json CHANGED
@@ -1,35 +1,50 @@
1
- [
2
- {
3
- "specificUsage": "specificUsage",
4
- "userDeterminedLimitation": "userDeterminedLimitation",
5
- "userContactInfo": [
6
- {
7
- "contactId": "contactId1",
8
- "role": "role1"
9
- }, {
10
- "contactId": "contactId2",
11
- "role": "role2"
1
+ [{
2
+ "specificUsage": "specificUsage",
3
+ "temporalExtent": [{
4
+ "type": "instant",
5
+ "timeInstant": {
6
+ "dateTime": "2016-10-24T11:10:15.2-10:00"
12
7
  }
13
- ]
14
- }, {
15
- "specificUsage": "Developed for land use planning.",
16
- "userDeterminedLimitation": "Not suitable for use for navigation.",
17
- "userContactInfo": [
18
- {
19
- "contactId": "3",
20
- "role": "publisher"
21
- }, {
22
- "contactId": "3",
23
- "role": "author"
8
+ },
9
+ {
10
+ "type": "period",
11
+ "timePeriod": {
12
+ "startDateTime": "2016-10-24T11:10:15.2-10:00"
24
13
  }
25
- ]
26
- }, {
27
- "specificUsage": "Bathymetry datasets developed for modeling physical oceanographic conditions in the Barrow Straight.",
28
- "userContactInfo": [
29
- {
30
- "contactId": "1",
31
- "role": "custodian"
32
- }
33
- ]
34
- }
35
- ]
14
+ }
15
+ ],
16
+ "userDeterminedLimitation": "userDeterminedLimitation",
17
+ "limitationResponse": [
18
+ "limitationResponse0",
19
+ "limitationResponse1"
20
+ ],
21
+ "documentedIssue": {
22
+ "title": "title0"
23
+ },
24
+ "additionalDocumentation": [{
25
+ "title": "title1"
26
+ },
27
+ {
28
+ "title": "title2"
29
+ }
30
+ ],
31
+ "userContactInfo": [{
32
+ "role": "role0",
33
+ "timePeriod": [{
34
+ "startDateTime": "2016-10-14"
35
+ }],
36
+ "party": [{
37
+ "contactId": "individualId0"
38
+ }]
39
+ },
40
+ {
41
+ "role": "role1",
42
+ "roleExtent": {
43
+ "description": "description1"
44
+ },
45
+ "party": [{
46
+ "contactId": "individualId1"
47
+ }]
48
+ }
49
+ ]
50
+ }]
@@ -0,0 +1,4 @@
1
+ [{
2
+ "objectType": "objectType",
3
+ "objectCount": 9
4
+ }]
@@ -0,0 +1,10 @@
1
+ [{
2
+ "topologyLevel": "topologyLevel",
3
+ "vectorObject": [{
4
+ "objectType": "objectType",
5
+ "objectCount": 9
6
+ }, {
7
+ "objectType": "objectType",
8
+ "objectCount": 9
9
+ }]
10
+ }]
@@ -1,18 +1,11 @@
1
- [
2
- {
3
- "minimumValue": 1,
4
- "maximumValue": 1,
5
- "verticalCRSTitle": "verticalCRSTitle",
6
- "verticalCRSUri": "http://thisisanexample.com"
7
- }, {
8
- "minimumValue": 125,
9
- "maximumValue": 222,
10
- "verticalCRSTitle": "NAVD88 height (ftUS)",
11
- "verticalCRSUri": "http://www.epsg-registry.org/export.htm?gml=urn:ogc:def:axis-name:EPSG::9904"
12
- }, {
13
- "minimumValue": 1500,
14
- "maximumValue": 0,
15
- "verticalCRSTitle": "NAVD88 depth",
16
- "verticalCRSUri": "http://www.epsg-registry.org/export.htm?gml=urn:ogc:def:crs:EPSG::6357"
1
+ [{
2
+ "description": "description",
3
+ "minValue": 9.9,
4
+ "maxValue": 9.9,
5
+ "crsId": {
6
+ "type": "referenceSystemType",
7
+ "systemIdentifier": {
8
+ "identifier": "identifier"
9
+ }
17
10
  }
18
- ]
11
+ }]
@@ -0,0 +1,12 @@
1
+ [{
2
+ "specimen": "specimen",
3
+ "repository": {
4
+ "role": "role",
5
+ "timePeriod": [{
6
+ "startDateTime": "2016-10-14"
7
+ }],
8
+ "party": [{
9
+ "contactId": "individualId0"
10
+ }]
11
+ }
12
+ }]
@@ -1,20 +1,50 @@
1
+ require 'json'
2
+ require 'json-schema'
3
+
1
4
  module ADIWG
2
- module MdjsonSchemas
3
- module Utils
4
- # Return the path to main schema.json file.
5
- def self.schema_path
6
- File.join(File.dirname(File.expand_path(__FILE__)), '../../../schema/schema.json')
7
- end
5
+ module MdjsonSchemas
6
+ # Utility methods for accessing and loading schemas
7
+ #
8
+ module Utils
9
+ # load json files
10
+ #
11
+ # @param [String] filename The path and file name to load
12
+ def self.load_json(filename)
13
+ JSON.load File.new(filename)
14
+ end
15
+
16
+ # Return the path to main schema.json file.
17
+ #
18
+ # @return [String] The path to the schema.json file
19
+ def self.schema_path
20
+ File.join(File.dirname(File.expand_path(__FILE__)), '../../../schema/schema.json')
21
+ end
22
+
23
+ # Return the path to schema directory.
24
+ #
25
+ # @return [String] The path to schema directory
26
+ def self.schema_dir
27
+ File.join(File.dirname(File.expand_path(__FILE__)), '../../../schema/')
28
+ end
29
+
30
+ # Return the path to examples directory.
31
+ #
32
+ # @return [String] The path to examples directory
33
+ def self.examples_dir
34
+ File.join(File.dirname(File.expand_path(__FILE__)), '../../../examples/')
35
+ end
8
36
 
9
- # Return the path to schema directory.
10
- def self.schema_dir
11
- File.join(File.dirname(File.expand_path(__FILE__)), '../../../schema/')
12
- end
37
+ # Pre-load all of the json-schemas for mdJSON validation
38
+ #
39
+ # @return [nil]
40
+ def self.load_schemas
41
+ Dir.glob(schema_dir + '*.json') do |schema|
42
+ name = File.basename(schema)
43
+ jschema = JSON::Schema.new(Utils.load_json(schema), Addressable::URI.parse(name))
13
44
 
14
- # Return the path to examples directory.
15
- def self.examples_dir
16
- File.join(File.dirname(File.expand_path(__FILE__)), '../../../examples/')
17
- end
45
+ JSON::Validator.add_schema(jschema)
18
46
  end
47
+ end
19
48
  end
20
- end
49
+ end
50
+ end
@@ -1,14 +1,13 @@
1
- =begin
2
- * Description: Patches json-schema gem to work on windows
3
- * Author: Josh Bradley
4
- * Date: 2014-09-17
5
- * License: Public Domain
6
- =end
1
+
7
2
 
8
3
  module JSON
9
4
 
10
5
  class Validator
11
6
 
7
+ # Patches json-schema(<2.5) gem to work on Windows
8
+ #
9
+ # @author Josh Bradley
10
+
12
11
  def load_ref_schema(parent_schema,ref)
13
12
  uri = URI.parse(ref)
14
13
  if uri.relative?
@@ -39,4 +38,4 @@ module JSON
39
38
  end
40
39
 
41
40
  end
42
- end
41
+ end
@@ -1,6 +1,6 @@
1
1
  module ADIWG
2
2
  module MdjsonSchemas
3
3
  # Current schema version number
4
- VERSION = "1.1.3"
4
+ VERSION = "2.0.0-alpha"
5
5
  end
6
6
  end
@@ -1,7 +1,9 @@
1
- require "adiwg/mdjson_schemas/version"
1
+ require 'adiwg/mdjson_schemas/version'
2
2
 
3
3
  module ADIWG
4
+ # Module for accessing ADIwg mdJSON schemas
5
+ #
4
6
  module MdjsonSchemas
5
7
  autoload :Utils, 'adiwg/mdjson_schemas/utils'
6
- end
8
+ end
7
9
  end
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "additionalDocumentation.json#",
4
+ "type": "object",
5
+ "title": "additionalDocumentation",
6
+ "description": "Other documents related to, but not defining, the resource such as factsheets, data catalog pages, award documents, proposals, and informational websites.",
7
+ "translation": {
8
+ "ISO 19115-2": ["MD_DataIdentification > aggregationInfo > MD_AggregateInformation > aggregateDataSetName > CI_Citation"],
9
+ "FGDC CSDGM": ["idinfo > crossref "]
10
+ },
11
+ "required": ["citation"],
12
+ "properties": {
13
+ "resourceType": {
14
+ "type": "string",
15
+ "description": "Identifies the type of resource, such as: userGuide, website, report, etc.",
16
+ "translation": {
17
+ "ISO 19115-2": ["[MD_ScopeCode]"]
18
+ }
19
+ },
20
+ "citation": {
21
+ "type": "array",
22
+ "description": "Citation for the additional resource.",
23
+ "translation": {},
24
+ "items": {
25
+ "$ref": "citation.json#"
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id" : "associatedResource.json#",
4
+ "type": "object",
5
+ "title": "associatedResource",
6
+ "description": "Other resources which are directly related to the subject resource such as parent, child, or sibling datasets or projects.",
7
+ "example": "",
8
+ "translation": {
9
+ "ISO 19115-2": ["MD_DataIdentification > aggregationInfo > MD_AggregateInformation"],
10
+ "FGDC CSDGM": ["idinfo > crossref"]
11
+ },
12
+ "required": ["associationType", "resourceType", "resourceCitation"],
13
+ "additionalProperties": true,
14
+ "properties": {
15
+ "associationType": {
16
+ "type": "string",
17
+ "description": "Identifies how the associated resource is related to the subject resource such as 'is a component of', 'larger work citation', 'cross reference', etc.",
18
+ "translation": {
19
+ "ISO 19115-2": ["MD_AggregateInformation > associationType [DS_AssociationTypeCode]"]
20
+ }
21
+ },
22
+ "initiativeType": {
23
+ "type": "string",
24
+ "description": "Identifies type of initiative under which the resource was produced - the activity that resulted in the resource.",
25
+ "translation": {
26
+ "ISO 19115-2": ["MD_AggregateInformation > initiativeType > [DS_InitiativeTypeCode]"]
27
+ }
28
+ },
29
+ "resourceType": {
30
+ "type": "string",
31
+ "description": "Identifies the type of resource, such as: a dataset, study, publication, etc.",
32
+ "translation": {
33
+ "ISO 19115-2": ["[MD_ScopeCode]"]
34
+ }
35
+ },
36
+ "resourceCitation": {
37
+ "description": "Citation for the associated resource.",
38
+ "translation": {
39
+ "ISO 19115-2": ["MD_AggregateInformation > aggregateDataSetName > CI_Citation"],
40
+ "FGDC CSDGM": ["idinfo > crossref > citeinfo"]
41
+ },
42
+ "$ref": "./citation.json#"
43
+ },
44
+ "metadataCitation": {
45
+ "description": "Citation for the associated resource metadata.",
46
+ "$ref": "./citation.json#"
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,157 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "attribute.json#",
4
+ "type": "object",
5
+ "title": "",
6
+ "description": "",
7
+ "required": [],
8
+ "dependencies": {
9
+ "minValue": ["units"],
10
+ "maxValue": ["units"],
11
+ "boundMin": ["boundUnits"],
12
+ "boundMax": ["boundUnits"],
13
+ "sequenceIdentifier": ["sequenceIdentifierType"]
14
+ },
15
+ "additionalProperties": true,
16
+ "properties": {
17
+ "sequenceIdentifier": {
18
+ "type": "string",
19
+ "description": "Unique name or number that identifies attributes included in the coverage.",
20
+ "translation": {
21
+ "ISO 19115-2": ["MI_CoverageDescription > gmi:rangeElementDescription > gmi:MI_RangeElementDescription > gmi:name", "MI_CoverageDescription > gmd:dimension > gmd:MD:Band > gmd:sequenceIdentifier > gco:MemberName > gco:aName"]
22
+ }
23
+ },
24
+ "sequenceIdentifierType": {
25
+ "type": "string",
26
+ "description": "The type of unique name or number that identifies attributes.",
27
+ "translation": {
28
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD:Band > gmd:sequenceIdentifier > gco:MemberName > gco:attributeType > gco:TypeName > gco:aName"]
29
+ }
30
+ },
31
+ "attributeDescription": {
32
+ "type": "string",
33
+ "description": "Description of the attribute.",
34
+ "translation": {
35
+ "ISO 19115-2": ["MI_CoverageDescription > gmi:rangeElementDescription > gmi:MI_RangeElementDescription > gmi:definition", "MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:descriptor ]"]
36
+ }
37
+ },
38
+ "attributeIdentifier": {
39
+ "type": "array",
40
+ "description": "Identifiers for each attribute included in the resource. NOTE: These identifiers can be used to provide names for the attribute from a standard set of names.",
41
+ "example": "",
42
+ "translation": {},
43
+ "items": {
44
+ "$ref": "./identifier.json#",
45
+ "example": ""
46
+ }
47
+ },
48
+ "minValue": {
49
+ "type": "number",
50
+ "description": "The minimum value of data values in the domain of the attribute.",
51
+ "translation": {
52
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:minValue > gco:Real"]
53
+ }
54
+ },
55
+ "maxValue": {
56
+ "type": "number",
57
+ "description": "The maximum value of data values in the domain of the attribute",
58
+ "translation": {
59
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:maxValue > gco:Real"]
60
+ }
61
+ },
62
+ "units": {
63
+ "type": "string",
64
+ "description": "The units of data in which the attribute is expressed.",
65
+ "translation": {
66
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:units > gml:unitDefinition > gml:identifier"]
67
+ }
68
+ },
69
+ "scaleFactor": {
70
+ "type": "number",
71
+ "description": "The scale factor which has been applied to the attribute.",
72
+ "translation": {
73
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:scaleFactor > gco:Real"]
74
+ }
75
+ },
76
+ "offset": {
77
+ "type": "number",
78
+ "description": "The physical value corresponding to an attribute value of zero.",
79
+ "translation": {
80
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:offset > gco:Real"]
81
+ }
82
+ },
83
+ "meanValue": {
84
+ "type": "number",
85
+ "description": "The mean value of data values in the attribute.",
86
+ "translation": {}
87
+ },
88
+ "numberOfValues": {
89
+ "type": "integer",
90
+ "description": "Tthe number of values used in a thematic-Classification resource.",
91
+ "translation": {}
92
+ },
93
+ "standardDeviation": {
94
+ "type": "number",
95
+ "description": "The standard deviation of data values in the attribute.",
96
+ "translation": {}
97
+ },
98
+ "bitsPerValue": {
99
+ "type": "integer",
100
+ "description": "The maximum number of significant bits in the uncompressed representation for the value in each pixel.",
101
+ "translation": {
102
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:bitsPerValue > gco:Integer"]
103
+ }
104
+ },
105
+ "boundMin": {
106
+ "type": "number",
107
+ "description": "The shortest wavelength that the sensor is capable of collecting within a designated band."
108
+ },
109
+ "boundMax": {
110
+ "type": "number",
111
+ "description": "The longest wavelength that the sensor is capable of collecting within a designated band."
112
+ },
113
+ "boundUnits": {
114
+ "type": "string",
115
+ "description": "The unit in which sensor wavelengths are expressed."
116
+ },
117
+ "peakResponse": {
118
+ "type": "number",
119
+ "description": "The wavelength at which the sensor response is highest.",
120
+ "translation": {
121
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:peakResponse > gco:Real"]
122
+ }
123
+ },
124
+ "toneGradations": {
125
+ "type": "integer",
126
+ "description": "The number of discrete numerical values in the grid data.",
127
+ "translation": {
128
+ "ISO 19115-2": ["MI_CoverageDescription > gmd:dimension > gmd:MD_Band > gmd:toneGradition > gco:Integer"]
129
+ }
130
+ },
131
+ "bandBoundaryDefinition": {
132
+ "type": "string",
133
+ "description": "Designation of criterion for defining maximum and minimum wavelengths for a spectral band.",
134
+ "translation": {}
135
+ },
136
+ "nominalSpatialResolution": {
137
+ "type": "number",
138
+ "description": "The smallest distance between which separate points can be distinguished, as specified in instrument design.",
139
+ "translation": {}
140
+ },
141
+ "transferFunctionType": {
142
+ "type": "string",
143
+ "description": "Type of transfer function to be used when scaling a physical value for a given element.",
144
+ "translation": {}
145
+ },
146
+ "transmittedPolarization": {
147
+ "type": "string",
148
+ "description": "Polarization of the radiation transmitted.",
149
+ "translation": {}
150
+ },
151
+ "detectedPolarization": {
152
+ "type": "string",
153
+ "description": "Polarization of the radiation detected.",
154
+ "translation": {}
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "id": "attributeGroup.json#",
4
+ "type": "object",
5
+ "description": "Information about groups of attributes describing a coverage.",
6
+ "required": ["attributeContentType"],
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "attributeContentType": {
10
+ "type": "array",
11
+ "description": "Type of information represented by the values",
12
+ "translation": {
13
+ "ISO 19115-2": ["MI_ImageDescription | MI_CoverageDescription > contentType"]
14
+ },
15
+ "items": {
16
+ "type": "string"
17
+ }
18
+ },
19
+ "attribute": {
20
+ "type": "array",
21
+ "description": "",
22
+ "example": "",
23
+ "translation": {},
24
+ "items": {
25
+ "$ref": "./attribute.json#"
26
+ }
27
+ }
28
+ }
29
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-04/schema#",
3
3
  "id": "bbox.json#",
4
- "description": "To include information on the coordinate range for geometries, features, or feature collections, a GeoJSON object may have a member named \"bbox\". The value of the bbox member must be a 2*n array where n is the number of dimensions represented in the contained geometries, with the lowest values for all axes followed by the highest values. The axes order of a bbox follows the axes order of geometries. In addition, the coordinate reference system for the bbox is assumed to match the coordinate reference system of the GeoJSON object of which it is a member.",
4
+ "description": "A GeoJSON object MAY have a member named 'bbox' to include information on the coordinate range for its Geometries, Features, or FeatureCollections. The value of the bbox member MUST be an array of length 2 * n where n is the number of dimensions represented in the contained geometries, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. The axes order of a bbox follows the axes order of geometries. The values of a 'bbox' array are[west, south, east, north].",
5
5
  "translation": {
6
6
  "ISO 19115-2": ["EX_Extent > geographicElement > EX_GeographicBoundingBox, EX_GeographicBoundingBox > westBoundLongitude > Decimal {west}, EX_GeographicBoundingBox > eastBoundLongitude > Decimal {east}, EX_GeographicBoundingBox > southBoundLatitude > Decimal {south}, EX_GeographicBoundingBox > northBoundLatitude > Decimal {north}"],
7
7
  "FGDC CSDGM": ["[idinfo > spdom > bounding > westbc], [idinfo > spdom > bounding > eastbc], [idinfo > spdom > bounding > northbc], [idinfo > spdom > bounding > southbc]"]
@@ -11,4 +11,4 @@
11
11
  "items": {
12
12
  "type": "number"
13
13
  }
14
- }
14
+ }