adiwg-mdtranslator 1.4.0 → 2.0.0rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +1 -3
  3. data/.travis.yml +4 -3
  4. data/README.md +1 -3
  5. data/Rakefile +5 -1
  6. data/adiwg-mdtranslator.gemspec +5 -5
  7. data/bin/mdtranslator +3 -205
  8. data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +600 -316
  9. data/lib/adiwg/mdtranslator/internal/module_coordinates.rb +123 -7
  10. data/lib/adiwg/mdtranslator/internal/module_dateTimeFun.rb +45 -0
  11. data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb +83 -178
  12. data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_validator.rb +21 -22
  13. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_additionalDocumentation.rb +77 -0
  14. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_address.rb +101 -0
  15. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_allocation.rb +84 -0
  16. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_associatedResource.rb +111 -0
  17. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attribute.rb +224 -0
  18. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attributeGroup.rb +63 -0
  19. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_boundingBox.rb +95 -0
  20. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_citation.rb +164 -0
  21. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_constraint.rb +163 -0
  22. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_contact.rb +172 -0
  23. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageDescription.rb +96 -0
  24. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +151 -0
  25. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_date.rb +74 -0
  26. data/lib/adiwg/mdtranslator/readers/mdJson/{modules_v1 → modules}/module_dateTime.rb +19 -5
  27. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dimension.rb +87 -0
  28. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distribution.rb +56 -0
  29. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distributor.rb +78 -0
  30. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domain.rb +95 -0
  31. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domainItem.rb +70 -0
  32. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_duration.rb +112 -0
  33. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entity.rb +135 -0
  34. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityAttribute.rb +130 -0
  35. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityForeignKey.rb +78 -0
  36. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityIndex.rb +72 -0
  37. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_extent.rb +83 -0
  38. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_featureCollection.rb +87 -0
  39. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_format.rb +68 -0
  40. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_funding.rb +67 -0
  41. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geoJson.rb +70 -0
  42. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geographicExtent.rb +98 -0
  43. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryCollection.rb +87 -0
  44. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryFeature.rb +112 -0
  45. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryObject.rb +70 -0
  46. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryProperties.rb +79 -0
  47. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georectifiedRepresentation.rb +113 -0
  48. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georeferenceableRepresentation.rb +99 -0
  49. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gmlIdentifier.rb +55 -0
  50. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_graphic.rb +96 -0
  51. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gridRepresentation.rb +79 -0
  52. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_identifier.rb +87 -0
  53. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_imageDescription.rb +120 -0
  54. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keyword.rb +83 -0
  55. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keywordObject.rb +55 -0
  56. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +77 -0
  57. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_lineage.rb +104 -0
  58. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_locale.rb +66 -0
  59. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_maintenance.rb +93 -0
  60. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_mdJson.rb +136 -0
  61. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_measure.rb +75 -0
  62. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_medium.rb +105 -0
  63. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadata.rb +131 -0
  64. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataInfo.rb +157 -0
  65. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataRepository.rb +53 -0
  66. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_onlineResource.rb +82 -0
  67. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_orderProcess.rb +68 -0
  68. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_party.rb +79 -0
  69. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_phone.rb +68 -0
  70. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processStep.rb +113 -0
  71. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_releasability.rb +71 -0
  72. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceInfo.rb +364 -0
  73. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceType.rb +55 -0
  74. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceUsage.rb +117 -0
  75. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +91 -0
  76. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_schema.rb +56 -0
  77. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scope.rb +72 -0
  78. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scopeDescription.rb +73 -0
  79. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_securityConstraint.rb +72 -0
  80. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_series.rb +57 -0
  81. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_source.rb +123 -0
  82. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialReference.rb +65 -0
  83. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialRepresentation.rb +96 -0
  84. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialResolution.rb +77 -0
  85. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicClassification.rb +87 -0
  86. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicSystem.rb +60 -0
  87. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomy.rb +138 -0
  88. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_temporalExtent.rb +70 -0
  89. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInstant.rb +87 -0
  90. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInterval.rb +69 -0
  91. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timePeriod.rb +120 -0
  92. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_transferOption.rb +95 -0
  93. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorObject.rb +55 -0
  94. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorRepresentation.rb +55 -0
  95. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_verticalExtent.rb +81 -0
  96. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb +64 -0
  97. data/lib/adiwg/mdtranslator/readers/mdJson/readme.md +3 -9
  98. data/lib/adiwg/mdtranslator/readers/mdJson/version.rb +14 -0
  99. data/lib/adiwg/mdtranslator/readers/mdReaders.rb +36 -30
  100. data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_reader.rb +39 -40
  101. data/lib/adiwg/mdtranslator/version.rb +38 -29
  102. data/lib/adiwg/mdtranslator/writers/html/html_writer.rb +28 -25
  103. data/lib/adiwg/mdtranslator/writers/html/readme.md +3 -9
  104. data/lib/adiwg/mdtranslator/writers/html/sections/html_additionalDocumentation.rb +35 -34
  105. data/lib/adiwg/mdtranslator/writers/html/sections/html_allocation.rb +71 -0
  106. data/lib/adiwg/mdtranslator/writers/html/sections/html_associatedResource.rb +51 -51
  107. data/lib/adiwg/mdtranslator/writers/html/sections/html_attribute.rb +189 -0
  108. data/lib/adiwg/mdtranslator/writers/html/sections/html_attributeGroup.rb +51 -0
  109. data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +275 -259
  110. data/lib/adiwg/mdtranslator/writers/html/sections/html_bodyScript.js +275 -150
  111. data/lib/adiwg/mdtranslator/writers/html/sections/html_boundingBox.rb +51 -0
  112. data/lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb +142 -82
  113. data/lib/adiwg/mdtranslator/writers/html/sections/html_constraint.rb +118 -0
  114. data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +166 -94
  115. data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageInfo.rb +57 -64
  116. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataDictionary.rb +102 -96
  117. data/lib/adiwg/mdtranslator/writers/html/sections/html_date.rb +42 -0
  118. data/lib/adiwg/mdtranslator/writers/html/sections/html_datetime.rb +42 -0
  119. data/lib/adiwg/mdtranslator/writers/html/sections/html_dimension.rb +50 -52
  120. data/lib/adiwg/mdtranslator/writers/html/sections/html_distribution.rb +49 -0
  121. data/lib/adiwg/mdtranslator/writers/html/sections/html_distributor.rb +48 -44
  122. data/lib/adiwg/mdtranslator/writers/html/sections/html_document.rb +63 -0
  123. data/lib/adiwg/mdtranslator/writers/html/sections/html_domain.rb +53 -62
  124. data/lib/adiwg/mdtranslator/writers/html/sections/html_domainItem.rb +49 -0
  125. data/lib/adiwg/mdtranslator/writers/html/sections/html_duration.rb +68 -0
  126. data/lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb +99 -122
  127. data/lib/adiwg/mdtranslator/writers/html/sections/html_entityAttribute.rb +94 -100
  128. data/lib/adiwg/mdtranslator/writers/html/sections/html_entityForeignKey.rb +55 -0
  129. data/lib/adiwg/mdtranslator/writers/html/sections/html_entityIndex.rb +39 -39
  130. data/lib/adiwg/mdtranslator/writers/html/sections/html_extent.rb +53 -86
  131. data/lib/adiwg/mdtranslator/writers/html/sections/html_feature.rb +97 -0
  132. data/lib/adiwg/mdtranslator/writers/html/sections/html_featureCollection.rb +82 -0
  133. data/lib/adiwg/mdtranslator/writers/html/sections/html_featureProperties.rb +71 -0
  134. data/lib/adiwg/mdtranslator/writers/html/sections/html_format.rb +46 -34
  135. data/lib/adiwg/mdtranslator/writers/html/sections/html_funding.rb +51 -0
  136. data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicElement.rb +61 -194
  137. data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicExtent.rb +112 -0
  138. data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryCollection.rb +78 -0
  139. data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryObject.rb +46 -0
  140. data/lib/adiwg/mdtranslator/writers/html/sections/html_georectifiedRepresentation.rb +93 -0
  141. data/lib/adiwg/mdtranslator/writers/html/sections/html_georeferenceableRepresentation.rb +78 -0
  142. data/lib/adiwg/mdtranslator/writers/html/sections/html_graphic.rb +75 -0
  143. data/lib/adiwg/mdtranslator/writers/html/sections/html_gridRepresentation.rb +61 -0
  144. data/lib/adiwg/mdtranslator/writers/html/sections/html_head.rb +47 -60
  145. data/lib/adiwg/mdtranslator/writers/html/sections/html_identifier.rb +73 -0
  146. data/lib/adiwg/mdtranslator/writers/html/sections/html_imageInfo.rb +92 -110
  147. data/lib/adiwg/mdtranslator/writers/html/sections/html_inlineCss.css +16 -8
  148. data/lib/adiwg/mdtranslator/writers/html/sections/html_keyword.rb +47 -45
  149. data/lib/adiwg/mdtranslator/writers/html/sections/html_legalConstraint.rb +41 -48
  150. data/lib/adiwg/mdtranslator/writers/html/sections/html_lineage.rb +87 -0
  151. data/lib/adiwg/mdtranslator/writers/html/sections/html_locale.rb +47 -0
  152. data/lib/adiwg/mdtranslator/writers/html/sections/html_maintenance.rb +96 -0
  153. data/lib/adiwg/mdtranslator/writers/html/sections/html_measure.rb +47 -0
  154. data/lib/adiwg/mdtranslator/writers/html/sections/html_medium.rb +74 -52
  155. data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataInfo.rb +162 -131
  156. data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataRepository.rb +40 -0
  157. data/lib/adiwg/mdtranslator/writers/html/sections/html_onlineResource.rb +52 -55
  158. data/lib/adiwg/mdtranslator/writers/html/sections/html_orderProcess.rb +53 -55
  159. data/lib/adiwg/mdtranslator/writers/html/sections/html_processStep.rb +89 -57
  160. data/lib/adiwg/mdtranslator/writers/html/sections/html_releasability.rb +63 -0
  161. data/lib/adiwg/mdtranslator/writers/html/sections/html_resolution.rb +46 -38
  162. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceInfo.rb +402 -291
  163. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceType.rb +31 -0
  164. data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibility.rb +81 -0
  165. data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +60 -0
  166. data/lib/adiwg/mdtranslator/writers/html/sections/html_scopeDescription.rb +54 -0
  167. data/lib/adiwg/mdtranslator/writers/html/sections/html_securityConstraint.rb +46 -47
  168. data/lib/adiwg/mdtranslator/writers/html/sections/html_source.rb +123 -0
  169. data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReference.rb +43 -0
  170. data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialRepresentation.rb +77 -0
  171. data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomy.rb +138 -90
  172. data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomyClass.rb +63 -50
  173. data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalExtent.rb +66 -0
  174. data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInstant.rb +60 -42
  175. data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInterval.rb +40 -0
  176. data/lib/adiwg/mdtranslator/writers/html/sections/html_timePeriod.rb +88 -43
  177. data/lib/adiwg/mdtranslator/writers/html/sections/html_transferOption.rb +68 -50
  178. data/lib/adiwg/mdtranslator/writers/html/sections/html_usage.rb +118 -0
  179. data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorObject.rb +40 -0
  180. data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorRepresentation.rb +46 -0
  181. data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalExtent.rb +62 -0
  182. data/lib/adiwg/mdtranslator/writers/html/version.rb +12 -11
  183. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_address.rb +70 -75
  184. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_baseUnit.rb +3 -3
  185. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_codelist.rb +14 -13
  186. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_contact.rb +50 -34
  187. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_conventionalUnit.rb +3 -3
  188. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_definitionUnit.rb +3 -3
  189. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_derivedUnit.rb +3 -3
  190. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_fcFeatureCatalogue.rb +205 -0
  191. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureAttribute.rb +39 -38
  192. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureConstraint.rb +9 -10
  193. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureType.rb +48 -40
  194. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_listedValue.rb +22 -20
  195. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_locale.rb +69 -0
  196. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_multiplicity.rb +24 -17
  197. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_onlineResource.rb +33 -29
  198. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_phone.rb +83 -0
  199. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_responsibleParty.rb +77 -64
  200. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_unitsOfMeasure.rb +20 -20
  201. data/lib/adiwg/mdtranslator/writers/iso19110/iso19110_writer.rb +21 -32
  202. data/lib/adiwg/mdtranslator/writers/iso19110/readme.md +3 -8
  203. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_address.rb +70 -74
  204. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_aggregateInformation.rb +30 -32
  205. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_attributeGroup.rb +70 -0
  206. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_baseUnit.rb +5 -5
  207. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingBox.rb +77 -0
  208. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_browseGraphic.rb +26 -24
  209. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_citation.rb +111 -100
  210. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_codelist.rb +14 -13
  211. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contact.rb +50 -34
  212. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_conventionalUnit.rb +5 -5
  213. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_coverageDescription.rb +99 -0
  214. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataIdentification.rb +195 -270
  215. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataQuality.rb +26 -35
  216. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_date.rb +31 -38
  217. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_definitionUnit.rb +5 -5
  218. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_derivedUnit.rb +5 -5
  219. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dimension.rb +26 -23
  220. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distribution.rb +19 -16
  221. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distributor.rb +51 -66
  222. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_enumerationList.rb +12 -12
  223. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_metadataExtension.rb → class_extension.rb} +94 -67
  224. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_extent.rb +43 -59
  225. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_feature.rb +67 -0
  226. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb +56 -0
  227. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureProperties.rb +65 -0
  228. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_format.rb +48 -27
  229. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_fraction.rb +40 -0
  230. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gcoDateTime.rb +48 -0
  231. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicElement.rb +55 -26
  232. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicExtent.rb +82 -0
  233. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometricObjects.rb +56 -0
  234. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometryCollection.rb +88 -0
  235. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georectified.rb +121 -0
  236. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georeferenceable.rb +86 -0
  237. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gmlIdentifier.rb +32 -0
  238. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_grid.rb +73 -0
  239. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridRepresentation.rb +36 -0
  240. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_hierarchy.rb +58 -0
  241. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_image.rb +144 -0
  242. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_keyword.rb +41 -35
  243. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_legalConstraints.rb +46 -37
  244. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineString.rb +45 -51
  245. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineage.rb +29 -31
  246. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_locale.rb +21 -17
  247. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenance.rb +119 -0
  248. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_mdBand.rb +121 -0
  249. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_identifier.rb → class_mdIdentifier.rb} +25 -27
  250. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_measure.rb +48 -0
  251. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_medium.rb +66 -42
  252. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miBand.rb +91 -0
  253. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miMetadata.rb +352 -0
  254. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiLine.rb +82 -0
  255. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPoint.rb +82 -0
  256. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPolygon.rb +82 -0
  257. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_onlineResource.rb +33 -29
  258. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_standardOrderProcess.rb → class_orderProcess.rb} +33 -35
  259. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_phone.rb +83 -0
  260. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_point.rb +46 -51
  261. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_polygon.rb +54 -61
  262. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_processStep.rb +46 -34
  263. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeDimension.rb +73 -0
  264. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_referenceSystem.rb +24 -25
  265. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resolution.rb +32 -31
  266. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_responsibleParty.rb +75 -65
  267. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rsIdentifier.rb +86 -0
  268. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scope.rb +71 -0
  269. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scopeDescription.rb +54 -0
  270. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_securityConstraints.rb +47 -32
  271. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_series.rb +63 -0
  272. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_source.rb +58 -28
  273. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_spatialRepresentation.rb +64 -0
  274. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_taxonClassification.rb → class_taxonomicClassification.rb} +35 -38
  275. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomicSystem.rb +49 -0
  276. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomy.rb +144 -0
  277. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_temporalExtent.rb +15 -28
  278. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timeInstant.rb +42 -19
  279. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timePeriod.rb +79 -28
  280. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_transferOptions.rb +91 -0
  281. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_unitsOfMeasure.rb +22 -22
  282. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_usage.rb +70 -28
  283. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_useConstraints.rb +18 -17
  284. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vectorRepresentation.rb +59 -0
  285. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_verticalExtent.rb +39 -26
  286. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vouchers.rb +20 -20
  287. data/lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb +22 -133
  288. data/lib/adiwg/mdtranslator/writers/iso19115_2/readme.md +1 -7
  289. data/lib/adiwg/mdtranslator/writers/mdJson/mdJson_writer.rb +44 -41
  290. data/lib/adiwg/mdtranslator/writers/mdJson/readme.md +3 -9
  291. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDocumentation.rb +33 -0
  292. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_address.rb +29 -17
  293. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +32 -0
  294. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_associatedResource.rb +30 -16
  295. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attribute.rb +48 -22
  296. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attributeGroup.rb +32 -0
  297. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_boundingBox.rb +30 -0
  298. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_citation.rb +41 -26
  299. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_constraint.rb +40 -23
  300. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_contact.rb +39 -24
  301. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageDescription.rb +37 -0
  302. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_date.rb +42 -0
  303. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dateTime.rb +33 -13
  304. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +35 -25
  305. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dimension.rb +32 -0
  306. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distribution.rb +32 -0
  307. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributor.rb +34 -0
  308. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domain.rb +30 -20
  309. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domainItem.rb +29 -0
  310. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_duration.rb +33 -0
  311. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entity.rb +35 -32
  312. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityAttribute.rb +37 -0
  313. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityForeignKey.rb +29 -0
  314. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityIndex.rb +29 -0
  315. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_extent.rb +31 -21
  316. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_format.rb +26 -14
  317. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +32 -0
  318. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicExtent.rb +33 -0
  319. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georectifiedRepresentation.rb +35 -0
  320. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georeferenceableRepresentation.rb +36 -0
  321. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_graphicOverview.rb +31 -15
  322. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridRepresentation.rb +34 -0
  323. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_identifier.rb +33 -0
  324. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_imageDescription.rb +41 -0
  325. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keyword.rb +28 -14
  326. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keywordObject.rb +29 -0
  327. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +29 -0
  328. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_lineageInfo.rb +38 -0
  329. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_locale.rb +25 -14
  330. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_maintenance.rb +37 -0
  331. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_mdJson.rb +54 -0
  332. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_measure.rb +29 -0
  333. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_medium.rb +37 -0
  334. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +35 -22
  335. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadataInfo.rb +39 -29
  336. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb +27 -16
  337. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_orderProcess.rb +31 -0
  338. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_party.rb +32 -0
  339. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_phone.rb +25 -14
  340. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processStep.rb +34 -19
  341. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_releasability.rb +32 -0
  342. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_repository.rb +29 -0
  343. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb +61 -56
  344. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceType.rb +29 -0
  345. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_responsibleParty.rb +29 -13
  346. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scope.rb +34 -0
  347. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scopeDescription.rb +31 -0
  348. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_securityConstraint.rb +30 -0
  349. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_series.rb +30 -0
  350. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_source.rb +40 -0
  351. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialReference.rb +30 -0
  352. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialRepresentation.rb +34 -0
  353. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialResolution.rb +30 -0
  354. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicClassification.rb +35 -0
  355. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicSystem.rb +29 -0
  356. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomy.rb +36 -26
  357. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalExtent.rb +31 -0
  358. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInstant.rb +33 -0
  359. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInterval.rb +29 -0
  360. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timePeriod.rb +34 -15
  361. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_transferOption.rb +32 -26
  362. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_usage.rb +33 -17
  363. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorObject.rb +28 -0
  364. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorRepresentation.rb +31 -0
  365. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalExtent.rb +32 -0
  366. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_voucher.rb +29 -0
  367. data/lib/adiwg/mdtranslator/writers/mdJson/version.rb +13 -9
  368. data/lib/adiwg/mdtranslator/writers/mdWriters.rb +36 -28
  369. data/lib/adiwg/mdtranslator.rb +135 -113
  370. data/lib/adiwg/mdtranslator_cli.rb +191 -0
  371. metadata +238 -215
  372. data/lib/adiwg/mdtranslator/internal/module_geoFormat.rb +0 -219
  373. data/lib/adiwg/mdtranslator/internal/module_lineString.rb +0 -18
  374. data/lib/adiwg/mdtranslator/internal/module_point.rb +0 -18
  375. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_additionalDocumentation.rb +0 -64
  376. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_address.rb +0 -91
  377. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_associatedResource.rb +0 -100
  378. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_boundingBox.rb +0 -64
  379. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_browseGraphic.rb +0 -79
  380. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_citation.rb +0 -141
  381. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedData.rb +0 -49
  382. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedDataItem.rb +0 -53
  383. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_contacts.rb +0 -164
  384. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageInfo.rb +0 -83
  385. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageItem.rb +0 -136
  386. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataDictionary.rb +0 -65
  387. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataQuality.rb +0 -65
  388. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_descriptiveKeyword.rb +0 -77
  389. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dictionaryInfo.rb +0 -82
  390. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_digitalTransferOption.rb +0 -80
  391. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dimension.rb +0 -81
  392. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionInfo.rb +0 -89
  393. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionOrder.rb +0 -62
  394. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domain.rb +0 -96
  395. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domainItem.rb +0 -72
  396. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entity.rb +0 -131
  397. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityAttribute.rb +0 -134
  398. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityForeignKey.rb +0 -73
  399. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityIndex.rb +0 -72
  400. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_extent.rb +0 -75
  401. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoCoordSystem.rb +0 -59
  402. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoProperties.rb +0 -102
  403. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geographicElement.rb +0 -189
  404. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_gridInfo.rb +0 -67
  405. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_imageInfo.rb +0 -119
  406. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_legalConstraint.rb +0 -62
  407. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineString.rb +0 -37
  408. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineage.rb +0 -67
  409. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_locale.rb +0 -57
  410. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_mdJson.rb +0 -68
  411. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_medium.rb +0 -73
  412. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadata.rb +0 -90
  413. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataExtension.rb +0 -53
  414. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataInfo.rb +0 -152
  415. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_onlineResource.rb +0 -84
  416. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_phone.rb +0 -81
  417. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_point.rb +0 -37
  418. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_polygon.rb +0 -67
  419. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_processStep.rb +0 -88
  420. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resolution.rb +0 -59
  421. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceFormat.rb +0 -57
  422. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceIdentifier.rb +0 -85
  423. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceInfo.rb +0 -374
  424. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceMaintenance.rb +0 -63
  425. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceSpecificUsage.rb +0 -63
  426. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_responsibleParty.rb +0 -68
  427. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_securityConstraint.rb +0 -65
  428. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_sensorInfo.rb +0 -69
  429. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_source.rb +0 -65
  430. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_spatialReference.rb +0 -61
  431. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonClass.rb +0 -56
  432. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonomy.rb +0 -96
  433. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_temporalElement.rb +0 -84
  434. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timeInstant.rb +0 -58
  435. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timePeriod.rb +0 -66
  436. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_verticalElement.rb +0 -66
  437. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_voucher.rb +0 -51
  438. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/version.rb +0 -19
  439. data/lib/adiwg/mdtranslator/readers/mdJson/validator.rb +0 -43
  440. data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_validator.rb +0 -44
  441. data/lib/adiwg/mdtranslator/writers/html/md_html_writer.rb +0 -59
  442. data/lib/adiwg/mdtranslator/writers/html/sections/html_browseGraphic.rb +0 -59
  443. data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageItem.rb +0 -139
  444. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataLineage.rb +0 -68
  445. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataSource.rb +0 -67
  446. data/lib/adiwg/mdtranslator/writers/html/sections/html_dateTime.rb +0 -41
  447. data/lib/adiwg/mdtranslator/writers/html/sections/html_domainMember.rb +0 -52
  448. data/lib/adiwg/mdtranslator/writers/html/sections/html_gridInfo.rb +0 -65
  449. data/lib/adiwg/mdtranslator/writers/html/sections/html_headScript.js +0 -18
  450. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceContact.rb +0 -37
  451. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceGeneral.rb +0 -133
  452. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceId.rb +0 -77
  453. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceMaint.rb +0 -56
  454. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceOther.rb +0 -88
  455. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceUsage.rb +0 -56
  456. data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibleParty.rb +0 -39
  457. data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReferenceSystem.rb +0 -58
  458. data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalElement.rb +0 -61
  459. data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalElement.rb +0 -59
  460. data/lib/adiwg/mdtranslator/writers/iso19110/class_FCfeatureCatalogue.rb +0 -191
  461. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_telephone.rb +0 -92
  462. data/lib/adiwg/mdtranslator/writers/iso19110/version.rb +0 -14
  463. data/lib/adiwg/mdtranslator/writers/iso19115_2/class_MImetadata.rb +0 -391
  464. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_band.rb +0 -165
  465. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingPolygon.rb +0 -90
  466. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contentInfo.rb +0 -111
  467. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_digitalTransferOptions.rb +0 -92
  468. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicBoundingBox.rb +0 -89
  469. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicDescription.rb +0 -44
  470. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridInfo.rb +0 -80
  471. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_imageDescription.rb +0 -157
  472. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenanceInformation.rb +0 -80
  473. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiGeometry.rb +0 -156
  474. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeElementDescription.rb +0 -88
  475. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resourceIdentifier.rb +0 -94
  476. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonSystem.rb +0 -115
  477. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_telephone.rb +0 -92
  478. data/lib/adiwg/mdtranslator/writers/iso19115_2/version.rb +0 -17
  479. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDoc.rb +0 -19
  480. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_base.rb +0 -19
  481. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +0 -32
  482. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributionInfo.rb +0 -31
  483. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicElement.rb +0 -81
  484. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridInfo.rb +0 -27
  485. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceIdentifier.rb +0 -23
  486. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceMaintenance.rb +0 -23
  487. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialreference.rb +0 -19
  488. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxon.rb +0 -19
  489. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalElement.rb +0 -38
  490. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalElement.rb +0 -20
  491. data/test/readers/mdJson/v1/tc_reader_mdjson_additionalDocumentation.rb +0 -116
  492. data/test/readers/mdJson/v1/tc_reader_mdjson_address.rb +0 -111
  493. data/test/readers/mdJson/v1/tc_reader_mdjson_associatedResource.rb +0 -157
  494. data/test/readers/mdJson/v1/tc_reader_mdjson_browseGraphic.rb +0 -119
  495. data/test/readers/mdJson/v1/tc_reader_mdjson_citation.rb +0 -143
  496. data/test/readers/mdJson/v1/tc_reader_mdjson_contact.rb +0 -138
  497. data/test/readers/mdJson/v1/tc_reader_mdjson_dataQuality.rb +0 -111
  498. data/test/readers/mdJson/v1/tc_reader_mdjson_dateTime.rb +0 -159
  499. data/test/readers/mdJson/v1/tc_reader_mdjson_descriptiveKeyword.rb +0 -115
  500. data/test/readers/mdJson/v1/tc_reader_mdjson_dictionaryInfo.rb +0 -121
  501. data/test/readers/mdJson/v1/tc_reader_mdjson_digitalTransferOption.rb +0 -94
  502. data/test/readers/mdJson/v1/tc_reader_mdjson_distributionOrder.rb +0 -103
  503. data/test/readers/mdJson/v1/tc_reader_mdjson_domain.rb +0 -130
  504. data/test/readers/mdJson/v1/tc_reader_mdjson_domainItem.rb +0 -98
  505. data/test/readers/mdJson/v1/tc_reader_mdjson_entity.rb +0 -134
  506. data/test/readers/mdJson/v1/tc_reader_mdjson_entityAttribute.rb +0 -154
  507. data/test/readers/mdJson/v1/tc_reader_mdjson_entityForeignKey.rb +0 -100
  508. data/test/readers/mdJson/v1/tc_reader_mdjson_entityIndex.rb +0 -99
  509. data/test/readers/mdJson/v1/tc_reader_mdjson_legalConstraint.rb +0 -104
  510. data/test/readers/mdJson/v1/tc_reader_mdjson_lineage.rb +0 -117
  511. data/test/readers/mdJson/v1/tc_reader_mdjson_medium.rb +0 -98
  512. data/test/readers/mdJson/v1/tc_reader_mdjson_metadataInfo.rb +0 -141
  513. data/test/readers/mdJson/v1/tc_reader_mdjson_onlineResource.rb +0 -110
  514. data/test/readers/mdJson/v1/tc_reader_mdjson_phone.rb +0 -112
  515. data/test/readers/mdJson/v1/tc_reader_mdjson_processStep.rb +0 -118
  516. data/test/readers/mdJson/v1/tc_reader_mdjson_resolution.rb +0 -77
  517. data/test/readers/mdJson/v1/tc_reader_mdjson_source.rb +0 -117
  518. data/test/readers/mdJson/v1/tc_reader_mdjson_translation.rb +0 -85
  519. data/test/readers/mdJson/v1/tc_translation_19110.rb +0 -58
  520. data/test/readers/sbJson/v0/tc_reader_sbjson_translation.rb +0 -81
  521. data/test/readers/sbJson/v0/test.json +0 -431
  522. data/test/readers/sbJson/v0/test1.json +0 -383
  523. data/test/writers/iso19115_2/tc_writer_iso19115_2_address.rb +0 -229
  524. data/test/writers/mdJson/v1/tc_writer_mdJson.rb +0 -62
  525. data/test/writers/sbJson/v0/tc_writer_sbJson.rb +0 -62
