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.
- checksums.yaml +4 -4
- data/.gitmodules +1 -3
- data/.travis.yml +4 -3
- data/README.md +1 -3
- data/Rakefile +5 -1
- data/adiwg-mdtranslator.gemspec +5 -5
- data/bin/mdtranslator +3 -205
- data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +600 -316
- data/lib/adiwg/mdtranslator/internal/module_coordinates.rb +123 -7
- data/lib/adiwg/mdtranslator/internal/module_dateTimeFun.rb +45 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb +83 -178
- data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_validator.rb +21 -22
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_additionalDocumentation.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_address.rb +101 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_allocation.rb +84 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_associatedResource.rb +111 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attribute.rb +224 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attributeGroup.rb +63 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_boundingBox.rb +95 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_citation.rb +164 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_constraint.rb +163 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_contact.rb +172 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageDescription.rb +96 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +151 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_date.rb +74 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/{modules_v1 → modules}/module_dateTime.rb +19 -5
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dimension.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distribution.rb +56 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distributor.rb +78 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domain.rb +95 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domainItem.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_duration.rb +112 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entity.rb +135 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityAttribute.rb +130 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityForeignKey.rb +78 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityIndex.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_extent.rb +83 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_featureCollection.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_format.rb +68 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_funding.rb +67 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geoJson.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geographicExtent.rb +98 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryCollection.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryFeature.rb +112 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryObject.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryProperties.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georectifiedRepresentation.rb +113 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georeferenceableRepresentation.rb +99 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gmlIdentifier.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_graphic.rb +96 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gridRepresentation.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_identifier.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_imageDescription.rb +120 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keyword.rb +83 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keywordObject.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_lineage.rb +104 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_locale.rb +66 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_maintenance.rb +93 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_mdJson.rb +136 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_measure.rb +75 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_medium.rb +105 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadata.rb +131 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataInfo.rb +157 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataRepository.rb +53 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_onlineResource.rb +82 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_orderProcess.rb +68 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_party.rb +79 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_phone.rb +68 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processStep.rb +113 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_releasability.rb +71 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceInfo.rb +364 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceType.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceUsage.rb +117 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +91 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_schema.rb +56 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scope.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scopeDescription.rb +73 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_securityConstraint.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_series.rb +57 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_source.rb +123 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialReference.rb +65 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialRepresentation.rb +96 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialResolution.rb +77 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicClassification.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicSystem.rb +60 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomy.rb +138 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_temporalExtent.rb +70 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInstant.rb +87 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInterval.rb +69 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timePeriod.rb +120 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_transferOption.rb +95 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorObject.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorRepresentation.rb +55 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_verticalExtent.rb +81 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb +64 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/readme.md +3 -9
- data/lib/adiwg/mdtranslator/readers/mdJson/version.rb +14 -0
- data/lib/adiwg/mdtranslator/readers/mdReaders.rb +36 -30
- data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_reader.rb +39 -40
- data/lib/adiwg/mdtranslator/version.rb +38 -29
- data/lib/adiwg/mdtranslator/writers/html/html_writer.rb +28 -25
- data/lib/adiwg/mdtranslator/writers/html/readme.md +3 -9
- data/lib/adiwg/mdtranslator/writers/html/sections/html_additionalDocumentation.rb +35 -34
- data/lib/adiwg/mdtranslator/writers/html/sections/html_allocation.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_associatedResource.rb +51 -51
- data/lib/adiwg/mdtranslator/writers/html/sections/html_attribute.rb +189 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_attributeGroup.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +275 -259
- data/lib/adiwg/mdtranslator/writers/html/sections/html_bodyScript.js +275 -150
- data/lib/adiwg/mdtranslator/writers/html/sections/html_boundingBox.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb +142 -82
- data/lib/adiwg/mdtranslator/writers/html/sections/html_constraint.rb +118 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +166 -94
- data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageInfo.rb +57 -64
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataDictionary.rb +102 -96
- data/lib/adiwg/mdtranslator/writers/html/sections/html_date.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_datetime.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dimension.rb +50 -52
- data/lib/adiwg/mdtranslator/writers/html/sections/html_distribution.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_distributor.rb +48 -44
- data/lib/adiwg/mdtranslator/writers/html/sections/html_document.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_domain.rb +53 -62
- data/lib/adiwg/mdtranslator/writers/html/sections/html_domainItem.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_duration.rb +68 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb +99 -122
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entityAttribute.rb +94 -100
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entityForeignKey.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entityIndex.rb +39 -39
- data/lib/adiwg/mdtranslator/writers/html/sections/html_extent.rb +53 -86
- data/lib/adiwg/mdtranslator/writers/html/sections/html_feature.rb +97 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_featureCollection.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_featureProperties.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_format.rb +46 -34
- data/lib/adiwg/mdtranslator/writers/html/sections/html_funding.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicElement.rb +61 -194
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicExtent.rb +112 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryCollection.rb +78 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryObject.rb +46 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_georectifiedRepresentation.rb +93 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_georeferenceableRepresentation.rb +78 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_graphic.rb +75 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_gridRepresentation.rb +61 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_head.rb +47 -60
- data/lib/adiwg/mdtranslator/writers/html/sections/html_identifier.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_imageInfo.rb +92 -110
- data/lib/adiwg/mdtranslator/writers/html/sections/html_inlineCss.css +16 -8
- data/lib/adiwg/mdtranslator/writers/html/sections/html_keyword.rb +47 -45
- data/lib/adiwg/mdtranslator/writers/html/sections/html_legalConstraint.rb +41 -48
- data/lib/adiwg/mdtranslator/writers/html/sections/html_lineage.rb +87 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_locale.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_maintenance.rb +96 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_measure.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_medium.rb +74 -52
- data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataInfo.rb +162 -131
- data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataRepository.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_onlineResource.rb +52 -55
- data/lib/adiwg/mdtranslator/writers/html/sections/html_orderProcess.rb +53 -55
- data/lib/adiwg/mdtranslator/writers/html/sections/html_processStep.rb +89 -57
- data/lib/adiwg/mdtranslator/writers/html/sections/html_releasability.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resolution.rb +46 -38
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceInfo.rb +402 -291
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceType.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibility.rb +81 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +60 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_scopeDescription.rb +54 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_securityConstraint.rb +46 -47
- data/lib/adiwg/mdtranslator/writers/html/sections/html_source.rb +123 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReference.rb +43 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialRepresentation.rb +77 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomy.rb +138 -90
- data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomyClass.rb +63 -50
- data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalExtent.rb +66 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInstant.rb +60 -42
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInterval.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timePeriod.rb +88 -43
- data/lib/adiwg/mdtranslator/writers/html/sections/html_transferOption.rb +68 -50
- data/lib/adiwg/mdtranslator/writers/html/sections/html_usage.rb +118 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorObject.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorRepresentation.rb +46 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalExtent.rb +62 -0
- data/lib/adiwg/mdtranslator/writers/html/version.rb +12 -11
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_address.rb +70 -75
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_baseUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_codelist.rb +14 -13
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_contact.rb +50 -34
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_conventionalUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_definitionUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_derivedUnit.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_fcFeatureCatalogue.rb +205 -0
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureAttribute.rb +39 -38
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureConstraint.rb +9 -10
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureType.rb +48 -40
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_listedValue.rb +22 -20
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_locale.rb +69 -0
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_multiplicity.rb +24 -17
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_onlineResource.rb +33 -29
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_phone.rb +83 -0
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_responsibleParty.rb +77 -64
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_unitsOfMeasure.rb +20 -20
- data/lib/adiwg/mdtranslator/writers/iso19110/iso19110_writer.rb +21 -32
- data/lib/adiwg/mdtranslator/writers/iso19110/readme.md +3 -8
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_address.rb +70 -74
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_aggregateInformation.rb +30 -32
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_attributeGroup.rb +70 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_baseUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingBox.rb +77 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_browseGraphic.rb +26 -24
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_citation.rb +111 -100
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_codelist.rb +14 -13
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contact.rb +50 -34
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_conventionalUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_coverageDescription.rb +99 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataIdentification.rb +195 -270
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataQuality.rb +26 -35
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_date.rb +31 -38
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_definitionUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_derivedUnit.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dimension.rb +26 -23
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distribution.rb +19 -16
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distributor.rb +51 -66
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_enumerationList.rb +12 -12
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_metadataExtension.rb → class_extension.rb} +94 -67
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_extent.rb +43 -59
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_feature.rb +67 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb +56 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureProperties.rb +65 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_format.rb +48 -27
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_fraction.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gcoDateTime.rb +48 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicElement.rb +55 -26
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicExtent.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometricObjects.rb +56 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometryCollection.rb +88 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georectified.rb +121 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georeferenceable.rb +86 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gmlIdentifier.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_grid.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridRepresentation.rb +36 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_hierarchy.rb +58 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_image.rb +144 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_keyword.rb +41 -35
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_legalConstraints.rb +46 -37
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineString.rb +45 -51
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineage.rb +29 -31
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_locale.rb +21 -17
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenance.rb +119 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_mdBand.rb +121 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_identifier.rb → class_mdIdentifier.rb} +25 -27
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_measure.rb +48 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_medium.rb +66 -42
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miBand.rb +91 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miMetadata.rb +352 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiLine.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPoint.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPolygon.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_onlineResource.rb +33 -29
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_standardOrderProcess.rb → class_orderProcess.rb} +33 -35
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_phone.rb +83 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_point.rb +46 -51
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_polygon.rb +54 -61
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_processStep.rb +46 -34
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeDimension.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_referenceSystem.rb +24 -25
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resolution.rb +32 -31
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_responsibleParty.rb +75 -65
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rsIdentifier.rb +86 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scope.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scopeDescription.rb +54 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_securityConstraints.rb +47 -32
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_series.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_source.rb +58 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_spatialRepresentation.rb +64 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_taxonClassification.rb → class_taxonomicClassification.rb} +35 -38
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomicSystem.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomy.rb +144 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_temporalExtent.rb +15 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timeInstant.rb +42 -19
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timePeriod.rb +79 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_transferOptions.rb +91 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_unitsOfMeasure.rb +22 -22
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_usage.rb +70 -28
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_useConstraints.rb +18 -17
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vectorRepresentation.rb +59 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_verticalExtent.rb +39 -26
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vouchers.rb +20 -20
- data/lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb +22 -133
- data/lib/adiwg/mdtranslator/writers/iso19115_2/readme.md +1 -7
- data/lib/adiwg/mdtranslator/writers/mdJson/mdJson_writer.rb +44 -41
- data/lib/adiwg/mdtranslator/writers/mdJson/readme.md +3 -9
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDocumentation.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_address.rb +29 -17
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_associatedResource.rb +30 -16
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attribute.rb +48 -22
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attributeGroup.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_boundingBox.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_citation.rb +41 -26
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_constraint.rb +40 -23
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_contact.rb +39 -24
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageDescription.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_date.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dateTime.rb +33 -13
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +35 -25
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dimension.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distribution.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributor.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domain.rb +30 -20
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domainItem.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_duration.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entity.rb +35 -32
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityAttribute.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityForeignKey.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityIndex.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_extent.rb +31 -21
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_format.rb +26 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicExtent.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georectifiedRepresentation.rb +35 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georeferenceableRepresentation.rb +36 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_graphicOverview.rb +31 -15
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridRepresentation.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_identifier.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_imageDescription.rb +41 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keyword.rb +28 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keywordObject.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_lineageInfo.rb +38 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_locale.rb +25 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_maintenance.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_mdJson.rb +54 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_measure.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_medium.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +35 -22
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadataInfo.rb +39 -29
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb +27 -16
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_orderProcess.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_party.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_phone.rb +25 -14
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processStep.rb +34 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_releasability.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_repository.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb +61 -56
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceType.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_responsibleParty.rb +29 -13
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scope.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scopeDescription.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_securityConstraint.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_series.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_source.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialReference.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialRepresentation.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialResolution.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicClassification.rb +35 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicSystem.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomy.rb +36 -26
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalExtent.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInstant.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInterval.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timePeriod.rb +34 -15
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_transferOption.rb +32 -26
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_usage.rb +33 -17
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorObject.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorRepresentation.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalExtent.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_voucher.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/version.rb +13 -9
- data/lib/adiwg/mdtranslator/writers/mdWriters.rb +36 -28
- data/lib/adiwg/mdtranslator.rb +135 -113
- data/lib/adiwg/mdtranslator_cli.rb +191 -0
- metadata +238 -215
- data/lib/adiwg/mdtranslator/internal/module_geoFormat.rb +0 -219
- data/lib/adiwg/mdtranslator/internal/module_lineString.rb +0 -18
- data/lib/adiwg/mdtranslator/internal/module_point.rb +0 -18
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_additionalDocumentation.rb +0 -64
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_address.rb +0 -91
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_associatedResource.rb +0 -100
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_boundingBox.rb +0 -64
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_browseGraphic.rb +0 -79
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_citation.rb +0 -141
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedData.rb +0 -49
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedDataItem.rb +0 -53
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_contacts.rb +0 -164
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageInfo.rb +0 -83
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageItem.rb +0 -136
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataDictionary.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataQuality.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_descriptiveKeyword.rb +0 -77
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dictionaryInfo.rb +0 -82
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_digitalTransferOption.rb +0 -80
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dimension.rb +0 -81
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionInfo.rb +0 -89
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionOrder.rb +0 -62
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domain.rb +0 -96
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domainItem.rb +0 -72
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entity.rb +0 -131
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityAttribute.rb +0 -134
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityForeignKey.rb +0 -73
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityIndex.rb +0 -72
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_extent.rb +0 -75
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoCoordSystem.rb +0 -59
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoProperties.rb +0 -102
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geographicElement.rb +0 -189
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_gridInfo.rb +0 -67
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_imageInfo.rb +0 -119
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_legalConstraint.rb +0 -62
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineString.rb +0 -37
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineage.rb +0 -67
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_locale.rb +0 -57
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_mdJson.rb +0 -68
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_medium.rb +0 -73
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadata.rb +0 -90
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataExtension.rb +0 -53
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataInfo.rb +0 -152
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_onlineResource.rb +0 -84
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_phone.rb +0 -81
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_point.rb +0 -37
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_polygon.rb +0 -67
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_processStep.rb +0 -88
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resolution.rb +0 -59
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceFormat.rb +0 -57
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceIdentifier.rb +0 -85
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceInfo.rb +0 -374
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceMaintenance.rb +0 -63
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceSpecificUsage.rb +0 -63
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_responsibleParty.rb +0 -68
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_securityConstraint.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_sensorInfo.rb +0 -69
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_source.rb +0 -65
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_spatialReference.rb +0 -61
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonClass.rb +0 -56
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonomy.rb +0 -96
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_temporalElement.rb +0 -84
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timeInstant.rb +0 -58
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timePeriod.rb +0 -66
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_verticalElement.rb +0 -66
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_voucher.rb +0 -51
- data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/version.rb +0 -19
- data/lib/adiwg/mdtranslator/readers/mdJson/validator.rb +0 -43
- data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_validator.rb +0 -44
- data/lib/adiwg/mdtranslator/writers/html/md_html_writer.rb +0 -59
- data/lib/adiwg/mdtranslator/writers/html/sections/html_browseGraphic.rb +0 -59
- data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageItem.rb +0 -139
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataLineage.rb +0 -68
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataSource.rb +0 -67
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dateTime.rb +0 -41
- data/lib/adiwg/mdtranslator/writers/html/sections/html_domainMember.rb +0 -52
- data/lib/adiwg/mdtranslator/writers/html/sections/html_gridInfo.rb +0 -65
- data/lib/adiwg/mdtranslator/writers/html/sections/html_headScript.js +0 -18
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceContact.rb +0 -37
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceGeneral.rb +0 -133
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceId.rb +0 -77
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceMaint.rb +0 -56
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceOther.rb +0 -88
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceUsage.rb +0 -56
- data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibleParty.rb +0 -39
- data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReferenceSystem.rb +0 -58
- data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalElement.rb +0 -61
- data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalElement.rb +0 -59
- data/lib/adiwg/mdtranslator/writers/iso19110/class_FCfeatureCatalogue.rb +0 -191
- data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_telephone.rb +0 -92
- data/lib/adiwg/mdtranslator/writers/iso19110/version.rb +0 -14
- data/lib/adiwg/mdtranslator/writers/iso19115_2/class_MImetadata.rb +0 -391
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_band.rb +0 -165
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingPolygon.rb +0 -90
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contentInfo.rb +0 -111
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_digitalTransferOptions.rb +0 -92
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicBoundingBox.rb +0 -89
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicDescription.rb +0 -44
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridInfo.rb +0 -80
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_imageDescription.rb +0 -157
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenanceInformation.rb +0 -80
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiGeometry.rb +0 -156
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeElementDescription.rb +0 -88
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resourceIdentifier.rb +0 -94
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonSystem.rb +0 -115
- data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_telephone.rb +0 -92
- data/lib/adiwg/mdtranslator/writers/iso19115_2/version.rb +0 -17
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDoc.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_base.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +0 -32
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributionInfo.rb +0 -31
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicElement.rb +0 -81
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridInfo.rb +0 -27
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceIdentifier.rb +0 -23
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceMaintenance.rb +0 -23
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialreference.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxon.rb +0 -19
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalElement.rb +0 -38
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalElement.rb +0 -20
- data/test/readers/mdJson/v1/tc_reader_mdjson_additionalDocumentation.rb +0 -116
- data/test/readers/mdJson/v1/tc_reader_mdjson_address.rb +0 -111
- data/test/readers/mdJson/v1/tc_reader_mdjson_associatedResource.rb +0 -157
- data/test/readers/mdJson/v1/tc_reader_mdjson_browseGraphic.rb +0 -119
- data/test/readers/mdJson/v1/tc_reader_mdjson_citation.rb +0 -143
- data/test/readers/mdJson/v1/tc_reader_mdjson_contact.rb +0 -138
- data/test/readers/mdJson/v1/tc_reader_mdjson_dataQuality.rb +0 -111
- data/test/readers/mdJson/v1/tc_reader_mdjson_dateTime.rb +0 -159
- data/test/readers/mdJson/v1/tc_reader_mdjson_descriptiveKeyword.rb +0 -115
- data/test/readers/mdJson/v1/tc_reader_mdjson_dictionaryInfo.rb +0 -121
- data/test/readers/mdJson/v1/tc_reader_mdjson_digitalTransferOption.rb +0 -94
- data/test/readers/mdJson/v1/tc_reader_mdjson_distributionOrder.rb +0 -103
- data/test/readers/mdJson/v1/tc_reader_mdjson_domain.rb +0 -130
- data/test/readers/mdJson/v1/tc_reader_mdjson_domainItem.rb +0 -98
- data/test/readers/mdJson/v1/tc_reader_mdjson_entity.rb +0 -134
- data/test/readers/mdJson/v1/tc_reader_mdjson_entityAttribute.rb +0 -154
- data/test/readers/mdJson/v1/tc_reader_mdjson_entityForeignKey.rb +0 -100
- data/test/readers/mdJson/v1/tc_reader_mdjson_entityIndex.rb +0 -99
- data/test/readers/mdJson/v1/tc_reader_mdjson_legalConstraint.rb +0 -104
- data/test/readers/mdJson/v1/tc_reader_mdjson_lineage.rb +0 -117
- data/test/readers/mdJson/v1/tc_reader_mdjson_medium.rb +0 -98
- data/test/readers/mdJson/v1/tc_reader_mdjson_metadataInfo.rb +0 -141
- data/test/readers/mdJson/v1/tc_reader_mdjson_onlineResource.rb +0 -110
- data/test/readers/mdJson/v1/tc_reader_mdjson_phone.rb +0 -112
- data/test/readers/mdJson/v1/tc_reader_mdjson_processStep.rb +0 -118
- data/test/readers/mdJson/v1/tc_reader_mdjson_resolution.rb +0 -77
- data/test/readers/mdJson/v1/tc_reader_mdjson_source.rb +0 -117
- data/test/readers/mdJson/v1/tc_reader_mdjson_translation.rb +0 -85
- data/test/readers/mdJson/v1/tc_translation_19110.rb +0 -58
- data/test/readers/sbJson/v0/tc_reader_sbjson_translation.rb +0 -81
- data/test/readers/sbJson/v0/test.json +0 -431
- data/test/readers/sbJson/v0/test1.json +0 -383
- data/test/writers/iso19115_2/tc_writer_iso19115_2_address.rb +0 -229
- data/test/writers/mdJson/v1/tc_writer_mdJson.rb +0 -62
- data/test/writers/sbJson/v0/tc_writer_sbJson.rb +0 -62
@@ -1,12 +1,13 @@
|
|
1
1
|
# ISO <<Class>> MD_Constraints
|
2
|
-
# writer output in XML
|
2
|
+
# 19115-2 writer output in XML
|
3
3
|
|
4
4
|
# History:
|
5
|
-
#
|
6
|
-
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
7
|
-
# Stan Smith 2015-06-22 replace global ($response) with passed in object (responseObj)
|
8
|
-
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
5
|
+
# Stan Smith 2016-12-13 refactored for mdTranslator/mdJson 2.0
|
9
6
|
# Stan Smith 2015-07-14 refactored to eliminate namespace globals $WriterNS and $IsoNS
|
7
|
+
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
8
|
+
# Stan Smith 2015-06-22 replace global ($response) with passed in object (hResponseObj)
|
9
|
+
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
10
|
+
# Stan Smith 2013-10-31 original script
|
10
11
|
|
11
12
|
module ADIWG
|
12
13
|
module Mdtranslator
|
@@ -15,29 +16,29 @@ module ADIWG
|
|
15
16
|
|
16
17
|
class MD_Constraints
|
17
18
|
|
18
|
-
def initialize(xml,
|
19
|
+
def initialize(xml, hResponseObj)
|
19
20
|
@xml = xml
|
20
|
-
@
|
21
|
+
@hResponseObj = hResponseObj
|
21
22
|
end
|
22
23
|
|
23
|
-
def writeXML(
|
24
|
+
def writeXML(hConstraint)
|
24
25
|
|
25
26
|
@xml.tag!('gmd:MD_Constraints') do
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
# use constraints - use limitation []
|
29
|
+
aCons = hConstraint[:useLimitation]
|
30
|
+
aCons.each do |useCon|
|
30
31
|
@xml.tag!('gmd:useLimitation') do
|
31
32
|
@xml.tag!('gco:CharacterString', useCon)
|
32
33
|
end
|
33
|
-
|
34
|
+
end
|
35
|
+
if aCons.empty?
|
36
|
+
@xml.tag!('gmd:useLimitation')
|
34
37
|
end
|
35
38
|
|
36
|
-
end
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
39
|
+
end # gmd:MD_Constraints tag
|
40
|
+
end # writeXML
|
41
|
+
end # MD_Constraints class
|
41
42
|
|
42
43
|
end
|
43
44
|
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# ISO <<Class>> MD_VectorSpatialRepresentation
|
2
|
+
# 19115-2 writer output in XML
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2016-12-08 original script.
|
6
|
+
|
7
|
+
require_relative 'class_codelist'
|
8
|
+
require_relative 'class_geometricObjects'
|
9
|
+
|
10
|
+
module ADIWG
|
11
|
+
module Mdtranslator
|
12
|
+
module Writers
|
13
|
+
module Iso19115_2
|
14
|
+
|
15
|
+
class MD_VectorSpatialRepresentation
|
16
|
+
|
17
|
+
def initialize(xml, hResponseObj)
|
18
|
+
@xml = xml
|
19
|
+
@hResponseObj = hResponseObj
|
20
|
+
end
|
21
|
+
|
22
|
+
def writeXML(hVector)
|
23
|
+
|
24
|
+
# classes used
|
25
|
+
codelistClass = MD_Codelist.new(@xml, @hResponseObj)
|
26
|
+
geoObjClass = MD_GeometricObjects.new(@xml, @hResponseObj)
|
27
|
+
|
28
|
+
@xml.tag!('gmd:MD_VectorSpatialRepresentation') do
|
29
|
+
|
30
|
+
# vector representation - topology level
|
31
|
+
s = hVector[:topologyLevel]
|
32
|
+
unless s.nil?
|
33
|
+
@xml.tag!('gmd:topologyLevel') do
|
34
|
+
codelistClass.writeXML('gmd', 'iso_topologyLevel', s)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
if s.nil? && @hResponseObj[:writerShowTags]
|
38
|
+
@xml.tag!('gmd:topologyLevel')
|
39
|
+
end
|
40
|
+
|
41
|
+
# vector representation - geometric objects [{MD_GeometricObjects}]
|
42
|
+
aGeoObjs = hVector[:vectorObject]
|
43
|
+
aGeoObjs.each do |hGeoObj|
|
44
|
+
@xml.tag!('gmd:geometricObjects') do
|
45
|
+
geoObjClass.writeXML(hGeoObj)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
if aGeoObjs.empty? && @hResponseObj[:writerShowTags]
|
49
|
+
@xml.tag!('gmd:geometricObjects')
|
50
|
+
end
|
51
|
+
|
52
|
+
end # gmd:MD_VectorSpatialRepresentation tag
|
53
|
+
end # writeXML
|
54
|
+
end # MD_VectorSpatialRepresentation class
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -1,12 +1,13 @@
|
|
1
1
|
# ISO <<Class>> EX_VerticalExtent
|
2
|
-
# writer output in XML
|
2
|
+
# 19115-2 writer output in XML
|
3
3
|
|
4
4
|
# History:
|
5
|
-
#
|
6
|
-
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
7
|
-
# Stan Smith 2015-06-22 replace global ($response) with passed in object (responseObj)
|
8
|
-
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
5
|
+
# Stan Smith 2016-12-01 refactored for mdTranslator/mdJson 2.0
|
9
6
|
# Stan Smith 2015-07-14 refactored to eliminate namespace globals $WriterNS and $IsoNS
|
7
|
+
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
8
|
+
# Stan Smith 2015-06-22 replace global ($response) with passed in object (hResponseObj)
|
9
|
+
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
10
|
+
# Stan Smith 2013-11-15 original script
|
10
11
|
|
11
12
|
module ADIWG
|
12
13
|
module Mdtranslator
|
@@ -15,16 +16,16 @@ module ADIWG
|
|
15
16
|
|
16
17
|
class EX_VerticalExtent
|
17
18
|
|
18
|
-
def initialize(xml,
|
19
|
+
def initialize(xml, hResponseObj)
|
19
20
|
@xml = xml
|
20
|
-
@
|
21
|
+
@hResponseObj = hResponseObj
|
21
22
|
end
|
22
23
|
|
23
24
|
def writeXML(hVertEle)
|
24
25
|
|
25
26
|
@xml.tag!('gmd:EX_VerticalExtent') do
|
26
27
|
|
27
|
-
# vertical extent - minimum value
|
28
|
+
# vertical extent - minimum value (required)
|
28
29
|
s = hVertEle[:minValue]
|
29
30
|
if s.nil?
|
30
31
|
@xml.tag!('gmd:minimumValue', {'gco:nilReason' => 'missing'})
|
@@ -34,7 +35,7 @@ module ADIWG
|
|
34
35
|
end
|
35
36
|
end
|
36
37
|
|
37
|
-
# vertical extent - maximum value
|
38
|
+
# vertical extent - maximum value (required)
|
38
39
|
s = hVertEle[:maxValue]
|
39
40
|
if s.nil?
|
40
41
|
@xml.tag!('gmd:maximumValue', {'gco:nilReason' => 'missing'})
|
@@ -44,29 +45,41 @@ module ADIWG
|
|
44
45
|
end
|
45
46
|
end
|
46
47
|
|
47
|
-
# vertical extent - vertical crs
|
48
|
+
# vertical extent - vertical crs (attributes only) (required)
|
48
49
|
attributes = {}
|
49
|
-
|
50
|
-
|
51
|
-
|
50
|
+
title = nil
|
51
|
+
href = nil
|
52
|
+
hSpaceRef = hVertEle[:crsId]
|
53
|
+
unless hSpaceRef.empty?
|
54
|
+
hIdentifier = hSpaceRef[:systemIdentifier]
|
55
|
+
unless hIdentifier.empty?
|
56
|
+
title = hIdentifier[:identifier]
|
57
|
+
href = hIdentifier[:namespace]
|
58
|
+
hCitation = hIdentifier[:citation]
|
59
|
+
unless hCitation.empty?
|
60
|
+
hOnline = hCitation[:onlineResources][0]
|
61
|
+
unless hOnline.empty?
|
62
|
+
href = hOnline[:olResURI]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
52
66
|
end
|
53
|
-
|
54
|
-
|
55
|
-
|
67
|
+
unless href.nil?
|
68
|
+
attributes['xlink:href'] = href
|
69
|
+
end
|
70
|
+
unless title.nil?
|
71
|
+
attributes['xlink:title'] = title
|
72
|
+
end
|
73
|
+
unless attributes.empty?
|
74
|
+
@xml.tag!('gmd:verticalCRS', attributes)
|
56
75
|
end
|
57
|
-
|
58
76
|
if attributes.empty?
|
59
|
-
|
77
|
+
@xml.tag!('gmd:verticalCRS', {'gco:nilReason'=>'missing'})
|
60
78
|
end
|
61
79
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
|
69
|
-
end
|
80
|
+
end # EX_VerticalExtent tag
|
81
|
+
end # writeXML
|
82
|
+
end # EX_VerticalExtent class
|
70
83
|
|
71
84
|
end
|
72
85
|
end
|
@@ -1,13 +1,14 @@
|
|
1
1
|
# ISO <<Class>> MD_Vouchers
|
2
|
-
# writer output in XML
|
2
|
+
# 19115-2 writer output in XML
|
3
3
|
|
4
4
|
# History:
|
5
|
-
#
|
6
|
-
# Stan Smith 2014-07-08 modify require statements to function in RubyGem structure
|
7
|
-
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
8
|
-
# Stan Smith 2015-06-22 replace global ($response) with passed in object (responseObj)
|
9
|
-
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
5
|
+
# Stan Smith 2016-12-09 refactored for mdTranslator/mdJson 2.0
|
10
6
|
# Stan Smith 2015-07-14 refactored to eliminate namespace globals $WriterNS and $IsoNS
|
7
|
+
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
8
|
+
# Stan Smith 2015-06-22 replace global ($response) with passed in object (hResponseObj)
|
9
|
+
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
10
|
+
# Stan Smith 2014-07-08 modify require statements to function in RubyGem structure
|
11
|
+
# Stan Smith 2013-11-19 original script
|
11
12
|
|
12
13
|
require_relative 'class_responsibleParty'
|
13
14
|
|
@@ -18,19 +19,19 @@ module ADIWG
|
|
18
19
|
|
19
20
|
class MD_Vouchers
|
20
21
|
|
21
|
-
def initialize(xml,
|
22
|
+
def initialize(xml, hResponseObj)
|
22
23
|
@xml = xml
|
23
|
-
@
|
24
|
+
@hResponseObj = hResponseObj
|
24
25
|
end
|
25
26
|
|
26
27
|
def writeXML(hVoucher)
|
27
28
|
|
28
29
|
# classes used in MD_Vouchers
|
29
|
-
|
30
|
+
partyClass = CI_ResponsibleParty.new(@xml, @hResponseObj)
|
30
31
|
|
31
32
|
@xml.tag!('gmd:MD_Vouchers') do
|
32
33
|
|
33
|
-
# voucher - specimen
|
34
|
+
# voucher - specimen (required)
|
34
35
|
s = hVoucher[:specimen]
|
35
36
|
if s.nil?
|
36
37
|
@xml.tag!('gmd:specimen', {'gco:nilReason' => 'missing'})
|
@@ -40,22 +41,21 @@ module ADIWG
|
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
43
|
-
# voucher - repository
|
44
|
-
|
45
|
-
if
|
44
|
+
# voucher - repository (required) {MD_ResponsibleParty}
|
45
|
+
hRParty = hVoucher[:repository]
|
46
|
+
if hRParty.empty?
|
46
47
|
@xml.tag!('gmd:reposit', {'gco:nilReason' => 'missing'})
|
47
48
|
else
|
49
|
+
role = hRParty[:roleName]
|
50
|
+
hParty = hRParty[:parties][0]
|
48
51
|
@xml.tag!('gmd:reposit') do
|
49
|
-
|
52
|
+
partyClass.writeXML(role, hParty)
|
50
53
|
end
|
51
|
-
|
52
54
|
end
|
53
55
|
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
end
|
56
|
+
end # gmd:MD_Vouchers tag
|
57
|
+
end # writeXML
|
58
|
+
end # MD_Vouchers class
|
59
59
|
|
60
60
|
end
|
61
61
|
end
|
@@ -1,168 +1,57 @@
|
|
1
1
|
# Writer - internal data structure to ISO 19115-2:2009
|
2
2
|
|
3
3
|
# History:
|
4
|
-
#
|
4
|
+
# Stan Smith 2016-11-14 refactor for mdJson/mdTranslator 2.0
|
5
|
+
# Stan Smith 2015-07-14 refactored to eliminate namespace globals $WriterNS and $IsoNS
|
6
|
+
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
7
|
+
# Stan Smith 2015-06-22 replace global ($response) with passed in object (hResponseObj)
|
8
|
+
# Stan Smith 2015-06-11 change all codelists to use 'class_codelist' method
|
9
|
+
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
10
|
+
# Stan Smith 2014-07-08 modify require statements to function in RubyGem structure
|
5
11
|
# Stan Smith 2014-06-04 add internal object pre-scan to create extents
|
6
12
|
# ... for geometry supplemental information
|
7
|
-
#
|
8
|
-
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
9
|
-
# Stan Smith 2015-06-11 change all codelists to use 'class_codelist' method
|
10
|
-
# Stan Smith 2015-06-22 replace global ($response) with passed in object (responseObj)
|
11
|
-
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
12
|
-
# Stan Smith 2015-07-14 refactored to eliminate namespace globals $WriterNS and $IsoNS
|
13
|
+
# Stan Smith 2013-08-10 original script
|
13
14
|
|
14
15
|
require 'builder'
|
15
|
-
|
16
|
-
require 'uuidtools'
|
17
|
-
require_relative 'version'
|
18
|
-
require_relative 'class_MImetadata'
|
16
|
+
require_relative 'classes/class_miMetadata'
|
19
17
|
|
20
18
|
module ADIWG
|
21
19
|
module Mdtranslator
|
22
20
|
module Writers
|
23
21
|
module Iso19115_2
|
24
22
|
|
25
|
-
def self.startWriter(intObj,
|
23
|
+
def self.startWriter(intObj, hResponseObj)
|
26
24
|
|
27
|
-
# make
|
28
|
-
@
|
29
|
-
@responseObj = responseObj
|
25
|
+
# make contact available to the instance
|
26
|
+
@contacts = intObj[:contacts]
|
30
27
|
|
31
28
|
# set the format of the output file based on the writer specified
|
32
|
-
|
33
|
-
responseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::Iso19115_2::VERSION
|
34
|
-
|
35
|
-
# pre-scan the internal object to create a new extents for each geometry
|
36
|
-
# ... that has supplemental information (temporal, vertical, identity).
|
37
|
-
# ... the new extents will be added to internalObj
|
38
|
-
prescanGeoElements()
|
29
|
+
hResponseObj[:writerFormat] = 'xml'
|
39
30
|
|
40
31
|
# create new XML document
|
41
32
|
xml = Builder::XmlMarkup.new(indent: 3)
|
42
|
-
metadataWriter = MI_Metadata.new(xml, responseObj)
|
43
|
-
metadata = metadataWriter.writeXML(@intObj)
|
44
33
|
|
45
|
-
#
|
46
|
-
|
47
|
-
|
48
|
-
if responseObj[:writerPass].nil?
|
49
|
-
responseObj[:writerPass] = true
|
50
|
-
end
|
34
|
+
# start writing the ISO 19115-2 XML record
|
35
|
+
metadataWriter = MI_Metadata.new(xml, hResponseObj)
|
36
|
+
metadata = metadataWriter.writeXML(intObj)
|
51
37
|
|
52
38
|
return metadata
|
53
|
-
end
|
54
|
-
|
55
|
-
def self.prescanGeoElements()
|
56
|
-
# supplemental information for the geographic element is carried in the
|
57
|
-
# ... internal structure in the temporalElements:, verticalElements:,
|
58
|
-
# ... and elementIdentifiers: attributes of the extGeoElements:
|
59
|
-
# ... of the extent.
|
60
|
-
# since temporal, vertical, and identify information in ISO is a property
|
61
|
-
# ... of EX_Extent and not of the geographicElement,
|
62
|
-
# ... this code creates a new extent for each geographicElement
|
63
|
-
# ... that has supplemental information and
|
64
|
-
# ... moves the supplemental information from the geometry to the new extent.
|
65
|
-
# In this implementation, supplemental information is only allowed for
|
66
|
-
# ... geometry types of Point, LineString, and Polygon
|
67
|
-
aExtents = @intObj[:metadata][:resourceInfo][:extents]
|
68
|
-
unless aExtents.empty?
|
69
|
-
aExtents.each do |hExtent|
|
70
|
-
aGeoElements = hExtent[:extGeoElements]
|
71
|
-
unless aGeoElements.empty?
|
72
|
-
aGeoElements.each do |hGeoElement|
|
73
|
-
hGeometry = hGeoElement[:elementGeometry]
|
74
|
-
unless hGeometry.empty?
|
75
|
-
geoType = hGeometry[:geoType]
|
76
|
-
case geoType
|
77
|
-
when 'Point', 'LineString', 'Polygon'
|
78
|
-
newExtent = extentFromGeoElement(hGeoElement, geoType)
|
79
|
-
if !newExtent.nil?
|
80
|
-
aExtents << newExtent
|
81
|
-
end
|
82
|
-
|
83
|
-
when 'MultiGeometry'
|
84
|
-
aGeoMembers = hGeometry[:geometry]
|
85
|
-
unless aGeoMembers.empty?
|
86
|
-
aGeoMembers.each do |hGeoMemberElement|
|
87
|
-
hGeometry = hGeoMemberElement[:elementGeometry]
|
88
|
-
unless hGeometry.empty?
|
89
|
-
geoType = hGeometry[:geoType]
|
90
|
-
case geoType
|
91
|
-
when 'Point', 'LineString', 'Polygon'
|
92
|
-
newExtent = extentFromGeoElement(hGeoMemberElement, geoType)
|
93
|
-
if !newExtent.nil?
|
94
|
-
aExtents << newExtent
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
def self.extentFromGeoElement(hGeoElement, geoType)
|
109
|
-
# build new extent to portray supplemental information
|
110
|
-
# from elementGeometry
|
111
|
-
if !hGeoElement[:temporalElements].empty? ||
|
112
|
-
!hGeoElement[:verticalElements].empty? ||
|
113
|
-
!hGeoElement[:elementIdentifiers].empty?
|
114
|
-
|
115
|
-
# get unique id for geometry
|
116
|
-
# if geometry id was missing, set it at this time so
|
117
|
-
# ... it will match the supplemental information extent description
|
118
|
-
geoID = hGeoElement[:elementId]
|
119
|
-
if geoID.nil?
|
120
|
-
@responseObj[:writerMissingIdCount] = @responseObj[:writerMissingIdCount].succ
|
121
|
-
geoID = geoType + @responseObj[:writerMissingIdCount]
|
122
|
-
hGeoElement[:elementId] = geoID
|
123
|
-
end
|
124
|
-
|
125
|
-
# build unique id for extent geometry
|
126
|
-
@responseObj[:writerMissingIdCount] = @responseObj[:writerMissingIdCount].succ
|
127
|
-
extGeoID = geoType + @responseObj[:writerMissingIdCount]
|
128
|
-
|
129
|
-
intMetadataClass = InternalMetadata.new
|
130
|
-
intExtent = intMetadataClass.newExtent
|
131
|
-
intGeoEle = intMetadataClass.newGeoElement
|
132
|
-
|
133
|
-
intGeoEle[:elementId] = extGeoID
|
134
|
-
intGeoEle[:elementGeometry] = hGeoElement[:elementGeometry]
|
135
|
-
|
136
|
-
intExtent[:extDesc] = 'Supplemental information for ' + geoID
|
137
|
-
intExtent[:extGeoElements] << intGeoEle
|
138
|
-
intExtent[:extIdElements] = hGeoElement[:elementIdentifiers]
|
139
|
-
intExtent[:extTempElements] = hGeoElement[:temporalElements]
|
140
|
-
intExtent[:extVertElements] = hGeoElement[:verticalElements]
|
141
|
-
|
142
|
-
return intExtent
|
143
|
-
|
144
|
-
else
|
145
|
-
return nil
|
146
|
-
end
|
147
39
|
|
148
40
|
end
|
149
41
|
|
150
42
|
# find contact in contact array and return the contact hash
|
151
|
-
def self.getContact(
|
152
|
-
|
153
|
-
|
154
|
-
|
43
|
+
def self.getContact(contactId)
|
44
|
+
|
45
|
+
@contacts.each do |contact|
|
46
|
+
if contact[:contactId] == contactId
|
47
|
+
return contact
|
155
48
|
end
|
156
49
|
end
|
157
50
|
return {}
|
51
|
+
|
158
52
|
end
|
159
53
|
|
160
54
|
end
|
161
|
-
|
162
55
|
end
|
163
56
|
end
|
164
57
|
end
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
@@ -3,10 +3,4 @@
|
|
3
3
|
|
4
4
|
### Writer for ISO 19115-2:2009 Geographic Metadata
|
5
5
|
|
6
|
-
The mdTranslator iso19115_2 writer implements
|
7
|
-
Efforts were made to include all elements of the ISO standard that support general data
|
8
|
-
descriptions to ensure generation of health and robust project and data metadata records.
|
9
|
-
The significant section of 19115-2 not supported by the writer is the 'quantitative'
|
10
|
-
Data Quality section. There are currently no plans to add this section to the ISO 19115-2
|
11
|
-
writer.
|
12
|
-
|
6
|
+
The mdTranslator iso19115_2 writer implements approximately 95% of the for ISO 19115-2 standard. Efforts were made to include all elements of the ISO standard that support general data descriptions to ensure generation of health and robust project and data metadata records. The sections of 19115-2 not supported by the mdTranslator writer are the 'quantitative' section for data quality, portrayal catalog reference, and application schema information.
|
@@ -1,52 +1,55 @@
|
|
1
|
+
# mdJson 2.0 writer
|
2
|
+
|
3
|
+
# History:
|
4
|
+
# Stan Smith 2017-03-10 refactored for mdJson/mdTranslator 2.0
|
5
|
+
# Josh Bradley original script
|
6
|
+
|
1
7
|
require 'jbuilder'
|
2
8
|
require_relative 'version'
|
3
|
-
require_relative 'sections/
|
4
|
-
require_relative 'sections/mdJson_metadata'
|
5
|
-
require_relative 'sections/mdJson_dictionary'
|
9
|
+
require_relative 'sections/mdJson_mdJson'
|
6
10
|
|
7
11
|
module ADIWG
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
responseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::MdJson::VERSION
|
19
|
-
|
20
|
-
# version
|
21
|
-
metadata = Jbuilder.new do |json|
|
22
|
-
json.version do
|
23
|
-
json.name 'mdJson'
|
24
|
-
json.version responseObj[:writerVersion]
|
25
|
-
end
|
12
|
+
module Mdtranslator
|
13
|
+
module Writers
|
14
|
+
module MdJson
|
15
|
+
|
16
|
+
def self.startWriter(intObj, responseObj)
|
17
|
+
|
18
|
+
@intObj = intObj
|
19
|
+
|
20
|
+
# set output flag for null properties
|
21
|
+
Jbuilder.ignore_nil(!responseObj[:writerShowTags])
|
26
22
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
end
|
23
|
+
# set the format of the output file based on the writer specified
|
24
|
+
responseObj[:writerFormat] = 'json'
|
25
|
+
responseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::MdJson::VERSION
|
31
26
|
|
32
|
-
|
33
|
-
|
34
|
-
responseObj[:writerPass] = true if responseObj[:writerMessages].empty?
|
27
|
+
# write the mdJson metadata record
|
28
|
+
metadata = MdJson.build(intObj, responseObj)
|
35
29
|
|
36
|
-
|
37
|
-
|
30
|
+
# set writer pass to true if no messages
|
31
|
+
# false or warning will be set by code that places the message
|
32
|
+
responseObj[:writerPass] = true if responseObj[:writerMessages].empty?
|
38
33
|
|
39
|
-
|
40
|
-
|
34
|
+
# generated mdJson is not validated against schema
|
35
|
+
# mdJson record may be partial
|
36
|
+
# or mdJson may be conversion from other format destined for mdEditor
|
37
|
+
|
38
|
+
# encode the metadata target as JSON
|
39
|
+
metadata.target!
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
# ignore jBuilder object mapping when array is empty
|
44
|
+
def self.json_map(collection = [], _class)
|
45
|
+
if collection.nil? || collection.empty?
|
46
|
+
return nil
|
47
|
+
else
|
48
|
+
collection.map { |item| _class.build(item).attributes! }
|
49
|
+
end
|
50
|
+
end
|
41
51
|
|
42
|
-
|
43
|
-
def self.getContact(contactID)
|
44
|
-
@intObj[:contacts].each do |hContact|
|
45
|
-
return hContact if hContact[:contactId] == contactID
|
46
|
-
end
|
47
|
-
{}
|
48
|
-
end
|
52
|
+
end
|
49
53
|
end
|
50
|
-
|
51
|
-
end
|
54
|
+
end
|
52
55
|
end
|
@@ -3,17 +3,11 @@
|
|
3
3
|
|
4
4
|
### Supported versions
|
5
5
|
|
6
|
-
>
|
6
|
+
> 2.0.x
|
7
7
|
|
8
8
|
### Writer for ADIwg JSON metadata format (mdJson)
|
9
9
|
|
10
|
-
The mdJson format is a simple JSON format for documenting and exchanging information
|
11
|
-
about scientific projects and data. The Alaska Data Integration working group (ADIwg) wrote the
|
12
|
-
standard to support translation to complex standards such as the ISO 19115-2 Geographic Metadata standard
|
13
|
-
and FGDC's Content Standard for Digital Geospatial Metadata. The mdJson standard
|
14
|
-
remains independent of any published standards while comprehensive enough to support translation
|
15
|
-
to many. The mdJson standard is also a convenient format to exchange directly with other organizations as
|
16
|
-
the JSON structure is easier create and ingest by programming languages.
|
10
|
+
The mdJson format is a simple JSON format for documenting and exchanging information about scientific projects and data. The Alaska Data Integration working group (ADIwg) wrote the standard to support translation to complex standards such as the ISO 19115-2 Geographic Metadata standard and FGDC's Content Standard for Digital Geospatial Metadata. The mdJson standard remains independent of any published standards while comprehensive enough to support translation to established standards. The mdJson record is also a convenient format to exchange directly with other organizations as the JSON structure is easily created and ingest by programming languages.
|
17
11
|
|
18
12
|
The mdJson format is fully documented on the interactive
|
19
|
-
[mdTools](http://
|
13
|
+
[mdTools](http://mdTools.adiwg.org) website.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# mdJson 2.0 writer - additional documentation
|
2
|
+
|
3
|
+
# History:
|
4
|
+
# Stan Smith 2017-03-11 refactored for mdJson/mdTranslator 2.0
|
5
|
+
# Josh Bradley original script
|
6
|
+
|
7
|
+
require 'jbuilder'
|
8
|
+
require_relative 'mdJson_resourceType'
|
9
|
+
require_relative 'mdJson_citation'
|
10
|
+
|
11
|
+
module ADIWG
|
12
|
+
module Mdtranslator
|
13
|
+
module Writers
|
14
|
+
module MdJson
|
15
|
+
|
16
|
+
module AdditionalDocument
|
17
|
+
|
18
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
19
|
+
|
20
|
+
def self.build(hDocument)
|
21
|
+
|
22
|
+
Jbuilder.new do |json|
|
23
|
+
json.resourceType @Namespace.json_map(hDocument[:resourceTypes], ResourceType)
|
24
|
+
json.citation @Namespace.json_map(hDocument[:citation], Citation)
|
25
|
+
end
|
26
|
+
|
27
|
+
end # build
|
28
|
+
end # AdditionalDocument
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|