adiwg-mdtranslator 2.18.2 → 2.19.0.pre.beta.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +14 -0
  3. data/.gitignore +2 -1
  4. data/Gemfile.lock +86 -0
  5. data/Rakefile +1 -1
  6. data/adiwg-mdtranslator.gemspec +6 -6
  7. data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +27 -11
  8. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb +149 -0
  9. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb +2 -2
  10. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_conformanceResult.rb +1 -1
  11. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageResult.rb +8 -7
  12. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQuality.rb +4 -4
  13. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb +8 -16
  14. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_evaluationMethod.rb +1 -1
  15. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +8 -8
  16. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityMeasure.rb +34 -0
  17. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityResultFile.rb +72 -0
  18. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_rangeElementDescription.rb +2 -2
  19. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +1 -1
  20. data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb +13 -0
  21. data/lib/adiwg/mdtranslator/version.rb +1 -1
  22. data/lib/adiwg/mdtranslator/writers/fgdc/classes/{class_quality.rb → class_dataQuality.rb} +14 -10
  23. data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb +3 -3
  24. data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +5 -1
  25. data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +32 -0
  26. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataQuality.rb +39 -18
  27. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataQualityReport.rb +385 -0
  28. data/lib/adiwg/mdtranslator/writers/html/sections/html_rangeElementDescription.rb +2 -2
  29. data/lib/adiwg/mdtranslator/writers/html/sections/html_resultFile.rb +60 -0
  30. data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +18 -10
  31. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_additionalDocument.rb +3 -3
  32. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_address.rb +4 -4
  33. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_algorithm.rb +4 -4
  34. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_associatedResource.rb +4 -4
  35. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attribute.rb +4 -4
  36. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attributeGroup.rb +4 -4
  37. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_baseUnit.rb +2 -2
  38. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_boundingBox.rb +4 -4
  39. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_browseGraphic.rb +4 -4
  40. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_citation.rb +4 -4
  41. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_codelist.rb +2 -2
  42. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraint.rb +4 -4
  43. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraintCommon.rb +2 -2
  44. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_contact.rb +3 -3
  45. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_conventionalUnit.rb +2 -2
  46. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_coverageDescription.rb +3 -3
  47. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataIdentification.rb +5 -5
  48. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataQuality.rb +9 -2
  49. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataQualityReport.rb +269 -0
  50. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_date.rb +4 -4
  51. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_definitionUnit.rb +2 -2
  52. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_derivedUnit.rb +2 -2
  53. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dimension.rb +4 -4
  54. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distribution.rb +2 -2
  55. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distributor.rb +4 -4
  56. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_email.rb +2 -2
  57. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_extent.rb +2 -2
  58. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_feature.rb +4 -4
  59. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCatalog.rb +3 -3
  60. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCollection.rb +2 -2
  61. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureProperties.rb +2 -2
  62. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_format.rb +4 -4
  63. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_fraction.rb +4 -4
  64. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gcoDateTime.rb +2 -2
  65. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicElement.rb +4 -4
  66. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicExtent.rb +2 -2
  67. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometricObjects.rb +3 -3
  68. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometryCollection.rb +4 -4
  69. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georectified.rb +4 -4
  70. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georeferenceable.rb +4 -4
  71. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gmlIdentifier.rb +2 -2
  72. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_grid.rb +4 -4
  73. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gridRepresentation.rb +1 -1
  74. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_identifier.rb +4 -4
  75. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_imageDescription.rb +2 -2
  76. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_individual.rb +4 -4
  77. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_keyword.rb +4 -4
  78. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leProcessStep.rb +4 -4
  79. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leSource.rb +2 -2
  80. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_legalConstraints.rb +3 -3
  81. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liProcessStep.rb +4 -4
  82. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liSource.rb +2 -2
  83. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineString.rb +2 -2
  84. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineage.rb +2 -2
  85. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_locale.rb +4 -4
  86. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_maintenance.rb +4 -4
  87. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdBand.rb +2 -2
  88. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdMetadata.rb +7 -7
  89. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_measure.rb +4 -4
  90. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_medium.rb +2 -2
  91. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_miBand.rb +2 -2
  92. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiLine.rb +2 -2
  93. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPoint.rb +2 -2
  94. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPolygon.rb +2 -2
  95. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_nominalResolution.rb +4 -4
  96. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_onlineResource.rb +4 -4
  97. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_orderProcess.rb +2 -2
  98. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_organization.rb +4 -4
  99. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_partyIdentifier.rb +4 -4
  100. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_phone.rb +3 -3
  101. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_point.rb +2 -2
  102. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_polygon.rb +2 -2
  103. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processReport.rb +4 -4
  104. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processStep.rb +2 -2
  105. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processing.rb +4 -4
  106. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_qualityResultFile.rb +55 -0
  107. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeDimension.rb +4 -4
  108. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeElementDescription.rb +5 -5
  109. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_referenceSystem.rb +3 -3
  110. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_releasability.rb +2 -2
  111. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_resolution.rb +2 -2
  112. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_responsibility.rb +4 -4
  113. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_sampleDimension.rb +4 -4
  114. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scope.rb +4 -4
  115. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scopeDescription.rb +2 -2
  116. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_securityConstraints.rb +4 -4
  117. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_series.rb +2 -2
  118. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_source.rb +2 -2
  119. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_spatialRepresentation.rb +2 -2
  120. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_temporalExtent.rb +2 -2
  121. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timeInstant.rb +2 -2
  122. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timePeriod.rb +2 -2
  123. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_transferOptions.rb +2 -2
  124. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_unitsOfMeasure.rb +2 -2
  125. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_usage.rb +4 -4
  126. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_useConstraints.rb +2 -2
  127. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_vectorRepresentation.rb +2 -2
  128. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_verticalExtent.rb +4 -4
  129. data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer.rb → iso19115_3/iso19115_3_writer.rb} +10 -10
  130. data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer_messages_eng.yml → iso19115_3/iso19115_3_writer_messages_eng.yml} +1 -1
  131. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/readme.md +3 -3
  132. data/lib/adiwg/mdtranslator/writers/iso19115_3/version.rb +12 -0
  133. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +1 -1
  134. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageResult.rb +30 -0
  135. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +3 -1
  136. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQualityReport.rb +12 -10
  137. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_descriptiveResult.rb +3 -3
  138. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +2 -2
  139. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +1 -1
  140. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +1 -1
  141. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityMeasure.rb +4 -3
  142. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityResultFile.rb +23 -0
  143. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_standaloneQualityReport.rb +31 -0
  144. data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb +10 -0
  145. data/lib/adiwg/mdtranslator/writers/simple_html/readme.md +19 -0
  146. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb +49 -0
  147. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb +48 -0
  148. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +114 -0
  149. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb +73 -0
  150. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb +201 -0
  151. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb +51 -0
  152. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bearingDistanceResolution.rb +68 -0
  153. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +319 -0
  154. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_boundingBox.rb +69 -0
  155. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +165 -0
  156. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb +50 -0
  157. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedDataItem.rb +50 -0
  158. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb +118 -0
  159. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb +234 -0
  160. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coordinateResolution.rb +47 -0
  161. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb +81 -0
  162. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb +126 -0
  163. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb +79 -0
  164. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb +385 -0
  165. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_date.rb +42 -0
  166. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_datetime.rb +42 -0
  167. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dimension.rb +69 -0
  168. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb +58 -0
  169. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb +66 -0
  170. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_document.rb +63 -0
  171. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb +108 -0
  172. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb +64 -0
  173. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_duration.rb +68 -0
  174. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb +169 -0
  175. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb +179 -0
  176. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityForeignKey.rb +55 -0
  177. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityIndex.rb +50 -0
  178. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb +75 -0
  179. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb +97 -0
  180. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb +82 -0
  181. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb +71 -0
  182. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb +66 -0
  183. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb +60 -0
  184. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb +71 -0
  185. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb +79 -0
  186. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +110 -0
  187. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicResolution.rb +47 -0
  188. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb +71 -0
  189. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb +78 -0
  190. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb +46 -0
  191. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb +105 -0
  192. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb +91 -0
  193. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb +75 -0
  194. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb +76 -0
  195. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_head.rb +55 -0
  196. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb +81 -0
  197. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb +102 -0
  198. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_inlineCss.css +237 -0
  199. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb +68 -0
  200. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_legalConstraint.rb +49 -0
  201. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +87 -0
  202. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_locale.rb +47 -0
  203. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +96 -0
  204. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_measure.rb +47 -0
  205. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +90 -0
  206. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +198 -0
  207. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb +56 -0
  208. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_nominalResolution.rb +51 -0
  209. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_obliqueLinePoint.rb +37 -0
  210. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_onlineResource.rb +74 -0
  211. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_orderProcess.rb +62 -0
  212. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processReport.rb +47 -0
  213. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb +171 -0
  214. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb +89 -0
  215. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_projectionParameters.rb +261 -0
  216. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb +40 -0
  217. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_referenceSystemParameters.rb +65 -0
  218. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +63 -0
  219. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceFormat.rb +40 -0
  220. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +485 -0
  221. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceType.rb +38 -0
  222. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +81 -0
  223. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resultFile.rb +60 -0
  224. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb +60 -0
  225. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scopeDescription.rb +54 -0
  226. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_securityConstraint.rb +57 -0
  227. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb +155 -0
  228. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialReference.rb +70 -0
  229. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +77 -0
  230. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialResolution.rb +95 -0
  231. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +156 -0
  232. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomyClass.rb +75 -0
  233. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_temporalExtent.rb +65 -0
  234. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +82 -0
  235. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInterval.rb +40 -0
  236. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +128 -0
  237. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +94 -0
  238. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +118 -0
  239. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorObject.rb +40 -0
  240. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +62 -0
  241. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalDatumParameters.rb +70 -0
  242. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalExtent.rb +62 -0
  243. data/lib/adiwg/mdtranslator/writers/simple_html/simple_html_writer.rb +44 -0
  244. data/lib/adiwg/mdtranslator/writers/simple_html/version.rb +19 -0
  245. data/lib/adiwg/mdtranslator_cli.rb +2 -2
  246. metadata +241 -125
  247. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_quality.rb +0 -181
  248. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_dataQualityReport.rb +0 -95
  249. data/lib/adiwg/mdtranslator/writers/iso19115_1/version.rb +0 -15
