adiwg-mdtranslator 2.18.2 → 2.18.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Gemfile.lock +84 -0
  4. data/Rakefile +1 -1
  5. data/adiwg-mdtranslator.gemspec +5 -5
  6. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +1 -1
  7. data/lib/adiwg/mdtranslator/version.rb +1 -1
  8. data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +32 -0
  9. data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +18 -10
  10. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_additionalDocument.rb +3 -3
  11. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_address.rb +4 -4
  12. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_algorithm.rb +4 -4
  13. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_associatedResource.rb +4 -4
  14. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attribute.rb +4 -4
  15. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attributeGroup.rb +4 -4
  16. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_baseUnit.rb +2 -2
  17. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_boundingBox.rb +4 -4
  18. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_browseGraphic.rb +4 -4
  19. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_citation.rb +4 -4
  20. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_codelist.rb +2 -2
  21. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraint.rb +4 -4
  22. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraintCommon.rb +2 -2
  23. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_contact.rb +3 -3
  24. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_conventionalUnit.rb +2 -2
  25. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_coverageDescription.rb +3 -3
  26. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataIdentification.rb +5 -5
  27. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataQuality.rb +9 -2
  28. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataQualityReport.rb +1 -1
  29. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_date.rb +4 -4
  30. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_definitionUnit.rb +2 -2
  31. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_derivedUnit.rb +2 -2
  32. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dimension.rb +4 -4
  33. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distribution.rb +2 -2
  34. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distributor.rb +4 -4
  35. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_email.rb +2 -2
  36. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_extent.rb +2 -2
  37. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_feature.rb +4 -4
  38. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCatalog.rb +3 -3
  39. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCollection.rb +2 -2
  40. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureProperties.rb +2 -2
  41. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_format.rb +4 -4
  42. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_fraction.rb +4 -4
  43. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gcoDateTime.rb +2 -2
  44. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicElement.rb +4 -4
  45. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicExtent.rb +2 -2
  46. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometricObjects.rb +3 -3
  47. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometryCollection.rb +4 -4
  48. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georectified.rb +4 -4
  49. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georeferenceable.rb +4 -4
  50. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gmlIdentifier.rb +2 -2
  51. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_grid.rb +4 -4
  52. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gridRepresentation.rb +1 -1
  53. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_identifier.rb +4 -4
  54. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_imageDescription.rb +2 -2
  55. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_individual.rb +4 -4
  56. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_keyword.rb +4 -4
  57. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leProcessStep.rb +4 -4
  58. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leSource.rb +2 -2
  59. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_legalConstraints.rb +3 -3
  60. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liProcessStep.rb +4 -4
  61. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liSource.rb +2 -2
  62. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineString.rb +2 -2
  63. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineage.rb +2 -2
  64. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_locale.rb +4 -4
  65. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_maintenance.rb +4 -4
  66. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdBand.rb +2 -2
  67. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdMetadata.rb +7 -7
  68. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_measure.rb +4 -4
  69. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_medium.rb +2 -2
  70. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_miBand.rb +2 -2
  71. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiLine.rb +2 -2
  72. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPoint.rb +2 -2
  73. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPolygon.rb +2 -2
  74. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_nominalResolution.rb +4 -4
  75. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_onlineResource.rb +4 -4
  76. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_orderProcess.rb +2 -2
  77. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_organization.rb +4 -4
  78. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_partyIdentifier.rb +4 -4
  79. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_phone.rb +3 -3
  80. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_point.rb +2 -2
  81. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_polygon.rb +2 -2
  82. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processReport.rb +4 -4
  83. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processStep.rb +2 -2
  84. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processing.rb +4 -4
  85. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeDimension.rb +4 -4
  86. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeElementDescription.rb +4 -4
  87. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_referenceSystem.rb +3 -3
  88. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_releasability.rb +2 -2
  89. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_resolution.rb +2 -2
  90. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_responsibility.rb +4 -4
  91. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_sampleDimension.rb +4 -4
  92. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scope.rb +4 -4
  93. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scopeDescription.rb +2 -2
  94. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_securityConstraints.rb +4 -4
  95. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_series.rb +2 -2
  96. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_source.rb +2 -2
  97. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_spatialRepresentation.rb +2 -2
  98. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_temporalExtent.rb +2 -2
  99. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timeInstant.rb +2 -2
  100. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timePeriod.rb +2 -2
  101. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_transferOptions.rb +2 -2
  102. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_unitsOfMeasure.rb +2 -2
  103. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_usage.rb +4 -4
  104. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_useConstraints.rb +2 -2
  105. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_vectorRepresentation.rb +2 -2
  106. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_verticalExtent.rb +4 -4
  107. data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer.rb → iso19115_3/iso19115_3_writer.rb} +10 -10
  108. data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer_messages_eng.yml → iso19115_3/iso19115_3_writer_messages_eng.yml} +1 -1
  109. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/readme.md +3 -3
  110. data/lib/adiwg/mdtranslator/writers/iso19115_3/version.rb +12 -0
  111. data/lib/adiwg/mdtranslator/writers/simple_html/readme.md +19 -0
  112. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb +49 -0
  113. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb +48 -0
  114. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +114 -0
  115. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb +73 -0
  116. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb +201 -0
  117. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb +51 -0
  118. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bearingDistanceResolution.rb +68 -0
  119. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +324 -0
  120. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bodyScript.js +317 -0
  121. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_boundingBox.rb +69 -0
  122. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +165 -0
  123. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb +50 -0
  124. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedDataItem.rb +50 -0
  125. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb +118 -0
  126. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb +202 -0
  127. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coordinateResolution.rb +47 -0
  128. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb +81 -0
  129. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb +126 -0
  130. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb +60 -0
  131. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_date.rb +42 -0
  132. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_datetime.rb +42 -0
  133. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dimension.rb +69 -0
  134. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb +58 -0
  135. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb +66 -0
  136. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_document.rb +63 -0
  137. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb +108 -0
  138. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb +64 -0
  139. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_duration.rb +68 -0
  140. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb +169 -0
  141. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb +179 -0
  142. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityForeignKey.rb +55 -0
  143. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityIndex.rb +50 -0
  144. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb +75 -0
  145. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb +97 -0
  146. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb +82 -0
  147. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb +71 -0
  148. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb +66 -0
  149. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb +60 -0
  150. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb +71 -0
  151. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb +79 -0
  152. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +120 -0
  153. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicResolution.rb +47 -0
  154. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb +71 -0
  155. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb +78 -0
  156. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb +46 -0
  157. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb +105 -0
  158. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb +91 -0
  159. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb +75 -0
  160. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb +76 -0
  161. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_head.rb +55 -0
  162. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb +81 -0
  163. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb +102 -0
  164. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_inlineCss.css +237 -0
  165. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb +68 -0
  166. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_legalConstraint.rb +49 -0
  167. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +87 -0
  168. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_locale.rb +47 -0
  169. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +96 -0
  170. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_measure.rb +47 -0
  171. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +90 -0
  172. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +198 -0
  173. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb +56 -0
  174. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_nominalResolution.rb +51 -0
  175. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_obliqueLinePoint.rb +37 -0
  176. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_onlineResource.rb +74 -0
  177. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_orderProcess.rb +62 -0
  178. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processReport.rb +47 -0
  179. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb +171 -0
  180. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb +89 -0
  181. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_projectionParameters.rb +261 -0
  182. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb +40 -0
  183. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_referenceSystemParameters.rb +65 -0
  184. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +63 -0
  185. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceFormat.rb +40 -0
  186. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +485 -0
  187. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceType.rb +38 -0
  188. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +81 -0
  189. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb +60 -0
  190. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scopeDescription.rb +54 -0
  191. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_securityConstraint.rb +57 -0
  192. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb +155 -0
  193. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialReference.rb +70 -0
  194. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +77 -0
  195. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialResolution.rb +95 -0
  196. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +156 -0
  197. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomyClass.rb +75 -0
  198. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_temporalExtent.rb +65 -0
  199. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +82 -0
  200. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInterval.rb +40 -0
  201. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +128 -0
  202. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +94 -0
  203. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +118 -0
  204. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorObject.rb +40 -0
  205. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +62 -0
  206. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalDatumParameters.rb +70 -0
  207. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalExtent.rb +62 -0
  208. data/lib/adiwg/mdtranslator/writers/simple_html/simple_html_writer.rb +44 -0
  209. data/lib/adiwg/mdtranslator/writers/simple_html/version.rb +19 -0
  210. data/lib/adiwg/mdtranslator_cli.rb +2 -2
  211. metadata +225 -119
  212. data/lib/adiwg/mdtranslator/writers/iso19115_1/version.rb +0 -15
