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.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/Gemfile.lock +84 -0
- data/Rakefile +1 -1
- data/adiwg-mdtranslator.gemspec +5 -5
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +1 -1
- data/lib/adiwg/mdtranslator/version.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +18 -10
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_additionalDocument.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_address.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_algorithm.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_associatedResource.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attribute.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attributeGroup.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_baseUnit.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_boundingBox.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_browseGraphic.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_citation.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_codelist.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraint.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraintCommon.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_contact.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_conventionalUnit.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_coverageDescription.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataIdentification.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataQuality.rb +9 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataQualityReport.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_date.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_definitionUnit.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_derivedUnit.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dimension.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distribution.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distributor.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_email.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_extent.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_feature.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCatalog.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCollection.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureProperties.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_format.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_fraction.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gcoDateTime.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicElement.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicExtent.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometricObjects.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometryCollection.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georectified.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georeferenceable.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gmlIdentifier.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_grid.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gridRepresentation.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_identifier.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_imageDescription.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_individual.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_keyword.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leProcessStep.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leSource.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_legalConstraints.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liProcessStep.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liSource.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineString.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineage.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_locale.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_maintenance.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdBand.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdMetadata.rb +7 -7
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_measure.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_medium.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_miBand.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiLine.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPoint.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPolygon.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_nominalResolution.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_onlineResource.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_orderProcess.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_organization.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_partyIdentifier.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_phone.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_point.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_polygon.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processReport.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processStep.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processing.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeDimension.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeElementDescription.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_referenceSystem.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_releasability.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_resolution.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_responsibility.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_sampleDimension.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scope.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scopeDescription.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_securityConstraints.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_series.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_source.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_spatialRepresentation.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_temporalExtent.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timeInstant.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timePeriod.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_transferOptions.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_unitsOfMeasure.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_usage.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_useConstraints.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_vectorRepresentation.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_verticalExtent.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer.rb → iso19115_3/iso19115_3_writer.rb} +10 -10
- data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer_messages_eng.yml → iso19115_3/iso19115_3_writer_messages_eng.yml} +1 -1
- data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/readme.md +3 -3
- data/lib/adiwg/mdtranslator/writers/iso19115_3/version.rb +12 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/readme.md +19 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb +48 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +114 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb +201 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bearingDistanceResolution.rb +68 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +324 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bodyScript.js +317 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_boundingBox.rb +69 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +165 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb +50 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedDataItem.rb +50 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb +118 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb +202 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coordinateResolution.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb +81 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb +126 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb +60 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_date.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_datetime.rb +42 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dimension.rb +69 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb +58 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb +66 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_document.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb +108 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb +64 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_duration.rb +68 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb +169 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb +179 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityForeignKey.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityIndex.rb +50 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb +75 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb +97 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb +66 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb +60 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb +79 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +120 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicResolution.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb +78 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb +46 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb +105 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb +91 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb +75 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb +76 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_head.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb +81 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb +102 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_inlineCss.css +237 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb +68 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_legalConstraint.rb +49 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +87 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_locale.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +96 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_measure.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +90 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +198 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb +56 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_nominalResolution.rb +51 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_obliqueLinePoint.rb +37 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_onlineResource.rb +74 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_orderProcess.rb +62 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processReport.rb +47 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb +171 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb +89 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_projectionParameters.rb +261 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_referenceSystemParameters.rb +65 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceFormat.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +485 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceType.rb +38 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +81 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb +60 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scopeDescription.rb +54 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_securityConstraint.rb +57 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb +155 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialReference.rb +70 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +77 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialResolution.rb +95 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +156 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomyClass.rb +75 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_temporalExtent.rb +65 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInterval.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +128 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +94 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +118 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorObject.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +62 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalDatumParameters.rb +70 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalExtent.rb +62 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/simple_html_writer.rb +44 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/version.rb +19 -0
- data/lib/adiwg/mdtranslator_cli.rb +2 -2
- metadata +225 -119
- 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
|
+
}
|