@@ -0,0 +1,72 @@
1
+ require_relative 'module_format'
2
+
3
+ module ADIWG
4
+ module Mdtranslator
5
+ module Readers
6
+ module MdJson
7
+
8
+ module QualiltyResultFile
9
+
10
+ def self.unpack(hContent, responseObj)
11
+ @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson
12
+
13
+ # return nil object if input is empty
14
+ if hContent.empty?
15
+ @MessagePath.issueWarning(130, responseObj)
16
+ return nil
17
+ end
18
+
19
+ # instance classes needed in script
20
+ intMetadataClass = InternalMetadata.new
21
+ intContent = intMetadataClass.newQualityResultFile
22
+
23
+ # content information - file name (required)
24
+ if hContent.has_key?('fileName')
25
+ unless hContent['fileName'] == ''
26
+ intContent[:fileName] = hContent['fileName']
27
+ end
28
+ end
29
+ if intContent[:fileName].nil?
30
+ @MessagePath.issueError(131, responseObj)
31
+ end
32
+
33
+ # content information - file description (required)
34
+ if hContent.has_key?('fileDescription')
35
+ unless hContent['fileDescription'] == ''
36
+ intContent[:fileDescription] = hContent['fileDescription']
37
+ end
38
+ end
39
+ if intContent[:fileDescription].nil?
40
+ @MessagePath.issueError(132, responseObj)
41
+ end
42
+
43
+ # content information - file type
44
+ if hContent.has_key?('fileType')
45
+ unless hContent['fileType'] == ''
46
+ intContent[:fileType] = hContent['fileType']
47
+ end
48
+ end
49
+ if intContent[:fileType].nil?
50
+ @MessagePath.issueError(131, responseObj)
51
+ end
52
+
53
+ if hContent.has_key?('fileFormat')
54
+ hObject = hContent['fileFormat']
55
+ unless hObject.empty?
56
+ hReturn = Format.unpack(hObject, responseObj)
57
+ unless hReturn.nil?
58
+ intContent[:fileFormat] = hReturn
59
+ end
60
+ end
61
+ end
62
+
63
+ return intContent
64
+
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+ end
71
+ end
72
+ end
@@ -23,8 +23,8 @@ module ADIWG
23
23
  intRangeElementDescription[:definition] = hRangeElementDescription['definition']