@@ -0,0 +1,324 @@
1
+ # HTML writer
2
+ # html body
3
+
4
+ # History:
5
+ # Stan Smith 2018-01-19 add resource citation title to report header
6
+ # Stan Smith 2017-03-22 refactor for mdTranslator 2.0
7
+ # Stan Smith 2015-07-20 moved mdTranslator logo to html_inlineCss.css
8
+ # Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
9
+ # Stan Smith 2014-04-10 add open and close buttons
10
+ # Stan Smith 2015-03-23 original script
11
+
12
+ require_relative 'html_contact'
13
+ require_relative 'html_metadataInfo'
14
+ require_relative 'html_resourceInfo'
15
+ require_relative 'html_dataQuality'
16
+ require_relative 'html_lineage'
17
+ require_relative 'html_distribution'
18
+ require_relative 'html_associatedResource'
19
+ require_relative 'html_additionalDocumentation'
20
+ require_relative 'html_funding'
21
+ require_relative 'html_dataDictionary'
22
+ require_relative 'html_metadataRepository'
23
+
24
+ module ADIWG
25
+ module Mdtranslator
26
+ module Writers
27
+ module Simple_html
28
+
29
+ class Html_Body
30
+
31
+ def initialize(html)
32
+ @html = html
33
+ end
34
+
35
+ def writeHtml(version, intObj)
36
+ @html.body do
37
+
38
+ # classes used
39
+ metaInfoClass = Html_MetadataInfo.new(@html)
40
+ contactClass = Html_Contact.new(@html)
41
+ resourceClass = Html_ResourceInfo.new(@html)
42
+ dataQualityClass = Html_DataQuality.new(@html)
43
+ lineageClass = Html_Lineage.new(@html)
44
+ distributionClass = Html_Distribution.new(@html)
45
+ associatedClass = Html_AssociatedResource.new(@html)
46
+ additionalClass = Html_AdditionalDocumentation.new(@html)
47
+ fundingClass = Html_Funding.new(@html)
48
+ dictionaryClass = Html_DataDictionary.new(@html)
49
+ repositoryClass = Html_Repository.new(@html)
50
+
51
+ # make sections of the internal data store convenient
52
+ hSchema = intObj[:schema]
53
+ aContacts = intObj[:contacts]
54
+ hMetaInfo = intObj[:metadata][:metadataInfo]
55
+ hResourceInfo = intObj[:metadata][:resourceInfo]
56
+ aDataQuality = intObj[:metadata][:dataQuality]
57
+ aLineage = intObj[:metadata][:lineageInfo]
58
+ aDistribution = intObj[:metadata][:distributorInfo]
59
+ aAssociated = intObj[:metadata][:associatedResources]
60
+ aAdditional = intObj[:metadata][:additionalDocuments]
61
+ aFunding = intObj[:metadata][:funding]
62
+ aDictionaries = intObj[:dataDictionaries]
63
+ aRepositories = intObj[:metadataRepositories]
64
+
65
+ # set page title and logo
66
+ # side navigation
67
+ @html.div('id' => 'sideNav') do
68
+
69
+ # add section buttons
70
+ @html.a(' Top', {'href' => '#', 'class' => 'btn'})
71
+ @html.a(' Contacts', {'href' => '#body-contacts', 'class' => 'btn navBtn', 'id' => 'contactButton'})
72
+ @html.a(' Metadata', {'href' => '#body-metadataInfo', 'class' => 'btn navBtn', 'id' => 'metadataButton'})
73
+ @html.a(' Resource', {'href' => '#body-resourceInfo', 'class' => 'btn navBtn', 'id' => 'resourceButton'})
74
+ @html.a(' Lineage', {'href' => '#body-lineage', 'class' => 'btn navBtn', 'id' => 'lineageButton'})
75
+ @html.a(' Distribution', {'href' => '#body-distribution', 'class' => 'btn navBtn', 'id' => 'distributionButton'})
76
+ @html.a(' Associated', {'href' => '#body-associatedResource', 'class' => 'btn navBtn', 'id' => 'associatedButton'})
77
+ @html.a(' Additional', {'href' => '#body-additionalDocument', 'class' => 'btn navBtn', 'id' => 'additionalButton'})
78
+ @html.a(' Dictionary', {'href' => '#body-dataDictionary', 'class' => 'btn navBtn', 'id' => 'dictionaryButton'})
79
+ @html.a(' Funding', {'href' => '#body-funding', 'class' => 'btn navBtn', 'id' => 'fundingButton'})
80
+ @html.a(' Repository', {'href' => '#body-repository', 'class' => 'btn navBtn', 'id' => 'repositoryButton'})
81
+
82
+ # add open and close buttons
83
+ @html.span(' Open', {'class' => 'btn icon-caret-down', 'id' => 'openAllButton'})
84
+ @html.span(' Close', {'class' => 'btn icon-caret-right', 'id' => 'closeAllButton'})
85
+
86
+ end
87
+
88
+ # main header
89
+ @html.h2('id' => 'mainHeader') do
90
+ # added blank to span tag to force builder to create closing tag
91
+ @html.span('', 'id' => 'logo')
92
+ @html.span('Metadata Record')
93
+ @html.span('HTML5', 'class' => 'version')
94
+ end
95
+
96
+ # report title
97
+ # aShortVersion = version.split('.')
98
+ # shortVersion = aShortVersion[0].to_s + '.' + aShortVersion[1].to_s
99
+ @html.h1('mdTranslator ' + version + ' HTML Metadata Record', 'id' => 'mdtranslator-metadata-report')
100
+
101
+ # resource citation title
102
+ unless hResourceInfo.empty?
103
+ unless hResourceInfo[:citation].empty?
104
+ unless hResourceInfo[:citation][:title].nil?
105
+ @html.h2(hResourceInfo[:citation][:title])
106
+ end
107
+ end
108
+ end
109
+
110
+ # report date
111
+ @html.div(:class => 'block') do
112
+ @html.em('Report Generated:')
113
+ @html.text!(Time.new.inspect)
114
+ end
115
+
116
+ # metadata source
117
+ @html.h3('Metadata Source', 'id' => 'metadataSource')
118
+ @html.div(:class => 'block') do
119
+ @html.em('Metadata schema:')
120
+ @html.text!(hSchema[:name])
121
+ @html.br
122
+
123
+ @html.em('Schema version:')
124
+ @html.text!(hSchema[:version])
125
+ end
126
+ @html.hr
127
+
128
+ # contacts [] section
129
+ unless aContacts.empty?
130
+ @html.div do
131
+ @html.h2('Contacts', {'id' => 'body-contacts', 'class' => 'h2'})
132
+ @html.div(:class => 'block') do
133
+ aContacts.each do |hContact|
134
+ @html.div(:class => 'block') do
135
+ contactClass.writeHtml(hContact)
136
+ end
137
+ end
138
+ @html.hr
139
+ end
140
+ end
141
+ end
142
+
143
+ # metadata information section
144
+ unless hMetaInfo.empty?
145
+ @html.div do
146
+ @html.h2('Metadata Information', {'id' => 'body-metadataInfo', 'class' => 'h2'})
147
+ @html.div(:class => 'block') do
148
+ @html.div(:class => 'block') do
149
+ metaInfoClass.writeHtml(hMetaInfo)
150
+ end
151
+ end
152
+ @html.hr
153
+ end
154
+ end
155
+
156
+ # resource information section
157
+ unless hResourceInfo.empty?
158
+ @html.div do
159
+ @html.h2('Resource Information', {'id' => 'body-resourceInfo', 'class' => 'h2'})
160
+ @html.div(:class => 'block') do
161
+ resourceClass.writeHtml(hResourceInfo)
162
+ end
163
+ @html.hr
164
+ end
165
+ end
166
+
167
+ unless aDataQuality.nil? || aDataQuality.empty?
168
+ @html.div do
169
+ @html.h2('Data Quality', {'id' => 'body-dataQuality', 'class' => 'h2'})
170
+ aDataQuality.each do |hDataQuality|
171
+ @html.div(:class => 'block') do
172
+ dataQualityClass.writeHtml(hDataQuality)
173
+ end
174
+ end
175
+ end
176
+ end
177
+
178
+ # lineage section
179
+ unless aLineage.empty?
180
+ @html.div do
181
+ @html.h2('Resource Lineage', {'id' => 'body-lineage', 'class' => 'h2'})
182
+ @html.div(:class => 'block') do
183
+ aLineage.each do |hLineage|
184
+ @html.div do
185
+ @html.h3('Lineage', {'class' => 'h3'})
186
+ @html.div(:class => 'block') do
187
+ lineageClass.writeHtml(hLineage)
188
+ end
189
+ end
190
+ end
191
+ end
192
+ @html.hr
193
+ end
194
+ end
195
+
196
+ # distribution section
197
+ unless aDistribution.empty?
198
+ @html.div do
199
+ @html.h2('Resource Distribution', {'id' => 'body-distribution', 'class' => 'h2'})
200
+ @html.div(:class => 'block') do
201
+ aDistribution.each do |hDistribution|
202
+ @html.div do
203
+ @html.h3('Distribution', {'class' => 'h3'})
204
+ @html.div(:class => 'block') do
205
+ distributionClass.writeHtml(hDistribution)
206
+ end
207
+ end
208
+ end
209
+ end
210
+ @html.hr
211
+ end
212
+ end
213
+
214
+ # associated resource section
215
+ unless aAssociated.empty?
216
+ @html.div do
217
+ @html.h2('Associated Resources', {'id' => 'body-associatedResource', 'class' => 'h2'})
218
+ @html.div(:class => 'block') do
219
+ aAssociated.each do |hAssociated|
220
+ @html.div do
221
+ @html.h3('Resource', {'class' => 'h3'})
222
+ @html.div(:class => 'block') do
223
+ associatedClass.writeHtml(hAssociated)
224
+ end
225
+ end
226
+ end
227
+ end
228
+ @html.hr
229
+ end
230
+ end
231
+
232
+ # additional documentation section
233
+ unless aAdditional.empty?
234
+ @html.div do
235
+ @html.h2('Additional Documentation', {'id' => 'body-additionalDocument', 'class' => 'h2'})
236
+ @html.div(:class => 'block') do
237
+ aAdditional.each do |hAdditional|
238
+ @html.div do
239
+ @html.h3('Document', {'class' => 'h3'})
240
+ @html.div(:class => 'block') do
241
+ additionalClass.writeHtml(hAdditional)
242
+ end
243
+ end
244
+ end
245
+ end
246
+ @html.hr
247
+ end
248
+ end
249
+
250
+ # data dictionary section
251
+ unless aDictionaries.empty?
252
+ @html.div do
253
+ @html.h2('Data Dictionaries', {'id' => 'body-dataDictionary', 'class' => 'h2'})
254
+ @html.div(:class => 'block') do
255
+ aDictionaries.each do |hDictionary|
256
+ @html.div do
257
+ @html.h3('Dictionary', {'class' => 'h3'})
258
+ @html.div(:class => 'block') do
259
+ dictionaryClass.writeHtml(hDictionary)
260
+ end
261
+ end
262
+ end
263
+ end
264
+ end
265
+ end
266
+
267
+ # funding section
268
+ unless aFunding.empty?
269
+ @html.div do
270
+ @html.h2('Funding', {'id' => 'body-funding', 'class' => 'h2'})
271
+ @html.div(:class => 'block') do
272
+ aFunding.each do |hFunding|
273
+ @html.div do
274
+ @html.h3('Funds', {'class' => 'h3'})
275
+ @html.div(:class => 'block') do
276
+ fundingClass.writeHtml(hFunding)
277
+ end
278
+ end
279
+ end
280
+ end
281
+ end
282
+ end
283
+
284
+ # metadata repository section
285
+ unless aRepositories.empty?
286
+ @html.div do
287
+ @html.h2('Metadata Repositories', {'id' => 'body-repository', 'class' => 'h2'})
288
+ @html.div(:class => 'block') do
289
+ aRepositories.each do |hRepository|
290
+ @html.div do
291
+ @html.h3('Repository', {'class' => 'h3'})
292
+ @html.div(:class => 'block') do
293
+ repositoryClass.writeHtml(hRepository)
294
+ end
295
+ end
296
+ end
297
+ end
298
+ end
299
+ end
300
+
301
+ # load leaflet
302
+ @html.link( :rel => 'stylesheet', :href => 'https://unpkg.com/leaflet@1.0.3/dist/leaflet.css')
303
+ @html.script('', :src => 'https://unpkg.com/leaflet@1.0.3/dist/leaflet.js')
304
+ @html.script('', :src => 'https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js')
305
+
306
+ # add inline javascript
307
+ # read javascript from file
308
+ path = File.join(File.dirname(__FILE__), 'html_bodyScript.js')
309
+ file = File.open(path, 'r')
310
+ bodyJS = file.read
311
+ file.close
312
+
313
+ @html.script('type'=>'text/javascript') do
314
+ @html << bodyJS
315
+ end
316
+
317
+ end # body
318
+ end # writeHtml
319
+ end # Html_Body
320
+
321
+ end
322
+ end
323
+ end
324
+ end
@@ -0,0 +1,317 @@
1
+
2
+ //forEach Polyfill, Reference: https://goo.gl/hFIfSd
3
+ if (!Array.prototype.forEach) {
4
+ Array.prototype.forEach = function(callback, thisArg) {
5
+ var T, k;
6
+ if (this === null || this === undefined) {
7
+ throw new TypeError(' this is null or not defined');
8
+ }
9
+ var O = Object(this);
10
+ var len = O.length >>> 0;
11
+ if ( typeof callback !== "function") {
12
+ throw new TypeError(callback + ' is not a function');
13
+ }
14
+ if (arguments.length > 1) {
15
+ T = thisArg;
16
+ }
17
+ k = 0;
18
+ while (k < len) {
19
+ var kValue;
20
+ if ( k in O) {
21
+ kValue = O[k];
22
+ callback.call(T, kValue, k, O);
23
+ }
24
+ k++;
25
+ }
26
+ };
27
+ }
28
+
29
+ // open detail panel in the document
30
+ function openDetail(evt) {
31
+ var href = evt.target.getAttribute("href");
32
+ href = href.slice(1);
33
+
34
+ if(window.location !== window.parent.location){
35
+ evt.preventDefault();
36
+ var el = document.getElementById(href);
37
+ window.scrollTo(0, el.offsetTop);
38
+ }
39
+ var parentNode = document.getElementById(href).parentNode;
40
+ parentNode.open = true;
41
+ }
42
+
43
+ // open all detail panels in the document
44
+ function openAllDetails(evt) {
45
+ if(window.location !== window.parent.location){
46
+ evt.preventDefault();
47
+ }
48
+ var arr = document.getElementsByTagName("details");
49
+ var len = arr.length;
50
+
51
+ for (var i = 0; i < len; i++) {
52
+ arr[i].open = true;
53
+ }
54
+ }
55
+
56
+ // close all detail panels in the document
57
+ function closeAllDetails(evt) {
58
+ if(window.location !== window.parent.location){
59
+ evt.preventDefault();
60
+ }
61
+ var arr = document.getElementsByTagName("details");
62
+ var len = arr.length;
63
+
64
+ for (var i = 0; i < len; i++) {
65
+ arr[i].open = false;
66
+ }
67
+ }
68
+
69
+ // add event listeners to all anchor buttons in the sideNav
70
+ var navBtnList = document.querySelectorAll('a.navBtn');
71
+ var navBtnArray = Array.prototype.slice.call(navBtnList);
72
+ navBtnArray.forEach(function(btn, btnIdx, btnArr) {
73
+ var href = btn.getAttribute("href").slice(1);
74
+ var target = document.getElementById(href);
75
+ //hide button if target is not present
76
+ if(target) {
77
+ btn.addEventListener("click", openDetail, false);
78
+ } else {
79
+ btn.style.display = 'none';
80
+ }
81
+ });
82
+
83
+ // add event listener to openAllButton
84
+ var elOpen = document.getElementById("openAllButton");
85
+ elOpen.addEventListener("click", openAllDetails, false);
86
+
87
+ // add event listener to closeAllButton
88
+ var elClose = document.getElementById("closeAllButton");
89
+ elClose.addEventListener("click", closeAllDetails, false);
90
+
91
+ //replace top links in inframes
92
+ if(window.location !== window.parent.location){
93
+ // add event listeners to all "top" links
94
+ var topList = document.querySelectorAll("a[href='#']");
95
+ var topArray = Array.prototype.slice.call(topList);
96
+ topArray.forEach(function(a) {
97
+ a.addEventListener("click", function(evt) {
98
+ evt.preventDefault();
99
+ window.scrollTo(0,0);
100
+ }, false);
101
+ });
102
+ }
103
+
104
+ if ( typeof L === "object") {
105
+ (function() {
106
+
107
+ var westBound;
108
+ var eastBound;
109
+
110
+ var coordsToLatLng = function(coords) {
111
+ // if computed bounding box spans the antimeridian
112
+ // add 360 to negative longitudes
113
+ var longitude = coords[0];
114
+ if (westBound >= 0 && eastBound < 0) {
115
+ if (longitude < 0) {
116
+ longitude += 360;
117
+ }
118
+ }
119
+ var latitude = coords[1];
120
+ return L.latLng(latitude, longitude);
121
+ };
122
+
123
+ var bbox2Poly = function(bbox) {
124
+ var bboxJson = JSON.parse(bbox.textContent || bbox.innerText);
125
+ var sw = [ bboxJson.westLongitude, bboxJson.southLatitude ];
126
+ var nw = [ bboxJson.westLongitude, bboxJson.northLatitude ];
127
+ var ne = [ bboxJson.eastLongitude, bboxJson.northLatitude ];
128
+ var se = [ bboxJson.eastLongitude, bboxJson.southLatitude ];
129
+ var coords = [];
130
+ coords.push(sw);
131
+ coords.push(nw);
132
+ coords.push(ne);
133
+ coords.push(se);
134
+ var bboxCoods = [];
135
+ bboxCoods.push(coords);
136
+ return bboxCoods;
137
+ };
138
+
139
+ // collect all geographicExtents sections in document
140
+ var geoExtentNodeList = document.querySelectorAll('section.extent-geographic');
141
+ var geoExtents = Array.prototype.slice.call(geoExtentNodeList);
142
+
143
+ var check = function(i, me, bnds) {
144
+ if (i < 3) {
145
+ var resize = me.getSize().x === 0 && me.getContainer().offsetWidth > 0;
146
+
147
+ me.invalidateSize();
148
+ if (resize) {
149
+ me.fitBounds(bnds);
150
+ } else {
151
+ i++;
152
+ setTimeout(function() {
153
+ check(i, me, bnds);
154
+ }, 100);
155
+ }
156
+ }
157
+ };
158
+
159
+ geoExtents.forEach(function(geoExtent, idx, arr) {
160
+ // instantiate a leaflet map in the map div
161
+ var map = L.map(geoExtent.querySelector('div.map'), {noWrap: true});
162
+ // get a pointer to the map header switch
163
+ var header = geoExtent.querySelector('summary.map-summary');
164
+ // get the GeoJSON from the geojson div
165
+ var geoJsonDiv = geoExtent.querySelector('div.geojson');
166
+ if (geoJsonDiv) {
167
+ var geojson = JSON.parse(geoJsonDiv.textContent || geoJsonDiv.innerText);
168
+ }
169
+ else {
170
+ var geojson = [];
171
+ }
172
+ // get the user provided bounding box for the extent - if any
173
+ var userBBox = geoExtent.querySelector('div.userBBox');
174
+ if (userBBox) {
175
+ var userCoords = bbox2Poly(userBBox);
176
+ var newUserBBox = {
177
+ "type": "Feature",
178
+ "geometry": {
179
+ "type": "Polygon",
180
+ "coordinates": userCoords
181
+ },
182
+ "properties": {
183
+ "style": {
184
+ "color": '#f00',
185
+ "fill": false
186
+ },
187
+ "featureName": [
188
+ "User BBOX"
189
+ ]
190
+ }
191
+ };
192
+ geojson.push(newUserBBox);
193
+ }
194
+
195
+ // get the computed bounding box for the extent - always one
196
+ var computedBBox = geoExtent.querySelector('div.computedBBox');
197
+ if (computedBBox) {
198
+ var compCoords = bbox2Poly(computedBBox);
199
+ var newCompBBox = {
200
+ "type": "Feature",
201
+ "geometry": {
202
+ "type": "Polygon",
203
+ "coordinates": compCoords
204
+ },
205
+ "properties": {
206
+ "style": {
207
+ "color": '#0f0',
208
+ "fill": false
209
+ },
210
+ "featureName": [
211
+ "Computed BBOX"
212
+ ]
213
+ }
214
+ };
215
+ geojson.push(newCompBBox);
216
+ westBound = compCoords[0][0][0];
217
+ eastBound = compCoords[0][2][0];
218
+ }
219
+
220
+ var pointCnt = 0;
221
+ var lineStringCnt = 0;
222
+ var polygonCnt = 0;
223
+ var geoCollectCnt = 0;
224
+ var featureCnt = 0;
225
+
226
+ geojson.forEach(function(geo, geoIdx, geoArr) {
227
+
228
+ // make sure each geo has a properties object
229
+ if (!geo.properties) {
230
+ geo.properties = {};
231
+ }
232
+
233
+ // add popup information
234
+ if (geo.type === "Point") {
235
+ pointCnt += 1;
236
+ geo.properties.popup = "Point " + pointCnt;
237
+ }
238
+ if (geo.type === 'LineString') {
239
+ lineStringCnt += 1;
240
+ geo.properties.popup = "LineString " + lineStringCnt;
241
+ }
242
+ if (geo.type === 'Polygon') {
243
+ polygonCnt += 1;
244
+ geo.properties.popup = "Polygon " + polygonCnt;
245
+ }
246
+ if (geo.type === 'GeometryCollection') {
247
+ geoCollectCnt += 1;
248
+ geo.properties.popup = "Geometry Collection " + geoCollectCnt;
249
+ // popup can't find properties on collection objects
250
+ // placed popup on geometry collection instead
251
+ // geo.geometries.forEach(function (geoG, geoGIdx, geoGArr) {
252
+ // geoG.properties = {};
253
+ // geoG.properties.popup = "Geometry Collection " + geoCollectCnt + " " + geoG.type;
254
+ // });
255
+ }
256
+ if (geo.type === 'Feature') {
257
+ featureCnt += 1;
258
+ var featureName;
259
+ if (geo.properties.featureName !== undefined) {
260
+ featureName = geo.properties.featureName[0] || geo.id || geo.geometry.type;
261
+ } else featureName = geo.id || "Feature " + featureCnt + " " + geo.geometry.type;
262
+ geo.properties.popup = featureName;
263
+ }
264
+ if (geo.type === 'FeatureCollection') {
265
+ geo.features.forEach(function (geoF, geoFIdx, geoFArr) {
266
+ featureCnt += 1;
267
+ var featureName;
268
+ if (geoF.properties.featureName !== undefined) {
269
+ featureName = geoF.properties.featureName[0] || geoF.id || geoF.geometry.type;
270
+ } else featureName = geoF.id || "Feature " + featureCnt + " " + geoF.geometry.type;
271
+ geoF.properties.popup = featureName;
272
+ });
273
+ }
274
+
275
+ });
276
+
277
+ var geoLayer = L.geoJSON(geojson, {
278
+ style: function(feature) {
279
+ return feature.properties.style || {};
280
+ },
281
+ coordsToLatLng: coordsToLatLng,
282
+ onEachFeature: function (feature, layer) {
283
+ layer.bindPopup(feature.properties.popup,{
284
+ closeButton: true
285
+ });
286
+ }
287
+ }).addTo(map);
288
+
289
+ var bnds = geoLayer.getBounds();
290
+ map.fitBounds(bnds);
291
+
292
+ L.DomEvent.addListener(header, 'click', function() {
293
+ var me = this;
294
+ var i = 0;
295
+
296
+ setTimeout(function() {
297
+ check(i, me, bnds);
298
+ }, 100);
299
+
300
+ }, map);
301
+
302
+ L.DomEvent.addListener(L.DomUtil.get('openAllButton'), 'click', function() {
303
+ var me = this;
304
+ var i = 0;
305
+
306
+ setTimeout(function() {
307
+ check(i, me, bnds);
308
+ }, 100);
309
+
310
+ }, map);
311
+
312
+ // map.addLayer(new L.TileLayer.OSM());
313
+ var stamen = new L.StamenTileLayer("terrain");
314
+ map.addLayer(stamen);
315
+ });
316
+ })();
317
+ }