@@ -1,6 +1,65 @@
1
1
  # ADIwg ISO Translator internal data structure
2
2
 
3
3
  # History:
4
+ # version 2
5
+ # Stan Smith 2017-04-22 removed 'intObj = ' from new object definitions
6
+ # Stan Smith 2017-02-15 added newResourceType
7
+ # Stan Smith 2017-02-09 added newMetadataRepository
8
+ # Stan Smith 2017-01-20 refactored newDataDictionary
9
+ # Stan Smith 2016-11-10 added computedBbox to newGeographicExtent, newGeometryCollection
10
+ # Stan Smith 2016-11-10 added computedBbox to newGeometryFeature, newFeatureCollection
11
+ # Stan Smith 2016-11-02 added newSchema
12
+ # Stan Smith 2016-10-30 added newAllocation, newFunding
13
+ # Stan Smith 2016-10-25 added newFeatureCollection
14
+ # Stan Smith 2016-10-25 added newGeoJson
15
+ # Stan Smith 2016-10-25 added newGeometryCollection
16
+ # Stan Smith 2016-10-25 added newGeometryFeature
17
+ # Stan Smith 2016-10-25 added newGeometryObject
18
+ # Stan Smith 2016-10-25 added newGeometryProperties
19
+ # Stan Smith 2016-10-23 renamed newResourceMaint to newMaintenance
20
+ # Stan Smith 2016-10-21 added newDistribution
21
+ # Stan Smith 2016-10-21 renamed newDistOrder to newOrderProcess
22
+ # Stan Smith 2016-10-21 renamed newDigitalTransOption to newTransferOption
23
+ # Stan Smith 2016-10-20 deleted newDictionaryInfo, move element to newDataDictionary
24
+ # Stan Smith 2016-10-19 added newSpatialRepresentation
25
+ # Stan Smith 2016-10-19 added newGeorectifiedInfo
26
+ # Stan Smith 2016-10-19 added newVectorInfo, newVectorObject
27
+ # Stan Smith 2016-10-18 deleted newCoverageInfo, newCoverageItem
28
+ # Stan Smith 2016-10-18 added newAttributeGroup
29
+ # Stan Smith 2016-10-18 deleted newClassedData, newClassedDataItem
30
+ # Stan Smith 2016-10-17 added elements to newLineage
31
+ # Stan Smith 2016-10-17 added elements to newDataSource
32
+ # Stan Smith 2016-10-16 removed newResolution
33
+ # Stan Smith 2016-10-16 added newMeasure
34
+ # Stan Smith 2016-10-16 added newSpatialResolution
35
+ # Stan Smith 2016-10-15 renamed newDataProcess Step to newProcessStep
36
+ # Stan Smith 2016-10-15 added newConstraints object
37
+ # Stan Smith 2016-10-15 added constraint object to newSecurityConstraint
38
+ # Stan Smith 2016-10-15 added constraint object to newLegalConstraint
39
+ # Stan Smith 2016-10-15 added newConstraint object
40
+ # Stan Smith 2016-10-15 added newRelease object
41
+ # Stan Smith 2016-10-14 added newScope object
42
+ # Stan Smith 2016-10-14 added newTimeInterval object
43
+ # Stan Smith 2016-10-13 added newScopeDescription object
44
+ # Stan Smith 2016-10-13 added attributes to newCitation for mdJson 2.0
45
+ # Stan Smith 2016-10-13 renamed newResourceId to newIdentifier, dropped identifierType
46
+ # Stan Smith 2016-10-12 renamed newBrowseGraphic to newGraphic, added graphicConstraint []
47
+ # Stan Smith 2016-10-12 added newSeries object
48
+ # Stan Smith 2016-10-12 added newDate object
49
+ # Stan Smith 2016-10-11 renamed newDataUsage to newResourceUsage
50
+ # Stan Smith 2016-10-09 add newParty
51
+ # Stan Smith 2016-10-08 removed dateType from dateTime object
52
+ # Stan Smith 2016-10-01 made phone service types an array
53
+ # Stan Smith 2016-10-03 added duration object
54
+
55
+ # version 1
56
+ # Stan Smith 2015-07-23 added gridInfo, gridDimension for 1.3.0
57
+ # Stan Smith 2015-07-28 added locale for 1.3.0
58
+ # Stan Smith 2015-08-19 added coverageInfo, imageInfo, sensorInfo, coverageItem,
59
+ # ... classifiedData, and classedDataItem for 1.3.0
60
+ # Stan Smith 2015-09-18 extended distributionInfo sections for 1.3.0
61
+
62
+ # version 0
4
63
  # Stan Smith 2013-08-09 original script