24
24
  end
25
25
 
26
- if hRangeElementDescription.has_key?('rangeElements')
27
- intRangeElementDescription[:rangeElements] = hRangeElementDescription['rangeElements']
26
+ if hRangeElementDescription.has_key?('rangeElement')
27
+ intRangeElementDescription[:rangeElement] = hRangeElementDescription['rangeElement']
28
28
  end
29
29
 
30
30
  return intRangeElementDescription
@@ -36,7 +36,7 @@ module ADIWG
36
36
  end
37
37
 
38
38
  # instance classes needed in script
39
- # CI_Responsibility replaces CI_ResponsibleParty in 19115-1
39
+ # CI_Responsibility replaces CI_ResponsibleParty in 19115-3
40
40
  # Responsibility object is translated to ResponsibleParty by 19115-2 writer
41
41
  intMetadataClass = InternalMetadata.new
42
42
  intResParty = intMetadataClass.newResponsibility
@@ -249,6 +249,19 @@ module ADIWG
249
249
  end
250
250
  end
251
251
 
252
+ # orcId - external contact identifier
253
+ if hSbContact.has_key?('orcId') && hSbContact['contactType'] == 'person'
254
+ hContact[:externalIdentifier] ||= []
255
+ unless hSbContact['orcId'].nil? || hSbContact['orcId'] == ''
256
+ hExternalIdentifier = {
257
+ "identifier": hSbContact['orcId'],
258
+ "namespace": "ORCID",
259
+ "description": "Open Researcher and Contributor Id"
260
+ }
261
+ hContact[:externalIdentifier] << hExternalIdentifier
262
+ end
263
+ end
264
+
252
265
  aContacts << hContact
253
266
  aContacts << hContactOrg unless hContactOrg.empty?
254
267
 
@@ -109,7 +109,7 @@
109
109
  module ADIWG
110
110
  module Mdtranslator
111
111
  # current mdtranslator version
112
- VERSION = "2.18.2"
112
+ VERSION = "2.19.0-beta.7"
113
113
  end
114
114
  end
115
115
 
@@ -12,7 +12,7 @@ module ADIWG
12
12
  module Writers
13
13
  module Fgdc
14
14
 
15
- class Quality
15
+ class DataQuality
16
16
 
17
17
  def initialize(xml, hResponseObj)
18
18
  @xml = xml
@@ -30,7 +30,7 @@ module ADIWG
30
30
  if hDataQuality && hDataQuality[:report]
31
31
  # data quality 2.1 (attracc) - attribute accuracy (not implemented)
32
32
  attribute_completeness_report = hDataQuality[:report].find do |report|
33
- report[:type] == 'DQ_NonQuantitativeAttributeCompleteness' &&
33
+ report[:type] == 'NonQuantitativeAttributeCompleteness' &&
34
34
  !report.dig(:descriptiveResult, 0, :statement).nil?
35
35
  end
36
36
 
@@ -44,11 +44,11 @@ module ADIWG
44
44
 
45
45
  # data quality 2.2 (logic) - logical consistency (not implemented) (required)
46
46
  logic_report = hDataQuality[:report].find do |report|
47
- report[:type] == 'DQ_ConceptualConsistency' &&
47
+ report[:type] == 'ConceptualConsistency' &&
48
48
  !report.dig(:qualityMeasure, :description).nil?
49
49
  end
50
50
 
51
- if logic = logic_report&.dig(:qualityMeasure, :decription)
51
+ if logic = logic_report&.dig(:qualityMeasure, :description)
52
52
  @xml.tag!('logic', logic)
53
53
  else
54
54
  @xml.tag!('logic', 'Not Reported')
@@ -56,7 +56,7 @@ module ADIWG
56
56
 
57
57
  # data quality 2.3 (complete) - completion report (not implemented) (required)
58
58
  completeness_report = hDataQuality[:report].find do |report|
59
- report[:type] == 'DQ_CompletenessOmission' &&
59
+ report[:type] == 'CompletenessOmission' &&
60
60
  !report.dig(:descriptiveResult, 0, :statement).nil?
61
61
  end
62
62
 
@@ -66,20 +66,24 @@ module ADIWG
66
66
  @xml.tag!('complete', 'Not Reported')
67
67
  end
68
68
 
69
- # data quality 2.4 (position) - positional accuracy (not implemented)
69
+ # data quality 2.4 (position) - positional accuracy
70
70
 
71
71
 
72
72
  horizontal_positional_accuracy_report = hDataQuality[:report].find do |report|
73
- report[:type] == 'DQ_AbsoluteExternalPositionalAccuracy' &&
74
- report.dig(:qualityMeasure, :name) == 'Horizontal Positional Accuracy Report'
73
+ report[:type] == 'AbsoluteExternalPositionalAccuracy' &&
74
+ report.dig(:qualityMeasure, :nameOfMeasure)&.any? { |name|
75
+ name == 'Horizontal Positional Accuracy Report'
76
+ }
75
77
  end