5
64
  # Stan Smith 2013-08-10 adding methods as needed
6
65
  # Stan Smith 2013-09-19 added keywords
@@ -48,110 +107,135 @@
48
107
  # Stan Smith 2014-12-01 added data dictionary
49
108
  # Stan Smith 2015-02-17 add entity and attribute alias
50
109
  # Stan Smith 2015-02-17 added support for multiple data dictionaries
51
- # Stan Smith 2015-07-23 added gridInfo, gridDimension for 1.3.0
52
- # Stan Smith 2015-07-28 added locale for 1.3.0
53
- # Stan Smith 2015-08-19 added coverageInfo, imageInfo, sensorInfo, coverageItem,
54
- # ... classifiedData, and classedDataItem for 1.3.0
55
- # Stan Smith 2015-09-18 extended distributionInfo sections for 1.3.0
56
110
 
57
111
  class InternalMetadata
58
112
 
59
- # initialize attribute values - nil
60
- # initialize arrays - []
61
- # initialize hashes - {}
113
+ # initialize Boolean - false
114
+ # initialize scalar - nil
115
+ # initialize hash - {}
116
+ # initialize array - []
62
117
 
63
118
  def initialize
64
119
  end
65
120
 
66
121
  def newBase
67
- intObj = {
68
- schema: {
69
- name: nil,
70
- version: nil
71
- },
122
+ {
123
+ schema: {},
72
124
  contacts: [],
73
125
  metadata: {},
74
- dataDictionary: []
126
+ dataDictionaries: [],
127
+ metadataRepositories: []
128
+ }
129
+ end
130
+
131
+ def newSchema
132
+ {
133
+ name: nil,
134
+ version: nil
135
+ }
136
+ end
137
+
138
+ def newDate
139
+ {
140
+ date: nil,
141
+ dateResolution: nil,
142
+ dateType: nil,
143
+ description: nil
75
144
  }
76
145
  end
77
146
 
78
147
  def newDateTime
79
- intObj = {
148
+ {
80
149
  dateTime: nil,
81
- dateType: nil,
82
150
  dateResolution: nil
83
151
  }
84
152
  end
85
153
 
86
154
  def newContact
87
- intObj = {
155
+ {
88
156
  contactId: nil,
89
- indName: nil,
90
- orgName: nil,
91
- position: nil,
157
+ isOrganization: false,
158
+ name: nil,
159
+ positionName: nil,
160
+ memberOfOrgs: [],
161
+ logos: [],
92
162
  phones: [],
93
- address: {},
94
- onlineRes: [],
163
+ addresses: [],
164
+ eMailList: [],
165
+ onlineResources: [],
166
+ hoursOfService: [],
95
167
  contactInstructions: nil,
96
- internal: false,
97
- primaryRole: nil
168
+ contactType: nil
98
169
  }
99
170
  end
100
171
 
101
172
  def newPhone
102
- intObj = {
103
- phoneServiceType: nil,
173
+ {
104
174
  phoneName: nil,
105
- phoneNumber: nil
175
+ phoneNumber: nil,
176
+ phoneServiceTypes: []
106
177
  }
107
178
  end
108
179
 
109
180
  def newAddress
110
- intObj = {
181
+ {
182
+ addressTypes: [],
183
+ description: nil,
111
184
  deliveryPoints: [],
112
185
  city: nil,
113
186
  adminArea: nil,
114
187
  postalCode: nil,
115
- country: nil,
116
- eMailList: []
188
+ country: nil
117
189
  }
118
190
  end
119
191
 
120
192
  def newMetadata
121
- intObj = {
193
+ {
122
194
  metadataInfo: {},
123
195
  resourceInfo: {},
196
+ lineageInfo: [],
124
197
  distributorInfo: [],
125
198
  associatedResources: [],
126
- additionalDocuments: []
199
+ additionalDocuments: [],
200
+ funding: []
127
201
  }
128
202
  end
129
203
 
130
204
  def newMetadataInfo
131
- intObj = {
132
- metadataId: {},
205
+ {
206
+ metadataIdentifier: {},
133
207
  parentMetadata: {},
134
- metadataCustodians: [],
135
- metadataCreateDate: {},
136
- metadataUpdateDate: {},
137
- metadataCharacterSet: nil,
138
- metadataLocales: [],
139
- metadataURI: nil,
208
+ defaultMetadataLocale: {},
209
+ otherMetadataLocales: [],
210
+ metadataContacts: [],
211
+ metadataDates: [],
212
+ metadataLinkages: [],
213
+ metadataMaintenance: {},
214
+ alternateMetadataReferences: [],
140
215
  metadataStatus: nil,
141
- maintInfo: {},
142
216
  extensions: []
143
217
  }
144
218
  end
145
219
 
146
- def newRespParty
147
- intObj = {
220
+ def newResponsibility
221
+ {
222
+ roleName: nil,
223
+ roleExtents: [],
224
+ parties: []
225
+ }
226
+ end
227
+
228
+ def newParty
229
+ {
148
230
  contactId: nil,
149
- roleName: nil
231
+ contactIndex: nil,
232
+ contactType: nil,
233
+ organizationMembers: []
150
234
  }
151
235
  end
152
236
 
153
237
  def newOnlineResource
154
- intObj = {
238
+ {
155
239
  olResURI: nil,
156
240
  olResProtocol: nil,
157
241
  olResName: nil,
@@ -161,94 +245,109 @@ class InternalMetadata
161
245
  end
162
246
 
163
247
  def newResourceInfo
164
- intObj = {
165
- resourceType: nil,
248
+ {
249
+ resourceTypes: [],
166
250
  citation: {},
167
- timePeriod: {},
168
251
  abstract: nil,
169
252
  shortAbstract: nil,
170
- hasMapLocation?: nil,
171
- hasDataAvailable?: nil,
172
253
  purpose: nil,
173
254
  credits: [],
174
- status: nil,
175
- pointsOfContact: [],
176
- resourceMaint: [],
177
- graphicOverview: [],
178
- resourceFormats: [],
179
- resourceLanguages: [],
180
- resourceCharacterSets: [],
181
- resourceLocales: [],
182
- descriptiveKeywords: [],
183
- resourceUses: [],
184
- useConstraints: [],
185
- legalConstraints: [],
186
- securityConstraints: [],
187
- taxonomy: {},
188
- spatialReferenceSystem: {},
255
+ timePeriod: {},
256
+ status: [],
257
+ topicCategories: [],
258
+ pointOfContacts: [],
259
+ spatialReferenceSystems: [],
189
260
  spatialRepresentationTypes: [],
261
+ spatialRepresentations: [],
190
262
  spatialResolutions: [],
191
- topicCategories: [],
192
- environmentDescription: nil,
263
+ temporalResolutions: [],
193
264
  extents: [],
194
- gridInfo: [],
195
- coverageInfo: [],
196
- dataQualityInfo: [],
265
+ coverageDescriptions: [],
266
+ taxonomy: {},
267
+ graphicOverviews: [],
268
+ resourceFormats: [],
269
+ keywords: [],
270
+ resourceUsages: [],
271
+ constraints: [],
272
+ defaultResourceLocale: {},
273
+ otherResourceLocales: [],
274
+ resourceMaintenance: [],
275
+ environmentDescription: nil,
197
276
  supplementalInfo: nil
198
277
  }
199
278
  end
200
279
 
201
280
  def newCitation
202
- intObj = {
203
- citTitle: nil,
204
- citAltTitle: nil,
205
- citDate: [],
206
- citEdition: nil,
207
- citResourceIds: [],
208
- citResponsibleParty: [],
209
- citResourceForms: [],
210
- citOlResources: []
281
+ {
282
+ title: nil,
283
+ alternateTitles: [],
284
+ dates: [],
285
+ edition: nil,
286
+ responsibleParties: [],
287
+ presentationForms: [],
288
+ identifiers: [],
289
+ series: {},
290
+ otherDetails: [],
291
+ onlineResources: [],
292
+ browseGraphics: []
293
+ }
294
+ end
295
+
296
+
297
+ def newIdentifier
298
+ # handles MD_Identifier (ISO 19115-2 & -1)
299
+ # handles RS_ Identifier (ISO 19115-2)
300
+ # handles gmlIdentifier
301
+ {
302
+ identifier: nil,
303
+ namespace: nil,
304
+ version: nil,
305
+ description: nil,
306
+ citation: {}
211
307
  }
212
308
  end
213
309
 
214
- def newResourceId
215
- # handles both MD_Identifier and RS_Identifier
216
- intObj = {
217
- identifier: nil,
218
- identifierType: nil,
219
- identifierNamespace: nil,
220
- identifierVersion: nil,
221
- identifierDescription: nil,
222
- identifierCitation: {}
310
+ def newMaintenance
311
+ {
312
+ frequency: nil,
313
+ dates: [],
314
+ scopes: [],
315
+ notes: [],
316
+ contacts: []
223
317
  }
224
318
  end
225
319
 
226
- def newResourceFormat
227
- intObj = {
228
- formatName: nil,
229
- formatVersion: nil,
230
- compressionMethod: nil
320
+ def newKeyword
321
+ {
322
+ keywords: [],
323
+ keywordType: nil,
324
+ thesaurus: {}
231
325
  }
232
326
  end
233
327
 
234
- def newResourceMaint
235
- intObj = {
236
- maintFreq: nil,
237
- maintNotes: [],
238
- maintContacts: []
328
+ def newKeywordObject
329
+ {
330
+ keyword: nil,
331
+ keywordId: nil
239
332
  }
240
333
  end
241
334
 
242
- def newKeyword
243
- intObj = {
244
- keyword: [],
245
- keywordType: nil,
246
- keyTheCitation: {}
335
+ def newConstraint
336
+ {
337
+ type: nil,
338
+ useLimitation: [],
339
+ scope: {},
340
+ graphic: [],
341
+ reference: [],
342
+ releasability: {},
343
+ responsibleParty: [],
344
+ legalConstraint: {},
345
+ securityConstraint: {}
247
346
  }
248
347
  end
249
348
 
250
349
  def newLegalConstraint
251
- intObj = {
350
+ {
252
351
  accessCodes: [],
253
352
  useCodes: [],
254
353
  otherCons: []
@@ -256,290 +355,380 @@ class InternalMetadata
256
355
  end
257
356
 
258
357
  def newSecurityConstraint
259
- intObj = {
358
+ {
260
359
  classCode: nil,
261
360
  userNote: nil,
262
361
  classSystem: nil,
263
- handlingDesc: nil
362
+ handling: nil
363
+ }
364
+ end
365
+
366
+ def newRelease
367
+ {
368
+ addressee: [],
369
+ statement: nil,
370
+ disseminationConstraint: []
371
+ }
372
+ end
373
+
374
+ def newDistribution
375
+ {
376
+ description: nil,
377
+ distributor: []
264
378
  }
265
379
  end
266
380
 
267
381
  def newDistributor
268
- intObj = {
269
- distContact: {},
270
- distOrderProcs: [],
271
- distFormats: [],
272
- distTransOptions: []
382
+ {
383
+ contact: {},
384
+ orderProcess: [],
385
+ transferOptions: []
273
386
  }
274
387
  end
275
388
 
276
- def newDistOrder
277
- intObj = {
389
+ def newOrderProcess
390
+ {
278
391
  fees: nil,
279
- plannedDateTime: {},
280
- orderInstructions: nil,
392
+ plannedAvailability: {},
393
+ orderingInstructions: nil,
281
394
  turnaround: nil
282
395
  }
283
396
  end
284
397
 
285
- def newDigitalTransOption
286
- intObj = {
287
- distFormats: [],
398
+ def newTransferOption
399
+ {
400
+ unitsOfDistribution: nil,
288
401
  transferSize: nil,
289
- transferSizeUnits: nil,
290
- online: [],
291
- offline: {}
402
+ onlineOptions: [],
403
+ offlineOptions: [],
404
+ transferFrequency: {},
405
+ distributionFormats: []
292
406
  }
293
407
  end
294
408
 
295
409
  def newMedium
296
- intObj = {
297
- mediumType: nil,
298
- mediumCapacity: nil,
299
- mediumCapacityUnits: nil,
300
- mediumFormat: nil,
301
- mediumNote: nil
410
+ {
411
+ mediumSpecification: {},
412
+ density: nil,
413
+ units: nil,
414
+ numberOfVolumes: nil,
415
+ mediumFormat: [],
416
+ note: nil,
417
+ identifier: {}
418
+ }
419
+ end
420
+
421
+ def newResourceFormat
422
+ {
423
+ formatSpecification: {},
424
+ amendmentNumber: nil,
425
+ compressionMethod: nil
302
426
  }
303
427
  end
304
428
 
305
- def newBrowseGraphic
306
- intObj = {
307
- bGName: nil,
308
- bGDescription: nil,
309
- bGType: nil,
310
- bGURI: nil
429
+ def newGraphic
430
+ {
431
+ graphicName: nil,
432
+ graphicDescription: nil,
433
+ graphicType: nil,
434
+ graphicConstraints: [],
435
+ graphicURI: []
311
436
  }
312
437
  end
313
438
 
314
439
  def newSpatialReferenceSystem
315
- intObj = {
316
- sRNames: [],
317
- sREPSGs: [],
318
- sRWKTs: []
440
+ {
441
+ systemType: nil,
442
+ systemIdentifier: {}
319
443
  }
320
444
  end
321
445
 
322
- def newExtent
323
- intObj = {
324
- extDesc: nil,
325
- extGeoElements: [],
326
- extIdElements: [],
327
- extTempElements: [],
328
- extVertElements: []
446
+ def newSpatialResolution
447
+ {
448
+ scaleFactor: nil,
449
+ measure: {},
450
+ levelOfDetail: nil
329
451
  }
330
452
  end
331
453
 
332
- def newGeoElement
333
- intObj = {
334
- elementId: nil,
335
- elementType: nil,
336
- elementIncludeData: nil,
337
- elementName: nil,
338
- elementDescription: nil,
339
- temporalElements: [],
340
- verticalElements: [],
341
- elementIdentifiers: [],
342
- elementScope: nil,
343
- elementAcquisition: nil,
344
- elementSrs: {},
345
- elementGeometry: {}
454
+ def newMeasure
455
+ {
456
+ type: nil,
457
+ value: nil,
458
+ unitOfMeasure: nil
346
459
  }
347
460
  end
348
461
 
349
- def newSRS
350
- intObj = {
351
- srsName: nil,
352
- srsHref: nil,
353
- srsType: nil
462
+ def newExtent
463
+ {
464
+ description: nil,
465
+ geographicExtents: [],
466
+ temporalExtents: [],
467
+ verticalExtents: []
354
468
  }
355
469
  end
356
470
 
357
- def newGeometry
358
- intObj = {
359
- geoType: nil,
360
- geometry: {},
361
- dimension: nil
471
+ def newGeographicExtent
472
+ {
473
+ containsData: true,
474
+ identifier: {},
475
+ boundingBox: {},
476
+ geographicElements: [],
477
+ nativeGeoJson: [],
478
+ computedBbox: {}
362
479
  }
363
480
  end
364
481
 
365
482
  def newBoundingBox
366
- intObj = {
367
- westLong: nil,
368
- eastLong: nil,
369
- southLat: nil,
370
- northLat: nil
483
+ {
484
+ westLongitude: nil,
485
+ eastLongitude: nil,
486
+ southLatitude: nil,
487
+ northLatitude: nil
488
+ }
489
+ end
490
+
491
+ def newGeometryObject
492
+ {
493
+ type: nil,
494
+ coordinates: [],
495
+ nativeGeoJson: {}
496
+ }
497
+ end
498
+
499
+ def newGeometryCollection
500
+ {
501
+ type: nil,
502
+ bbox: [],
503
+ geometryObjects: [],
504
+ computedBbox: [],
505
+ nativeGeoJson: {}
506
+ }
507
+ end
508
+
509
+ def newGeometryProperties
510
+ {
511
+ featureNames: [],
512
+ description: nil,
513
+ identifiers: [],
514
+ featureScope: nil,
515
+ acquisitionMethod: nil
371
516
  }
372
517
  end
373
518
 
374
- def newPolygonSet
375
- intObj = {
376
- exteriorRing: {},
377
- exclusionRings: []
519
+ def newGeometryFeature
520
+ {
521
+ type: nil,
522
+ id: nil,
523
+ bbox: [],
524
+ geometryObject: {},
525
+ properties: {},
526
+ computedBbox: [],
527
+ nativeGeoJson: {}
378
528
  }
379
529
  end
380
530
 
381
- def newTemporalElement
382
- intObj = {
383
- date: {},
531
+ def newFeatureCollection
532
+ {
533
+ type: nil,
534
+ bbox: [],
535
+ features: [],
536
+ computedBbox: [],
537
+ nativeGeoJson: {}
538
+ }
539
+ end
540
+
541
+ def newTemporalExtent
542
+ {
384
543
  timeInstant: {},
385
544
  timePeriod: {}
386
545
  }
387
546
  end
388
547
 
389
548
  def newTimeInstant
390
- intObj = {
549
+ {
391
550
  timeId: nil,
392
551
  description: nil,
393
- timePosition: {}
552
+ identifier: {},
553
+ instantNames: [],
554
+ timeInstant: {}
394
555
  }
395
556
  end
396
557
 
397
558
  def newTimePeriod
398
- intObj = {
559
+ {
399
560
  timeId: nil,
400
561
  description: nil,
401
- beginTime: {},
402
- endTime: {}
562
+ identifier: {},
563
+ periodNames: [],
564
+ startDateTime: {},
565
+ endDateTime: {},
566
+ timeInterval: {},
567
+ duration: {}
403
568
  }
404
569
  end
405
570
 
406
- def newVerticalElement
407
- intObj = {
571
+ def newDuration
572
+ {
573
+ years: nil,
574
+ months: nil,
575
+ days: nil,
576
+ hours: nil,
577
+ minutes: nil,
578
+ seconds: nil
579
+ }
580
+ end
581
+
582
+ def newTimeInterval
583
+ {
584
+ interval: nil,
585
+ units: nil
586
+ }
587
+ end
588
+
589
+ def newVerticalExtent
590
+ {
591
+ description: nil,
408
592
  minValue: nil,
409
593
  maxValue: nil,
410
- crsURI: nil,
411
- crsTitle: nil
594
+ crsId: {}
412
595
  }
413
596
  end
414
597
 
415
- def newDataUsage
416
- intObj = {
598
+ def newResourceUsage
599
+ {
417
600
  specificUsage: nil,
418
- userLimits: nil,
601
+ temporalExtents: [],
602
+ userLimitation: nil,
603
+ limitationResponses: [],
604
+ identifiedIssue: {},
605
+ additionalDocumentation: [],
419
606
  userContacts: []
420
607
  }
421
608
  end
422
609
 
610
+ def newTaxonomy
611
+ {
612
+ taxonSystem: [],
613
+ generalScope: nil,
614
+ idReferences: [],
615
+ observers: [],
616
+ idProcedure: nil,
617
+ idCompleteness: nil,
618
+ vouchers: [],
619
+ taxonClass: {}
620
+ }
621
+ end
622
+
423
623
  def newTaxonSystem
424
- intObj = {
425
- taxClassSys: [],
426
- taxGeneralScope: nil,
427
- taxObservers: [],
428
- taxIdProcedures: nil,
429
- taxVoucher: {},
430
- taxClasses: []
624
+ {
625
+ citation: {},
626
+ modifications: nil
431
627
  }
432
628
  end
433
629
 
434
630
  def newTaxonVoucher
435
- intObj = {
631
+ {
436
632
  specimen: nil,
437
633
  repository: {}
438
634
  }
439
635
  end
440
636
 
441
637
  def newTaxonClass
442
- intObj = {
443
- commonName: nil,
444
- taxRankName: nil,
445
- taxRankValue: nil
446
- }
447
- end
448
-
449
- def newResolution
450
- intObj = {
451
- equivalentScale: nil,
452
- distance: nil,
453
- distanceUOM: nil
454
- }
455
- end
456
-
457
- def newDataQuality
458
- intObj = {
459
- dataScope: nil,
460
- dataLineage: {}
638
+ {
639
+ taxonId: nil,
640
+ taxonRank: nil,
641
+ taxonValue: nil,
642
+ commonNames: [],
643
+ subClasses: []
461
644
  }
462
645
  end
463
646
 
464
647
  def newLineage
465
- intObj = {
648
+ {
466
649
  statement: nil,
467
- processSteps: [],
468
- dataSources: []
650
+ resourceScope: {},
651
+ lineageCitation: [],
652
+ dataSources: [],
653
+ processSteps: []
469
654
  }
470
655
  end
471
656
 
472
- def newDataProcessStep
473
- intObj = {
657
+ def newProcessStep
658
+ {
474
659
  stepId: nil,
475
- stepDescription: nil,
476
- stepRationale: nil,
477
- stepDateTime: {},
478
- stepProcessors: []
660
+ description: nil,
661
+ rationale: nil,
662
+ timePeriod: {},
663
+ processors: [],
664
+ references: [],
665
+ scope: {}
479
666
  }
480
667
  end
481
668
 
482
669
  def newDataSource
483
- intObj = {
484
- sourceDescription: nil,
670
+ {
671
+ description: nil,
485
672
  sourceCitation: {},
486
- sourceSteps: []
673
+ metadataCitation: [],
674
+ spatialResolution: {},
675
+ referenceSystem: {},
676
+ sourceSteps: [],
677
+ scope: {}
487
678
  }
488
679
  end
489
680
 
490
681
  def newMetadataExtension
491
- intObj = {
682
+ {
492
683
  onLineResource: {},
493
- extName: nil,
494
- extShortName: nil,
495
- extDefinition: nil,
684
+ name: nil,
685
+ shortName: nil,
686
+ definition: nil,
496
687
  obligation: nil,
497
688
  dataType: nil,
498
689
  maxOccurrence: nil,
499
690
  parentEntities: [],
500
691
  rule: nil,
501
692
  rationales: [],
502
- extSources: []
693
+ sourceOrganization: nil,
694
+ sourceURI: nil,
695
+ sourceRole: nil
503
696
  }
504
697
  end
505
698
 
506
699
  def newAssociatedResource
507
- intObj = {
700
+ {
701
+ resourceTypes: [],
508
702
  associationType: nil,
509
703
  initiativeType: nil,
510
- resourceType: nil,
511
704
  resourceCitation: {},
512
705
  metadataCitation: {}
513
706
  }
514
707
  end
515
708
 
516
709
  def newAdditionalDocumentation
517
- intObj = {
518
- resourceType: nil,
519
- citation: {}
710
+ {
711
+ resourceTypes: [],
712
+ citation: []
520
713
  }
521
714
  end
522
715
 
523
716
  def newDataDictionary
524
- intObj = {
525
- dictionaryInfo: {},
717
+ {
718
+ citation: {},
719
+ subjects: [],
720
+ recommendedUses: [],
721
+ locales: [],
722
+ responsibleParty: {},
723
+ dictionaryFormat: nil,
724
+ includedWithDataset: false,
526
725
  domains: [],
527
726
  entities: []
528
727
  }
529
728
  end
530
729
 
531
- def newDictionaryInfo
532
- intObj = {
533
- dictCitation: {},
534
- dictDescription: nil,
535
- dictResourceType: nil,
536
- dictLanguage: nil,
537
- includedWithDataset: nil
538
- }
539
- end
540
-
541
730
  def newDictionaryDomain
542
- intObj = {
731
+ {
543
732
  domainId: nil,
544
733
  domainName: nil,
545
734
  domainCode: nil,
@@ -549,7 +738,7 @@ class InternalMetadata
549
738
  end
550
739
 
551
740
  def newDomainItem
552
- intObj = {
741
+ {
553
742
  itemName: nil,
554
743
  itemValue: nil,
555
744
  itemDefinition: nil
@@ -557,7 +746,7 @@ class InternalMetadata
557
746
  end
558
747
 
559
748
  def newEntity
560
- intObj = {
749
+ {
561
750
  entityId: nil,
562
751
  entityName: nil,
563
752
  entityCode: nil,
@@ -571,7 +760,7 @@ class InternalMetadata
571
760
  end
572
761
 
573
762
  def newEntityIndex
574
- intObj = {
763
+ {
575
764
  indexCode: nil,
576
765
  duplicate: false,
577
766
  attributeNames: []
@@ -579,13 +768,14 @@ class InternalMetadata
579
768
  end
580
769
 
581
770
  def newEntityAttribute
582
- intObj = {
771
+ {
583
772
  attributeName: nil,
584
773
  attributeCode: nil,
585
774
  attributeAlias: [],
586
775
  attributeDefinition: nil,
587
776
  dataType: nil,
588
- allowNull: true,
777
+ allowNull: false,
778
+ allowMany: false,
589
779
  unitOfMeasure: nil,
590
780
  domainId: nil,
591
781
  minValue: nil,
@@ -594,108 +784,202 @@ class InternalMetadata
594
784
  end
595
785
 
596
786
  def newEntityForeignKey
597
- intObj = {
787
+ {
598
788
  fkLocalAttributes: [],
599
789
  fkReferencedEntity: nil,
600
790
  fkReferencedAttributes: []
601
791
  }
602
792
  end
603
793
 
794
+ def newSpatialRepresentation
795
+ {
796
+ gridRepresentation: {},
797
+ vectorRepresentation: {},
798
+ georectifiedRepresentation: {},
799
+ georeferenceableRepresentation: {}
800
+ }
801
+ end
802
+
604
803
  def newGridInfo
605
- intObj = {
606
- dimensions: nil,
607
- dimensionInfo: [],
608
- dimensionGeometry: nil,
609
- dimensionTransformParams: false
804
+ {
805
+ numberOfDimensions: nil,
806
+ dimension: [],
807
+ cellGeometry: nil,
808
+ transformationParameterAvailable: false
610
809
  }
611
810
  end
612
811
 
613
- def newDimensionInfo
614
- intObj = {
812
+ def newDimension
813
+ {
615
814
  dimensionType: nil,
616
815
  dimensionTitle: nil,
617
816
  dimensionDescription: nil,
618
817
  dimensionSize: nil,
619
- resolution: nil,
620
- resolutionUnits: nil
818
+ resolution: {}
819
+ }
820
+ end
821
+
822
+ def newVectorInfo
823
+ {
824
+ topologyLevel: nil,
825
+ vectorObject: []
826
+ }
827
+ end
828
+
829
+ def newVectorObject
830
+ {
831
+ objectType: nil,
832
+ objectCount: nil
833
+ }
834
+ end
835
+
836
+ def newGeorectifiedInfo
837
+ {
838
+ gridRepresentation: {},
839
+ checkPointAvailable: false,
840
+ checkPointDescription: nil,
841
+ cornerPoints: [],
842
+ centerPoint: [],
843
+ pointInPixel: nil,
844
+ transformationDimensionDescription: nil,
845
+ transformationDimensionMapping: nil
846
+ }
847
+ end
848
+
849
+ def newGeoreferenceableInfo
850
+ {
851
+ gridRepresentation: {},
852
+ controlPointAvailable: false,
853
+ orientationParameterAvailable: false,
854
+ orientationParameterDescription: nil,
855
+ georeferencedParameter: nil,
856
+ parameterCitation: []
621
857
  }
622
858
  end
623
859
 
624
- def newCoverageInfo
625
- intObj = {
626
- coverageType: nil,
860
+ def newCoverageDescription
861
+ {
627
862
  coverageName: nil,
628
863
  coverageDescription: nil,
629
- processingLevel: {},
630
- coverageItems: [],
631
- imageInfo: {}
864
+ processingLevelCode: {},
865
+ attributeGroups: [],
866
+ imageDescription: {}
632
867
  }
633
868
  end
634
869
 
635
- def newCoverageItem
636
- intObj = {
637
- itemName: nil,
638
- itemType: nil,
639
- itemDescription: nil,
870
+ def newAttributeGroup
871
+ {
872
+ attributeContentTypes: [],
873
+ attributes: []
874
+ }
875
+ end
876
+
877
+ def newAttribute
878
+ {
879
+ sequenceIdentifier: nil,
880
+ sequenceIdentifierType: nil,
881
+ attributeDescription: nil,
882
+ attributeIdentifiers: [],
640
883
  minValue: nil,
641
884
  maxValue: nil,
642
885
  units: nil,
643
886
  scaleFactor: nil,
644
887
  offset: nil,
645
888
  meanValue: nil,
889
+ numberOfValues: nil,
646
890
  standardDeviation: nil,
647
891
  bitsPerValue: nil,
648
- classedData: {},
649
- sensorInfo: {}
892
+ boundMin: nil,
893
+ boundMax: nil,
894
+ boundUnits: nil,
895
+ peakResponse: nil,
896
+ toneGradations: nil,
897
+ bandBoundaryDefinition: nil,
898
+ nominalSpatialResolution: nil,
899
+ transferFunctionType: nil,
900
+ transmittedPolarization: nil,
901
+ detectedPolarization: nil
650
902
  }
651
903
  end
652
904
 
653
- def newClassedData
654
- intObj = {
655
- numberOfClasses: nil,
656
- classedDataItems: []
905
+ def newImageDescription
906
+ {
907
+ illuminationElevationAngle: nil,
908
+ illuminationAzimuthAngle: nil,
909
+ imagingCondition: nil,
910
+ imageQualityCode: {},
911
+ cloudCoverPercent: nil,
912
+ compressionQuantity: nil,
913
+ triangulationIndicator: false,
914
+ radiometricCalibrationAvailable: false,
915
+ cameraCalibrationAvailable: false,
916
+ filmDistortionAvailable: false,
917
+ lensDistortionAvailable: false
657
918
  }
658
919
  end
659
920
 
660
- def newClassedDataItem
661
- intObj = {
662
- className: nil,
663
- classDescription: nil,
664
- classValue: nil
921
+ def newLocale
922
+ {
923
+ languageCode: nil,
924
+ countryCode: nil,
925
+ characterEncoding: nil
665
926
  }
666
927
  end
667
928
 
668
- def newImageInfo
669
- intObj = {
670
- illuminationElevationAngle: nil,
671
- illuminationAzimuthAngle: nil,
672
- imageCondition: nil,
673
- imageQuality: {},
674
- cloudCoverPercent: nil,
675
- compressionQuantity: nil,
676
- triangulationInfo: false,
677
- radiometricCalibrationInfo: false,
678
- cameraCalibrationInfo: false,
679
- filmDistortionInfo: false,
680
- lensDistortionInfo: false
929
+ def newSeries
930
+ {
931
+ seriesName: nil,
932
+ seriesIssue: nil,
933
+ issuePage: nil
681
934
  }
682
935
  end
683
936
 
684
- def newSensorInfo
685
- intObj = {
686
- toneGradations: nil,
687
- sensorMin: nil,
688
- sensorMax: nil,
689
- sensorUnits: nil,
690
- sensorPeakResponse: nil
937
+ def newScope
938
+ {
939
+ scopeCode: nil,
940
+ scopeDescriptions: [],
941
+ extents: []
691
942
  }
692
943
  end
693
944
 
694
- def newLocale
695
- intObj = {
696
- languageCode: nil,
697
- countryCode: nil,
698
- characterEncoding: nil
945
+ def newScopeDescription
946
+ {
947
+ dataset: nil,
948
+ attributes: nil,
949
+ features: nil,
950
+ other: nil
951
+ }
952
+ end
953
+
954
+ def newAllocation
955
+ {
956
+ amount: nil,
957
+ currency: nil,
958
+ sourceId: nil,
959
+ recipientId: nil,
960
+ matching: false,
961
+ comment: nil
962
+ }
963
+ end
964
+
965
+ def newFunding
966
+ {
967
+ allocations: [],
968
+ timePeriod: {}
969
+ }
970
+ end
971
+
972
+ def newMetadataRepository
973
+ {
974
+ repository: nil,
975
+ metadataStandard: nil
976
+ }
977
+ end
978
+
979
+ def newResourceType
980
+ {
981
+ type: nil,
982
+ name: nil
699
983
  }
700
984
  end
701
985