76
78
 
77
79
  horizpar = horizontal_positional_accuracy_report&.dig(:evaluationMethod, :methodDescription)
78
80
 
79
81
 
80
82
  vertical_positional_accuracy_report = hDataQuality[:report].find do |report|
81
- report[:type] == 'DQ_AbsoluteExternalPositionalAccuracy' &&
82
- report.dig(:qualityMeasure, :name) == 'Vertical Positional Accuracy Report'
83
+ report[:type] == 'AbsoluteExternalPositionalAccuracy' &&
84
+ report.dig(:qualityMeasure, :nameOfMeasure)&.any? { |name|
85
+ name == 'Vertical Positional Accuracy Report'
86
+ }
83
87
  end
84
88
 
85
89
  vertaccr = vertical_positional_accuracy_report&.dig(:evaluationMethod, :methodDescription)
@@ -5,7 +5,7 @@
5
5
  # Stan Smith 2017-11-16 original script
6
6
 
7
7
  require_relative 'class_identification'
8
- require_relative 'class_quality'
8
+ require_relative 'class_dataQuality'
9
9
  require_relative 'class_spatialOrganization'
10
10
  require_relative 'class_spatialReference'
11
11
  require_relative 'class_dictionary'
@@ -33,7 +33,7 @@ module ADIWG
33
33
 
34
34
  # classes used
35
35
  idClass = Identification.new(@xml, @hResponseObj)
36
- qualityClass = Quality.new(@xml, @hResponseObj)
36
+ dataQualityClass = DataQuality.new(@xml, @hResponseObj)
37
37
  spaceOrgClass = SpatialOrganization.new(@xml, @hResponseObj)
38
38
  spaceRefClass = SpatialReference.new(@xml, @hResponseObj)
39
39
  dictionaryClass = DataDictionary.new(@xml, @hResponseObj)
@@ -62,7 +62,7 @@ module ADIWG
62
62
  # currently only lineage is implemented
63
63
  unless intObj[:metadata][:lineageInfo].empty?
64
64
  @xml.tag!('dataqual') do
65
- qualityClass.writeXML(intObj)
65
+ dataQualityClass.writeXML(intObj)
66
66
  end
67
67
  end
68
68
  if intObj[:metadata][:lineageInfo].empty? && @hResponseObj[:writerShowTags]
@@ -71,6 +71,7 @@ module ADIWG
71
71
  @html.a(' Contacts', {'href' => '#body-contacts', 'class' => 'btn navBtn', 'id' => 'contactButton'})
72
72
  @html.a(' Metadata', {'href' => '#body-metadataInfo', 'class' => 'btn navBtn', 'id' => 'metadataButton'})
73
73
  @html.a(' Resource', {'href' => '#body-resourceInfo', 'class' => 'btn navBtn', 'id' => 'resourceButton'})
74
+ @html.a(' Quality', {'href' => '#body-dataQuality', 'class' => 'btn navBtn', 'id' => 'qualityButton'})
74
75
  @html.a(' Lineage', {'href' => '#body-lineage', 'class' => 'btn navBtn', 'id' => 'lineageButton'})
75
76
  @html.a(' Distribution', {'href' => '#body-distribution', 'class' => 'btn navBtn', 'id' => 'distributionButton'})
76
77
  @html.a(' Associated', {'href' => '#body-associatedResource', 'class' => 'btn navBtn', 'id' => 'associatedButton'})
@@ -169,7 +170,10 @@ module ADIWG
169
170
  @html.summary('Data Quality', {'id' => 'body-dataQuality', 'class' => 'h2'})
170
171
  aDataQuality.each do |hDataQuality|
171
172
  @html.section(:class => 'block') do
172
- dataQualityClass.writeHtml(hDataQuality)
173
+ @html.details do
174
+ @html.summary('Quality', {'class' => 'h3'})
175
+ dataQualityClass.writeHtml(hDataQuality)
176
+ end
173
177
  end
174
178
  end
175
179
  end
@@ -190,6 +190,38 @@ module ADIWG
190
190
  @html.br
191
191
  end
192
192
 
193
+ # contact - external identifiers []
194
+ if hContact.key?(:externalIdentifier) && !hContact[:externalIdentifier].empty?
195
+ hContact[:externalIdentifier].each do |identifier|
196
+ @html.details do
197
+ @html.summary("External Identifier", {'class' => 'h5'})
198
+ @html.section(:class => 'block') do
199
+ @html.em('Identifier: ')
200
+ @html.text!(identifier[:identifier])
201
+ @html.br
202
+
203
+ unless identifier[:namespace].nil?
204
+ @html.em('Namespace: ')
205
+ @html.text!(identifier[:namespace])
206
+ @html.br
207
+ end
208
+
209
+ unless identifier[:version].nil?
210
+ @html.em('Version: ')
211
+ @html.text!(identifier[:version])
212
+ @html.br
213
+ end
214
+
215
+ unless identifier[:description].nil?
216
+ @html.em('Description: ')
217
+ @html.text!(identifier[:description])
218
+ @html.br
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
224
+
193
225
  end
194
226
  end
195
227
 
@@ -1,4 +1,6 @@
1
1
  require_relative 'html_citation'
2
+ require_relative 'html_dataQualityReport'
3
+ require_relative 'html_scope'
2
4
 
3
5
  module ADIWG
4
6
  module Mdtranslator
@@ -12,46 +14,65 @@ module ADIWG
12
14
  def writeHtml(hDataQuality)
13
15
  citationClass = Html_Citation.new(@html)
14
16
  scopeClass = Html_Scope.new(@html)
17
+ dataQualityReportClass = Html_DataQualityReport.new(@html)
15
18
 
16
- unless hDataQuality[:scope].nil? || hDataQuality[:scope].empty?
17
- @html.section(class: 'block') do
19
+ # scope
20
+ unless hDataQuality[:scope].empty?
21
+ @html.section(:class => 'block') do
18
22
  @html.details do
19
- @html.summary('Scope', {'class' => 'h5'})
20
- @html.section(class: 'block') do
23
+ @html.summary('Scope', {'class' => 'h4'})
24
+ @html.section(:class => 'block') do
21
25
  scopeClass.writeHtml(hDataQuality[:scope])
22
26
  end
23
27
  end
24
28
  end
25
29
  end
26
30
 
27
-
28
- unless hDataQuality[:standaloneQualityReport].nil? ||
29
- ( hDataQuality[:standaloneQualityReport][:abstract].nil? &&
30
- hDataQuality[:standaloneQualityReport][:reportReference].nil? )
31
- report = hDataQuality[:standaloneQualityReport]
32
-
33
- @html.section(class: 'block') do
31
+ # standalone quality report
32
+ unless hDataQuality[:standaloneReport].nil? ||
33
+ ( hDataQuality[:standaloneReport][:abstract].nil? &&
34
+ hDataQuality[:standaloneReport][:reportReference].nil? )
35
+ report = hDataQuality[:standaloneReport]
36
+ @html.section(:class => 'block') do
34
37
  @html.details do
35
- @html.summary('Standalone Quality Report', {'class' => 'h5'})
38
+ @html.summary('Standalone Quality Report', {'class' => 'h4'})
36
39
  unless report[:abstract].nil?
37
- @html.section(class: 'block') do
40
+ @html.section(:class => 'block') do
38
41
  @html.em('Abstract:')
39
42
  @html.text!(report[:abstract])
40
43
  end
41
44
  end
42
-
43
45
  unless report[:reportReference].nil?
44
- @html.details do
45
- @html.summary('Report Reference', {'class' => 'h5'})
46
- @html.section(class: 'block') do
47
- citationClass.writeHtml(report[:reportReference])
46
+ @html.section(:class => 'block') do
47
+ @html.details do
48
+ @html.summary('Report Reference', {'class' => 'h5'})
49
+ @html.section(:class => 'block') do
50
+ citationClass.writeHtml(report[:reportReference])
51
+ end
48
52
  end
49
53
  end
50
54
  end
51
55
  end
52
56
  end
57
+ end
53
58
 
59
+ # reports
60
+ unless hDataQuality[:report].nil? || hDataQuality[:report].empty?
61
+ @html.section(:class => 'block') do
62
+ @html.details do
63
+ @html.summary('Reports', {'class' => 'h4'})
64
+ hDataQuality[:report].each do |report|
65
+ @html.section(:class => 'block') do
66
+ @html.details do
67
+ @html.summary('Report', {'class' => 'h5'})
68
+ dataQualityReportClass.writeHtml(report)
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
54
74
  end
75
+
55
76
  end
56
77
  end
57
78
  end