diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..bdf6b3859 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,14 @@ +name: Tests + +on: [push] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1 + with: + ruby-version: "3.1" # Not needed with a .ruby-version file + - run: bundle install + - run: bundle exec rake diff --git a/Gemfile.lock b/Gemfile.lock index 901865058..c452d740a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,73 +1,87 @@ PATH remote: . specs: - adiwg-mdtranslator (2.18.4) - adiwg-mdcodes (= 2.8.4) - adiwg-mdjson_schemas (= 2.8.1) + adiwg-mdtranslator (2.20.0.pre.beta.0) + adiwg-mdcodes (= 2.10.0) + adiwg-mdjson_schemas (= 2.9.5) builder (~> 3.2) coderay (~> 1.1) jbuilder (~> 2.5) json (~> 2.0) json-schema (~> 2.7) kramdown (>= 1.13, < 3.0) - nokogiri (~> 1.7) + nokogiri (~> 1.15) thor (~> 0.19) uuidtools (~> 2.1) GEM remote: https://rubygems.org/ specs: - actionview (5.2.8.1) - activesupport (= 5.2.8.1) + actionview (7.1.3.3) + activesupport (= 7.1.3.3) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activesupport (5.2.8.1) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activesupport (7.1.3.3) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.8.5) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) - adiwg-mdcodes (2.8.4) + adiwg-mdcodes (2.10.0) json (~> 2.0) - adiwg-mdjson_schemas (2.8.1) + adiwg-mdjson_schemas (2.9.5) + base64 (0.2.0) + bigdecimal (3.1.8) builder (3.2.4) coderay (1.1.3) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) crass (1.0.6) + drb (2.2.1) erubi (1.12.0) - i18n (1.14.1) + i18n (1.14.5) concurrent-ruby (~> 1.0) - jbuilder (2.11.5) + jbuilder (2.12.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.6.3) + json (2.7.2) json-schema (2.8.1) addressable (>= 2.4) kramdown (2.4.0) rexml - loofah (2.21.1) + loofah (2.22.0) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mini_portile2 (2.4.0) + nokogiri (>= 1.12.0) minitest (5.20.0) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - public_suffix (4.0.7) - rails-dom-testing (2.1.1) + mutex_m (0.2.0) + nokogiri (1.15.6-arm64-darwin) + racc (~> 1.4) + nokogiri (1.15.6-x86_64-linux) + racc (~> 1.4) + public_suffix (5.0.5) + racc (1.8.0) + rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.5.0) - loofah (~> 2.19, >= 2.19.1) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) rake (13.1.0) - rexml (3.2.5) + rexml (3.2.8) + strscan (>= 3.0.9) + strscan (3.1.0) thor (0.20.3) - thread_safe (0.3.6) - tzinfo (1.2.11) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uuidtools (2.2.0) PLATFORMS diff --git a/adiwg-mdtranslator.gemspec b/adiwg-mdtranslator.gemspec index 5b0890048..86dd83362 100644 --- a/adiwg-mdtranslator.gemspec +++ b/adiwg-mdtranslator.gemspec @@ -34,11 +34,11 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "thor", "~> 0.19" spec.add_runtime_dependency "uuidtools", "~> 2.1" spec.add_runtime_dependency "json-schema", "~> 2.7" - spec.add_runtime_dependency "adiwg-mdjson_schemas", "2.8.1" - spec.add_runtime_dependency "adiwg-mdcodes", "2.8.4" + spec.add_runtime_dependency "adiwg-mdjson_schemas", "2.9.5" + spec.add_runtime_dependency "adiwg-mdcodes", "2.10.0" spec.add_runtime_dependency "jbuilder", "~> 2.5" spec.add_runtime_dependency "kramdown", ">= 1.13", "< 3.0" spec.add_runtime_dependency "coderay", "~> 1.1" - spec.add_runtime_dependency "nokogiri", "~> 1.7" + spec.add_runtime_dependency "nokogiri", "~> 1.15" end \ No newline at end of file diff --git a/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb b/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb index 6cb4f9109..a16cb4499 100644 --- a/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +++ b/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb @@ -513,6 +513,14 @@ def newAttribute } end + def newRangeElementDescription + { + name: nil, + definition: nil, + rangeElement: [] + } + end + def newImageDescription { illuminationElevationAngle: nil, @@ -650,13 +658,22 @@ def newConformanceResult } end + def newQualityResultFile + { + fileName: nil, + fileType: nil, + fileDescription: nil, + fileFormat: {} + } + end + def newCoverageResult { dateTime: nil, scope: {}, - spatialRepresentationType: {}, + spatialRepresentationType: nil, spatialRepresentation: {}, - resultContent: [], + resultContentDescription: {}, resourceFormat: {}, resultFile: {} } @@ -705,23 +722,22 @@ def newQualityMeasure def newDataQualityReport { - # standaloneQualityReportDetails: nil, - conformanceResult: [], - coverageResult: [], - # derivedElementReport: [], - descriptiveResult: [], - evaluationMethod: {}, + type: nil, + standaloneQualityReportDetails: nil, qualityMeasure: {}, + evaluationMethod: {}, quantitativeResult: [], - # relatedElementReport: [] + descriptiveResult: [], + conformanceResult: [], + coverageResult: [], + derivedElementReport: [] } end def newStandaloneReport { - reportReference: {}, abstract: nil, - elementReports: [] + reportReference: {}, } end @@ -935,8 +951,8 @@ def newLineage statement: nil, resourceScope: {}, lineageCitation: [], - dataSources: [], - processSteps: [] + processSteps: [], + dataSources: [] } end diff --git a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb new file mode 100644 index 000000000..63174a03e --- /dev/null +++ b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb @@ -0,0 +1,193 @@ +# Reader - fgdc to internal data structure +# unpack fgdc data quality + +# History: +# Stan Smith 2017-08-15 original script + +require 'nokogiri' +require 'adiwg/mdtranslator/internal/internal_metadata_obj' +require_relative 'module_lineage' + +module ADIWG + module Mdtranslator + module Readers + module Fgdc + + module DataQuality + + def self.unpack(xDataQual, hMetadata, hDataQuality, hResponseObj) + intMetadataClass = InternalMetadata.new + + hDataQuality[:scope] = intMetadataClass.newScope + hDataQuality[:scope][:scopeCode] = 'tabularDataset' + + hDataQuality[:systemIdentifier] = { + uid: UUIDTools::UUID.random_create.to_s, + label: "CSDGM Data Quality" + } + + # data quality 2.1 (attracc) - attribute accuracy + xAccuracy = xDataQual.xpath('./attracc') + unless xAccuracy.empty? + # data quality 2.1.1 (attraccr) - Attribute Accuracy Report + xAccuracyReport = xAccuracy.xpath('./attraccr') + unless xAccuracyReport.empty? + report = intMetadataClass.newDataQualityReport + report[:type] = 'DQ_NonQuantitativeAttributeCorrectness' + descriptiveResult = intMetadataClass.newDescriptiveResult + descriptiveResult[:name] = 'Attribute Accuracy Report' + descriptiveResult[:statement] = xAccuracyReport.text + report[:descriptiveResult] << descriptiveResult + hDataQuality[:report] << report + end + # data quality 2.1.2 (qattracc) - Quantitative Attribute Accuracy Assessment + xQuantitativeAccuracy = xAccuracy.xpath('./qattracc') + unless xQuantitativeAccuracy.empty? + report = intMetadataClass.newDataQualityReport + report[:type] = 'DQ_QuantitativeAttributeAccuracy' + # data quality 2.1.2.1 (attraccv) - Attribute Accuracy Value + xQuantitativeAccuracyValue = xQuantitativeAccuracy.xpath('./attraccv') + unless xQuantitativeAccuracyValue.empty? + quantitativeResult = intMetadataClass.newQuantitativeResult + quantitativeResult[:name] = 'Attribute Accuracy Value' + quantitativeResult[:values] << xQuantitativeAccuracyValue.text + report[:quantitativeResult] << quantitativeResult + end + # data quality 2.1.2.2 (attracce) - Attribute Accuracy Explanation + xEvaluationMethod = xQuantitativeAccuracy.xpath('./attracce') + unless xEvaluationMethod.empty? + report[:evaluationMethod] = intMetadataClass.newEvaluationMethod + report[:evaluationMethod][:methodDescription] = xEvaluationMethod.text + end + hDataQuality[:report] << report unless report[:quantitativeResult].empty? && report[:evaluationMethod].empty? + end + end + + # data quality 2.2 (logic) - logical consistency (required) (not implemented) + xLogic = xDataQual.xpath('./logic') + if xLogic.empty? + hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: data quality logical consistency section is missing' + else + logic = xLogic.text + report = intMetadataClass.newDataQualityReport + report[:type] = 'DQ_ConceptualConsistency' + descriptiveResult = intMetadataClass.newDescriptiveResult + descriptiveResult[:name] = 'Logical Consistency Report' + descriptiveResult[:statement] = logic + report[:descriptiveResult] << descriptiveResult + hDataQuality[:report] << report + end + + # data quality 2.3 (complete) - completion report (required) + xComplete = xDataQual.xpath('./complete') + if xComplete.empty? + hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: data quality completion report section is missing' + else + complete = xComplete.text + report = intMetadataClass.newDataQualityReport + report[:type] = 'DQ_CompletenessOmission' + descriptiveResult = intMetadataClass.newDescriptiveResult + descriptiveResult[:name] = 'Completeness Report' + descriptiveResult[:statement] = complete + report[:descriptiveResult] << descriptiveResult + hDataQuality[:report] << report + end + + # data quality 2.4 (posacc) - Positional Accuracy + xPositionalAccuracy = xDataQual.xpath('./posacc') + unless xPositionalAccuracy.empty? + # data quality 2.4.1 (horizpa) - Horizontal Positional Accuracy + xHorizontalAccuracy = xPositionalAccuracy.xpath('./horizpa') + unless xHorizontalAccuracy.empty? + report = intMetadataClass.newDataQualityReport + report[:type] = 'DQ_AbsoluteExternalPositionalAccuracy' + # data quality 2.4.1.1 (horizpar) - Horizontal Positional Accuracy Report + xHorizontalAccuracyReport = xHorizontalAccuracy.xpath('./horizpar') + unless xHorizontalAccuracyReport.empty? + descriptiveResult = intMetadataClass.newDescriptiveResult + descriptiveResult[:name] = 'Horizontal Positional Accuracy Report' + descriptiveResult[:statement] = xHorizontalAccuracyReport.text + report[:descriptiveResult] << descriptiveResult + end + # data quality 2.4.1.2 (qhorizpa) - Quantitative Horizontal Positional Accuracy Assessment + xQuantitativeHorizontalAccuracy = xHorizontalAccuracy.xpath('./qhorizpa') + unless xQuantitativeHorizontalAccuracy.empty? + # data quality 2.4.1.2.1 (horizpav) - Horizontal Positional Accuracy Value + xHorizontalAccuracyValue = xQuantitativeHorizontalAccuracy.xpath('horizpav') + unless xHorizontalAccuracyValue.empty? + quantitativeResult = intMetadataClass.newQuantitativeResult + value = xHorizontalAccuracyValue.text + quantitativeResult[:name] = 'Horizontal Positional Accuracy Value' + quantitativeResult[:values] << value + report[:quantitativeResult] << quantitativeResult + end + # data quality 2.4.1.2.2 (horizpae) - Horizontal Positional Accuracy Explanation + xHorizontalAccuracyExplanation = xQuantitativeHorizontalAccuracy.xpath('horizpae') + unless xHorizontalAccuracyExplanation.empty? + descriptiveResult = intMetadataClass.newDescriptiveResult + descriptiveResult[:name] = 'Horizontal Positional Accuracy Explanation' + descriptiveResult[:statement] = xHorizontalAccuracyExplanation.text + report[:descriptiveResult] << descriptiveResult + end + end + hDataQuality[:report] << report + end + # data quality 2.4.2 (vertacc) - Vertical Positional Accuracy + xVerticalAccuracy = xPositionalAccuracy.xpath('./vertacc') + unless xVerticalAccuracy.empty? + report = intMetadataClass.newDataQualityReport + report[:type] = 'DQ_AbsoluteExternalPositionalAccuracy' + # data quality 2.4.2.1 (vertaccr) - Vertical Positional Accuracy Report + xVerticalAccuracyReport = xVerticalAccuracy.xpath('./vertaccr') + unless xVerticalAccuracyReport.empty? + descriptiveResult = intMetadataClass.newDescriptiveResult + descriptiveResult[:name] = 'Vertical Positional Accuracy Report' + descriptiveResult[:statement] = xVerticalAccuracyReport.text + report[:descriptiveResult] << descriptiveResult + end + # data quality 2.4.2.2 (qvertpa) - Quantitative Vertical Positional Accuracy Assessment + xVerticalAccuracyAssessment = xVerticalAccuracy.xpath('./qvertpa') + unless xVerticalAccuracyAssessment.empty? + # data quality 2.4.2.2.1 (vertaccv) - Vertical Positional Accuracy Value + xVerticalAccuracyValue = xVerticalAccuracyAssessment.xpath('vertaccv') + unless xVerticalAccuracyValue.empty? + quantitativeResult = intMetadataClass.newQuantitativeResult + value = xVerticalAccuracyValue.text + quantitativeResult[:name] = 'Vertical Positional Accuracy Value' + quantitativeResult[:values] << value + report[:quantitativeResult] << quantitativeResult + end + # data quality 2.4.2.2.2 (vertacce) - Vertical Positional Accuracy Explanation + xVerticalAccuracyExplanation = xVerticalAccuracyAssessment.xpath('vertacce') + unless xVerticalAccuracyExplanation.empty? + descriptiveResult = intMetadataClass.newDescriptiveResult + descriptiveResult[:name] = 'Vertical Positional Accuracy Explanation' + descriptiveResult[:statement] = xVerticalAccuracyExplanation.text + report[:descriptiveResult] << descriptiveResult + end + end + hDataQuality[:report] << report + end + end + + # data quality 2.5 (lineage) - lineage (required) + xLineage = xDataQual.xpath('./lineage') + unless xLineage.empty? + hLineage = Lineage.unpack(xLineage, hResponseObj) + unless hLineage.nil? + hMetadata[:lineageInfo] << hLineage + end + end + if xLineage.nil? + hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: data quality lineage section is missing' + end + + return hDataQuality + end + + end + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb index 4c2f1c6e6..d1e4dcc2a 100644 --- a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb +++ b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb @@ -10,7 +10,7 @@ require 'adiwg/mdtranslator/internal/internal_metadata_obj' require_relative '../version' require_relative 'module_identification' -require_relative 'module_quality' +require_relative 'module_dataQuality' require_relative 'module_spatialOrganization' require_relative 'module_spatialReference' require_relative 'module_entityAttribute' @@ -70,7 +70,7 @@ def self.unpack(xDoc, hResponseObj) # metadata (dataqual 2) - data quality xDataQual = xMetadata.xpath('./dataqual') unless xDataQual.empty? - dataQuality = Quality.unpack(xDataQual, hMetadata, hDataQuality, hResponseObj) + dataQuality = DataQuality.unpack(xDataQual, hMetadata, hDataQuality, hResponseObj) hMetadata[:dataQuality] << dataQuality end diff --git a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_keyword.rb b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_keyword.rb index e0d7761b1..a96c5f8e1 100644 --- a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_keyword.rb +++ b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_keyword.rb @@ -231,9 +231,11 @@ def self.unpack(xKeywords, hResourceInfo, hResponseObj) hCitation[:title] = thesaurus hKeyword[:thesaurus] = hCitation end - if thesaurus.empty? - hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: BIO method keyword thesaurus is missing' - end + # This code is being disabled intentionally. While the standard does indicate this is required, in practice it is not always present. + # Instead of requiring keywords, we will allow them to be optional for bio lineage. + # if thesaurus.empty? + # hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: BIO method keyword thesaurus is missing' + # end # theme keyword bio.1.2 (methkey) - lineage method keywords {keywordObject} axKeywords = xKeywords.xpath('./methkey') @@ -247,9 +249,11 @@ def self.unpack(xKeywords, hResourceInfo, hResponseObj) end end end - if axKeywords.empty? - hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: BIO method keyword is missing' - end + # This code is being disabled intentionally. While the standard does indicate this is required, in practice it is not always present. + # Instead of requiring keywords, we will allow them to be optional for bio lineage. + # if axKeywords.empty? + # hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: BIO method keyword is missing' + # end aKeywords << hKeyword diff --git a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_lineage.rb b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_lineage.rb index 3e591f191..bd211e760 100644 --- a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_lineage.rb +++ b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_lineage.rb @@ -30,21 +30,15 @@ def self.unpack(xLineage, hResponseObj) # lineage bio (method) - methodology [] (required) axMethods = xLineage.xpath('./method') unless axMethods.empty? - Method.unpack(hLineage, axMethods, hResponseObj) + axMethods.each do |xMethod| + hProcess = Method.unpack(hLineage, xMethod, hResponseObj) + hLineage[:processSteps] << hProcess + end end if axMethods.empty? hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: BIO lineage methodology section is missing' end - - # lineage 2.5.1 (srcinfo) - source information [] - axSource = xLineage.xpath('./srcinfo') - unless axSource.empty? - axSource.each do |xSource| - hSource = Source.unpack(xSource, hResponseObj) - hLineage[:dataSources] << hSource - end - end - + # lineage 2.5.2 (procstep) - process step [] (required) axProcess = xLineage.xpath('./procstep') unless axProcess.empty? @@ -57,6 +51,15 @@ def self.unpack(xLineage, hResponseObj) hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: lineage process step section is missing' end + # lineage 2.5.1 (srcinfo) - source information [] + axSource = xLineage.xpath('./srcinfo') + unless axSource.empty? + axSource.each do |xSource| + hSource = Source.unpack(xSource, hResponseObj) + hLineage[:dataSources] << hSource + end + end + return hLineage end diff --git a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_methodology.rb b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_methodology.rb index 83ff9ba20..2b83dcd52 100644 --- a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_methodology.rb +++ b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_methodology.rb @@ -16,53 +16,45 @@ module Fgdc module Method - def self.unpack(hLineage, axMethods, hResponseObj) + def self.unpack(hLineage, xMethod, hResponseObj) - statement = '' intObj = Fgdc.get_intObj hResourceInfo = intObj[:metadata][:resourceInfo] - axMethods.each do |xMethod| + intMetadataClass = InternalMetadata.new + hProcessStep = intMetadataClass.newProcessStep - # methodology bio (methtype) - method type (not supported) + # methodology bio (methtype) - method type (not supported) - # methodology bio (methodid) - method identifier [] {keyword} - axKeywords = xMethod.xpath('./methodid') - unless axKeywords.empty? - axKeywords.each do |xKeyword| - Keyword.unpack(xKeyword, hResourceInfo, hResponseObj) - end + # methodology bio (methodid) - method identifier [] {keyword} + axKeywords = xMethod.xpath('./methodid') + unless axKeywords.empty? + axKeywords.each do |xKeyword| + Keyword.unpack(xKeyword, hResourceInfo, hResponseObj) end + end - # methodology bio (methdesc) - method description (required) - description = xMethod.xpath('./methdesc').text - unless description.empty? - statement += description + '; ' - end - if description.empty? - hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: BIO lineage methodology description is missing' - end + # methodology bio (methdesc) - method description (required) + description = xMethod.xpath('./methdesc').text + unless description.empty? + hProcessStep[:description] = description + end + if description.empty? + hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: BIO lineage methodology description is missing' + end - # methodology bio (methcite) - method citation [] {citation} - axCitations = xMethod.xpath('./methcite') - unless axCitations.empty? - axCitations.each do |xCitation| - hReturn = Citation.unpack(xCitation, hResponseObj) - unless hReturn.nil? - hLineage[:lineageCitation] << hReturn - end + # methodology bio (methcite) - method citation [] {citation} + axCitations = xMethod.xpath('./methcite') + unless axCitations.empty? + axCitations.each do |xCitation| + hReturn = Citation.unpack(xCitation, hResponseObj) + unless hReturn.nil? + hProcessStep[:references] << hReturn end end - end - unless statement.empty? - statement.chomp!('; ') - hLineage[:statement] = statement - end - - return hLineage - + return hProcessStep end end diff --git a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_process.rb b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_process.rb index b7cae30ab..c8fddbdfc 100644 --- a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_process.rb +++ b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_process.rb @@ -8,6 +8,7 @@ require 'adiwg/mdtranslator/internal/internal_metadata_obj' require_relative 'module_dateTime' require_relative 'module_contact' +require_relative 'module_citation' module ADIWG module Mdtranslator @@ -37,7 +38,7 @@ def self.unpack(xProcess, hLineage, hResponseObj) axUsed.each do |xUsed| usedSrc = xUsed.text unless usedSrc.empty? - hLineage[:dataSources].each do |hSource| + hProcess[:stepSources].each do |hSource| unless hSource[:sourceId].nil? if usedSrc == hSource[:sourceId] hProcess[:stepSources] << hSource @@ -92,6 +93,17 @@ def self.unpack(xProcess, hLineage, hResponseObj) end end + # process (references) - references [] + axReferences = xProcess.xpath('./reference') + unless axReferences.empty? + axReferences.each do |xReference| + hCitation = Citation.unpack(xReference, hResponseObj) + unless hCitation.nil? + hProcess[:references] << hCitation + end + end + end + return hProcess end diff --git a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_quality.rb b/lib/adiwg/mdtranslator/readers/fgdc/modules/module_quality.rb deleted file mode 100644 index b493a05ea..000000000 --- a/lib/adiwg/mdtranslator/readers/fgdc/modules/module_quality.rb +++ /dev/null @@ -1,181 +0,0 @@ -# Reader - fgdc to internal data structure -# unpack fgdc data quality - -# History: -# Stan Smith 2017-08-15 original script - -require 'nokogiri' -require 'adiwg/mdtranslator/internal/internal_metadata_obj' -require_relative 'module_lineage' - -module ADIWG - module Mdtranslator - module Readers - module Fgdc - - module Quality - - def self.unpack(xDataQual, hMetadata, hDataQuality, hResponseObj) - - hDataQuality[:scope] = {scopeCode: 'tabularDataset'} - hDataQuality[:systemIdentifier] = { - uid: UUIDTools::UUID.random_create.to_s, - label: "CSDGM Data Quality" - } - - - # data quality 2.1 (attracc) - attribute accuracy - xAccuracy = xDataQual.xpath('./attracc') - accuracyReport = xAccuracy.xpath('./attraccr').text - hDataQuality[:report] << { - type: 'DQ_NonQuantitativeAttributeCompleteness', - descriptiveResult: [ {statement: accuracyReport} ] - } - - # data quality 2.1 (qattracc) - Quantitative Attribute Accuracy Assessment - - xQuantitativeAccuracy = xDataQual.xpath('./qattracc') - unless xQuantitativeAccuracy.xpath('./attraccv').empty? - hDataQuality[:report] << { - type: 'DQ_QuantitativeAttributeAccuracy', - quantitativeResult: [{ - value: xQuantitativeAccuracy.xpath('./attraccv').text - }] - } - end - - # data quality 2.2 (logic) - logical consistency (required) (not implemented) - xLogic = xDataQual.xpath('./logic') - if xLogic.empty? - hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: data quality logical consistency section is missing' - else - logic = xLogic.text - hDataQuality[:report] << { - type: 'DQ_ConceptualConsistency', - qualityMeasure: { - description: logic - } - } - end - - # data quality 2.3 (complete) - completion report (required) - xComplete = xDataQual.xpath('./complete') - if xComplete.empty? - hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: data quality completion report section is missing' - else - complete = xComplete.text - hDataQuality[:report] << { - type: 'DQ_CompletenessOmission', - descriptiveResult: [{ - statement: complete - }] - } - end - - # data quality 2.4 (position) - positional accuracy - xPositionalAccuracy = xDataQual.xpath('./posacc') - unless xPositionalAccuracy.empty? - - # horizontal positional accuracy - xHorizontal = xPositionalAccuracy.xpath('./horizpa') - unless xHorizontal.empty? - - report = {} - - unless xHorizontal.xpath('horizpar').empty? - report[:evaluationMethod] = { - methodDescription: xHorizontal.xpath('horizpar').text - } - end - - unless xHorizontal.xpath('qhorizpa/horizpae').empty? - report[:qualityMeasure] = { - description: xHorizontal.xpath('qhorizpa/horizpae').text - } - end - - unless xHorizontal.xpath('qhorizpa/horizpav').empty? - report[:quantitativeResult] = [{ - value: [ xHorizontal.xpath('qhorizpa/horizpav').text ] - }] - end - - unless report.empty? - if report[:qualityMeasure].nil? - report[:qualityMeasure] = { - name: ['Horizontal Positional Accuracy Report'] - } - else - report[:qualityMeasure][:name] = ['Horizontal Positional Accuracy Report'] - end - - report[:type] = 'DQ_AbsoluteExternalPositionalAccuracy' - - hDataQuality[:report] << report - end - end - - # vertical positional accuracy - xVertical = xPositionalAccuracy.xpath('./vertacc') - unless xVertical.empty? - - report = {} - - unless xVertical.xpath('vertaccr').empty? - report[:evaluationMethod] = { - methodDescription: xVertical.xpath('vertaccr').text - } - end - - unless xVertical.xpath('qvertpa/vertacce').empty? - report[:qualityMeasure] = { - description: xVertical.xpath('qvertpa/vertacce').text - } - end - - unless xVertical.xpath('qvertpa/vertaccv').empty? - report[:quantitativeResult] = [{ - value: [ xVertical.xpath('qvertpa/vertaccv').text ] - }] - end - - unless report.empty? - if report[:qualityMeasure].nil? - report[:qualityMeasure] = { - name: ['Vertical Positional Accuracy Report'] - } - else - report[:qualityMeasure][:name] = ['Vertical Positional Accuracy Report'] - end - - report[:type] = 'DQ_AbsoluteExternalPositionalAccuracy' - - hDataQuality[:report] << report - end - end - end - - # data quality 2.5 (lineage) - lineage (required) - xLineage = xDataQual.xpath('./lineage') - unless xLineage.empty? - hLineage = Lineage.unpack(xLineage, hResponseObj) - unless hLineage.nil? - hMetadata[:lineageInfo] << hLineage - end - end - if xLineage.nil? - hResponseObj[:readerExecutionMessages] << 'WARNING: FGDC reader: data quality lineage section is missing' - end - - # data quality 2.6 (cloud) - cloud cover (not implemented) - - return hDataQuality - - end - - end - - end - end - end -end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb b/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb index fb7dd4c8c..d4920b891 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb @@ -95,8 +95,8 @@ def self.readFile(file, hResponseObj) aCurVersion = currentVersion.split('.') aReqVersion = requestedVersion.split('.') approved = false - if aReqVersion[0] == aCurVersion[0] - if aReqVersion[1] <= aCurVersion[1] + if aReqVersion[0].to_i == aCurVersion[0].to_i + if aReqVersion[1].to_i <= aCurVersion[1].to_i approved = true end end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_conformanceResult.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_conformanceResult.rb index edbf4cdce..c0076ff51 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_conformanceResult.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_conformanceResult.rb @@ -8,7 +8,7 @@ module MdJson module ConformanceResult - def self.unpack(hConformanceResult, responseObj, inContext = nil) + def self.unpack(hConformanceResult, responseObj) intMetadataClass = InternalMetadata.new intConformanceResult = intMetadataClass.newConformanceResult @@ -23,6 +23,11 @@ def self.unpack(hConformanceResult, responseObj, inContext = nil) intConformanceResult[:scope] = Scope.unpack(hConformanceResult['scope'], responseObj) end + # name + if hConformanceResult.has_key?('name') + intConformanceResult[:name] = hConformanceResult['name'] + end + #specification if hConformanceResult.has_key?('specification') intConformanceResult[:specification] = Citation.unpack(hConformanceResult['specification'], responseObj) diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageResult.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageResult.rb index ac0aa400a..5bea7ebdb 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageResult.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageResult.rb @@ -1,5 +1,8 @@ require_relative 'module_scope' require_relative 'module_spatialRepresentation' +require_relative 'module_qualityResultFile' +require_relative 'module_format' +require_relative 'module_coverageDescription' module ADIWG module Mdtranslator @@ -7,7 +10,7 @@ module Readers module MdJson module CoverageResult - def self.unpack(hResult, responseObj, inContext) + def self.unpack(hResult, responseObj) intMetadataClass = InternalMetadata.new intResult = intMetadataClass.newCoverageResult @@ -23,9 +26,12 @@ def self.unpack(hResult, responseObj, inContext) intResult[:scope] = Scope.unpack(hResult['scope'], responseObj) end + # name + if hResult.has_key?('name') + intResult[:name] = hResult['name'] + end # spatialRepresentationType - # https://github.com/ISO-TC211/XML/blob/master/standards.iso.org/iso/19115/resources/Codelists/gml/MD_SpatialRepresentationTypeCode.xml if hResult.has_key?('spatialRepresentationType') intResult[:spatialRepresentationType] = hResult['spatialRepresentationType'] end @@ -38,21 +44,20 @@ def self.unpack(hResult, responseObj, inContext) # resultContent - if hResult.has_key?('resultContent') - intResult[:resultContent] = hResult['resultContent'] + if hResult.has_key?('resultContentDescription') + intResult[:resultContentDescription] = CoverageDescription.unpack(hResult['resultContentDescription'], responseObj) end # resourceFormat if hResult.has_key?('resourceFormat') - intResult[:resourceFormat] = hResult['resourceFormat'] + intResult[:resourceFormat] = Format.unpack(hResult['resourceFormat'], responseObj) end # resultFile - resultFile if hResult.has_key?('resultFile') - intResult[:resultFile] = hResult['resultFile'] + intResult[:resultFile] = QualiltyResultFile.unpack(hResult['resultFile'], responseObj) end return intResult diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQuality.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQuality.rb index 0efb139a9..291c3f5e0 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQuality.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQuality.rb @@ -35,14 +35,21 @@ def self.unpack(hDataQuality, responseObj, inContext = nil) end end + if hDataQuality.has_key?('systemIdentifier') + systemIdentifier = hDataQuality['systemIdentifier'] + intDataQuality[:systemIdentifier] = {} + intDataQuality[:systemIdentifier][:uid] = systemIdentifier['uid'] + intDataQuality[:systemIdentifier][:label] = systemIdentifier['label'] + end + if hDataQuality.has_key?('standaloneQualityReport') hObject = hDataQuality['standaloneQualityReport'] unless hObject.empty? - intDataQuality[:standaloneQualityReport] = {} - intDataQuality[:standaloneQualityReport][:abstract] = hObject["abstract"] + intDataQuality[:standaloneReport] = {} + intDataQuality[:standaloneReport][:abstract] = hObject["abstract"] - unless hObject["reportRefereence"].nil? || hObject["reportReference"].empty? - intDataQuality[:standaloneQualityReport][:reportReference] = Citation.unpack(hObject["reportReference"], responseObj, inContext) + unless hObject["reportReference"].nil? || hObject["reportReference"].empty? + intDataQuality[:standaloneReport][:reportReference] = Citation.unpack(hObject["reportReference"], responseObj, inContext) end end end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb index 986e735ba..50dbf506a 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb @@ -4,6 +4,7 @@ require_relative 'module_descriptiveResult' require_relative 'module_quantitativeResult' require_relative 'module_evaluationMethod' +require_relative 'module_qualityMeasure' module ADIWG module Mdtranslator @@ -28,6 +29,10 @@ def self.unpack(hReport, responseObj, inContext = nil) intReport[:type] = hReport["type"] + if hReport.has_key?('standaloneQualityReportDetails') + intReport[:standaloneQualityReportDetails] = hReport['standaloneQualityReportDetails'] + end + if hReport.has_key?('conformanceResult') hReport['conformanceResult'].each do |item| hReturn = ConformanceResult.unpack(item, responseObj) @@ -68,23 +73,10 @@ def self.unpack(hReport, responseObj, inContext = nil) end if hReport.has_key?('qualityMeasure') - qualityMeasure = hReport['qualityMeasure'] - identifier = qualityMeasure['identifier'] - - intReport[:qualityMeasure] = {} - - if identifier - intReport[:qualityMeasure][:identifier] = { - identifier: identifier['identifier'], - namespace: identifier['namespace'], - version: identifier['version'], - description: identifier['description'] - } - end + hReturn = QualityMeasure.unpack(hReport['qualityMeasure'], responseObj) - if qualityMeasure - intReport[:qualityMeasure][:name] = qualityMeasure['name'] - intReport[:qualityMeasure][:description] = qualityMeasure['description'] + unless hReturn.nil? + intReport[:qualityMeasure] = hReturn end end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_descriptiveResult.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_descriptiveResult.rb index 62d6c73ad..15da2128d 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_descriptiveResult.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_descriptiveResult.rb @@ -25,6 +25,10 @@ def self.unpack(hResult, responseObj, inContext = nil) intResult[:scope] = Scope.unpack(hResult['scope'], responseObj) end + if hResult.has_key?('name') + intResult[:name] = hResult['name'] + end + if hResult.has_key?('statement') intResult[:statement] = hResult['statement'] end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_evaluationMethod.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_evaluationMethod.rb index 40715ff08..b6b5df004 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_evaluationMethod.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_evaluationMethod.rb @@ -6,7 +6,7 @@ module Readers module MdJson module EvaluationMethod - def self.unpack(hMethod, responseObj, inContext = nil) + def self.unpack(hMethod, responseObj) intMetadataClass = InternalMetadata.new intMethod = intMetadataClass.newEvaluationMethod diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb index 0a0517ac4..f81faa911 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb @@ -34,21 +34,21 @@ def self.unpack(hLegalCon, responseObj, inContext = nil) haveLegal = false - # legal constraint - use constraint [] - if hLegalCon.has_key?('useConstraint') - hLegalCon['useConstraint'].each do |item| + # legal constraint - access constraint [] + if hLegalCon.has_key?('accessConstraint') + hLegalCon['accessConstraint'].each do |item| unless item == '' - intLegalCon[:useCodes] << item + intLegalCon[:accessCodes] << item haveLegal = true end end end - # legal constraint - access constraint [] - if hLegalCon.has_key?('accessConstraint') - hLegalCon['accessConstraint'].each do |item| + # legal constraint - use constraint [] + if hLegalCon.has_key?('useConstraint') + hLegalCon['useConstraint'].each do |item| unless item == '' - intLegalCon[:accessCodes] << item + intLegalCon[:useCodes] << item haveLegal = true end end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityMeasure.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityMeasure.rb new file mode 100644 index 000000000..bcc7e95b7 --- /dev/null +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityMeasure.rb @@ -0,0 +1,34 @@ +require_relative 'module_identifier' + +module ADIWG + module Mdtranslator + module Readers + module MdJson + + module QualityMeasure + def self.unpack(hQualityMeasure, responseObj) + + intMetadataClass = InternalMetadata.new + intQualityMeasure = intMetadataClass.newQualityMeasure + + intQualityMeasure[:description] = hQualityMeasure['description'] + + if hQualityMeasure.has_key?('name') + intQualityMeasure[:nameOfMeasure] = hQualityMeasure['name'] + end + + if hQualityMeasure.has_key?('identifier') + hReturn = Identifier.unpack(hQualityMeasure['identifier'], responseObj) + unless hReturn.nil? + intQualityMeasure[:identifier] = hReturn + end + end + + return intQualityMeasure + + end + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityResultFile.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityResultFile.rb new file mode 100644 index 000000000..d859cd929 --- /dev/null +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityResultFile.rb @@ -0,0 +1,72 @@ +require_relative 'module_format' + +module ADIWG + module Mdtranslator + module Readers + module MdJson + + module QualiltyResultFile + + def self.unpack(hContent, responseObj) + @MessagePath = ADIWG::Mdtranslator::Readers::MdJson::MdJson + + # return nil object if input is empty + if hContent.empty? + @MessagePath.issueWarning(130, responseObj) + return nil + end + + # instance classes needed in script + intMetadataClass = InternalMetadata.new + intContent = intMetadataClass.newQualityResultFile + + # content information - file name (required) + if hContent.has_key?('fileName') + unless hContent['fileName'] == '' + intContent[:fileName] = hContent['fileName'] + end + end + if intContent[:fileName].nil? + @MessagePath.issueError(131, responseObj) + end + + # content information - file description (required) + if hContent.has_key?('fileDescription') + unless hContent['fileDescription'] == '' + intContent[:fileDescription] = hContent['fileDescription'] + end + end + if intContent[:fileDescription].nil? + @MessagePath.issueError(132, responseObj) + end + + # content information - file type + if hContent.has_key?('fileType') + unless hContent['fileType'] == '' + intContent[:fileType] = hContent['fileType'] + end + end + if intContent[:fileType].nil? + @MessagePath.issueError(131, responseObj) + end + + if hContent.has_key?('fileFormat') + hObject = hContent['fileFormat'] + unless hObject.empty? + hReturn = Format.unpack(hObject, responseObj) + unless hReturn.nil? + intContent[:fileFormat] = hReturn + end + end + end + + return intContent + + end + + end + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_quantitativeResult.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_quantitativeResult.rb index a73dc385e..8b44010eb 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_quantitativeResult.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_quantitativeResult.rb @@ -25,8 +25,12 @@ def self.unpack(hResult, responseObj, inContext = nil) intResult[:scope] = Scope.unpack(hResult['scope'], responseObj) end + if hResult.has_key?('name') + intResult[:name] = hResult['name'] + end + if hResult.has_key?('value') - intResult[:value] = hResult['value'] + intResult[:values] = hResult['value'] end if hResult.has_key?('valueUnits') diff --git a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_rangeElementDescription.rb b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_rangeElementDescription.rb index 53ad22425..af8df0091 100644 --- a/lib/adiwg/mdtranslator/readers/mdJson/modules/module_rangeElementDescription.rb +++ b/lib/adiwg/mdtranslator/readers/mdJson/modules/module_rangeElementDescription.rb @@ -23,8 +23,8 @@ def self.unpack(hRangeElementDescription, responseObj, inContext = nil) intRangeElementDescription[:definition] = hRangeElementDescription['definition'] end - if hRangeElementDescription.has_key?('rangeElements') - intRangeElementDescription[:rangeElements] = hRangeElementDescription['rangeElements'] + if hRangeElementDescription.has_key?('rangeElement') + intRangeElementDescription[:rangeElement] = hRangeElementDescription['rangeElement'] end return intRangeElementDescription diff --git a/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb b/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb index 0fee378c5..d443ca611 100644 --- a/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb +++ b/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb @@ -249,6 +249,19 @@ def self.unpack(hSbJson, aContacts, hCitation, hResponseObj) end end + # orcId - external contact identifier + if hSbContact.has_key?('orcId') && hSbContact['contactType'] == 'person' + hContact[:externalIdentifier] ||= [] + unless hSbContact['orcId'].nil? || hSbContact['orcId'] == '' + hExternalIdentifier = { + "identifier": hSbContact['orcId'], + "namespace": "ORCID", + "description": "Open Researcher and Contributor Id" + } + hContact[:externalIdentifier] << hExternalIdentifier + end + end + aContacts << hContact aContacts << hContactOrg unless hContactOrg.empty? diff --git a/lib/adiwg/mdtranslator/version.rb b/lib/adiwg/mdtranslator/version.rb index fdd7ba95e..beb2e7b80 100644 --- a/lib/adiwg/mdtranslator/version.rb +++ b/lib/adiwg/mdtranslator/version.rb @@ -109,7 +109,7 @@ module ADIWG module Mdtranslator # current mdtranslator version - VERSION = "2.18.4" + VERSION = "2.20.0-beta.0" end end diff --git a/lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataQuality.rb b/lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataQuality.rb new file mode 100644 index 000000000..4baae8856 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataQuality.rb @@ -0,0 +1,201 @@ +# FGDC <> Quality +# FGDC CSDGM writer output in XML + +# History: +# Stan Smith 2018-03-23 refactored error and warning messaging +# Stan Smith 2017-12-15 original script + +require_relative 'class_lineage' + +module ADIWG + module Mdtranslator + module Writers + module Fgdc + + class DataQuality + + def initialize(xml, hResponseObj) + @xml = xml + @hResponseObj = hResponseObj + @NameSpace = ADIWG::Mdtranslator::Writers::Fgdc + end + + def writeXML(intObj) + + # classes used + lineageClass = Lineage.new(@xml, @hResponseObj) + + hDataQuality = intObj.dig(:metadata, :dataQuality, 0) + + if hDataQuality && hDataQuality[:report] + # data quality 2.1 (attracc) - Attribute Accuracy + attribute_accuracy_report = hDataQuality[:report].find do |report| + report[:type] == 'DQ_NonQuantitativeAttributeCorrectness' && + !report.dig(:descriptiveResult, 0, :statement).nil? + end + attribute_accuracy_value = hDataQuality[:report].find do |report| + report[:type] == 'DQ_QuantitativeAttributeAccuracy' && + !report.dig(:quantitativeResult, 0, :values).nil? + end + attribute_evaluation_method = hDataQuality[:report].find do |report| + report[:type] == 'DQ_QuantitativeAttributeAccuracy' && + !report.dig(:evaluationMethod, :methodDescription).nil? + end + if attribute_accuracy_report || attribute_accuracy_value || attribute_evaluation_method + # data quality 2.1 (attracc) - Attribute Accuracy + @xml.tag!('attracc') do + if attribute_accuracy_report + # data quality 2.1.1 (attraccr) - Attribute Accuracy Report + @xml.tag!('attraccr', attribute_accuracy_report[:descriptiveResult][0][:statement]) + end + if attribute_accuracy_value || attribute_evaluation_method + # data quality 2.1.2 (qattracc) - Quantitative Attribute Accuracy Assessment + @xml.tag!('qattracc') do + if attribute_accuracy_value + # data quality 2.1.2.1 (attraccv) - Attribute Accuracy Value + @xml.tag!('attraccv', attribute_accuracy_value[:quantitativeResult][0][:values][0]) + end + if attribute_evaluation_method + # data quality 2.1.2.2 (attracce) - Attribute Accuracy Explanation + @xml.tag!('attracce', attribute_evaluation_method[:evaluationMethod][:methodDescription]) + end + end + end + end + elsif @hResponseObj[:writerShowTags] + @xml.tag!('attracc', 'Not Reported') + end + + # data quality 2.2 (logic) - logical consistency (required) + logic_report = hDataQuality[:report].find do |report| + report[:type] == 'DQ_ConceptualConsistency' && + !report.dig(:descriptiveResult, 0, :statement).nil? + end + if logic = logic_report&.dig(:descriptiveResult, 0, :statement) + @xml.tag!('logic', logic) + else + @xml.tag!('logic', 'Not Reported') + end + + # data quality 2.3 (complete) - completion report (required) + omission_report = hDataQuality[:report].find do |report| + report[:type] == 'DQ_CompletenessOmission' && + !report.dig(:descriptiveResult, 0, :statement).nil? + end + omission = omission_report&.dig(:descriptiveResult, 0, :statement) + commission_report = hDataQuality[:report].find do |report| + report[:type] == 'DQ_CompletenessCommission' && + !report.dig(:descriptiveResult, 0, :statement).nil? + end + commission = commission_report&.dig(:descriptiveResult, 0, :statement) + complete = '' + if omission + complete = omission + end + if commission + if complete != '' + complete = complete + ' ' + commission + else + complete = commission + end + end + if complete != '' + @xml.tag!('complete', complete) + else + @xml.tag!('complete', 'Not Reported') + end + + # data quality 2.4 (position) - Positional Accuracy + + # data quality 2.4.1 (horizpa) - Horizontal Positional Accuracy + horizontal_positional_accuracy_report = hDataQuality[:report].find do |report| + report[:type] == 'DQ_AbsoluteExternalPositionalAccuracy' && + report.dig(:descriptiveResult, 0, :name) == 'Horizontal Positional Accuracy Report' && + !report.dig(:descriptiveResult, 0, :statement).nil? + end + horizpar = horizontal_positional_accuracy_report&.dig(:descriptiveResult, 0, :statement) + horizpav = horizontal_positional_accuracy_report&.dig(:quantitativeResult, 0, :values, 0) + horizpae = horizontal_positional_accuracy_report&.dig(:descriptiveResult, 1, :statement) + + # data quality 2.4.2 (vertacc) - Vertical Positional Accuracy + vertical_positional_accuracy_report = hDataQuality[:report].find do |report| + report[:type] == 'DQ_AbsoluteExternalPositionalAccuracy' && + report.dig(:descriptiveResult, 0, :name) == 'Vertical Positional Accuracy Report' && + !report.dig(:descriptiveResult, 0, :statement).nil? + end + vertaccr = vertical_positional_accuracy_report&.dig(:descriptiveResult, 0, :statement) + vertaccv = vertical_positional_accuracy_report&.dig(:quantitativeResult, 0, :values, 0) + vertacce = vertical_positional_accuracy_report&.dig(:descriptiveResult, 1, :statement) + + if horizpar || vertaccr + # data quality 2.4 (posacc) - Positional Accuracy + @xml.tag!('posacc') do + if horizpar + # data quality 2.4.1 (horizpa) - Horizontal Positional Accuracy + @xml.tag!('horizpa') do + # data quality 2.4.1.1 (horizpar) - Horizontal Positional Accuracy Report + @xml.tag!('horizpar', horizpar) + if horizpav || horizpae + # data quality 2.4.1.2 (qhorizpa) - Quantitative Horizontal Positional Accuracy + @xml.tag!('qhorizpa') do + if horizpav + # data quality 2.4.1.2.1 (horizpav) - Horizontal Positional Accuracy Value + @xml.tag!('horizpav', horizpav) + end + if horizpae + # data quality 2.4.1.2.2 (horizpae) - Horizontal Positional Accuracy Explanation + @xml.tag!('horizpae', horizpae) + end + end + end + end + end + + if vertaccr + # data quality 2.4.2 (vertacc) - Vertical Positional Accuracy + @xml.tag!('vertacc') do + # data quality 2.4.2.1 (vertaccr) - Vertical Positional Accuracy Report + @xml.tag!('vertaccr', vertaccr) + if vertaccv || vertacce + # data quality 2.4.2.2 (qvertpa) - Quantitative Vertical Positional Accuracy + @xml.tag!('qvertpa') do + if vertaccv + # data quality 2.4.2.2.1 (vertaccv) - Vertical Positional Accuracy Value + @xml.tag!('vertaccv', vertaccv) + end + if vertacce + # data quality 2.4.2.2.2 (vertacce) - Vertical Positional Accuracy Explanation + @xml.tag!('vertacce', vertacce) + end + end + end + end + end + end + elsif @hResponseObj[:writerShowTags] + @xml.tag!('position', 'Not Reported') + end + end + + # data quality 2.5 (lineage) - lineage (required) + unless intObj[:metadata][:lineageInfo].empty? + @xml.tag!('lineage') do + lineageClass.writeXML(intObj[:metadata][:lineageInfo]) + end + end + if intObj[:metadata][:lineageInfo].empty? + @NameSpace.issueWarning(350, nil, 'data quality section') + end + + # data quality 2.6 (cloud) - cloud cover (not implemented) + if @hResponseObj[:writerShowTags] + @xml.tag!('cloud', 'Not Reported') + end + + end # writeXML + end # Quality + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb b/lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb index 6713251d6..a8c3d9748 100644 --- a/lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb +++ b/lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb @@ -5,7 +5,7 @@ # Stan Smith 2017-11-16 original script require_relative 'class_identification' -require_relative 'class_quality' +require_relative 'class_dataQuality' require_relative 'class_spatialOrganization' require_relative 'class_spatialReference' require_relative 'class_dictionary' @@ -33,7 +33,7 @@ def writeXML(intObj) # classes used idClass = Identification.new(@xml, @hResponseObj) - qualityClass = Quality.new(@xml, @hResponseObj) + dataQualityClass = DataQuality.new(@xml, @hResponseObj) spaceOrgClass = SpatialOrganization.new(@xml, @hResponseObj) spaceRefClass = SpatialReference.new(@xml, @hResponseObj) dictionaryClass = DataDictionary.new(@xml, @hResponseObj) @@ -62,7 +62,7 @@ def writeXML(intObj) # currently only lineage is implemented unless intObj[:metadata][:lineageInfo].empty? @xml.tag!('dataqual') do - qualityClass.writeXML(intObj) + dataQualityClass.writeXML(intObj) end end if intObj[:metadata][:lineageInfo].empty? && @hResponseObj[:writerShowTags] diff --git a/lib/adiwg/mdtranslator/writers/fgdc/classes/class_quality.rb b/lib/adiwg/mdtranslator/writers/fgdc/classes/class_quality.rb deleted file mode 100644 index f002c95c2..000000000 --- a/lib/adiwg/mdtranslator/writers/fgdc/classes/class_quality.rb +++ /dev/null @@ -1,127 +0,0 @@ -# FGDC <> Quality -# FGDC CSDGM writer output in XML - -# History: -# Stan Smith 2018-03-23 refactored error and warning messaging -# Stan Smith 2017-12-15 original script - -require_relative 'class_lineage' - -module ADIWG - module Mdtranslator - module Writers - module Fgdc - - class Quality - - def initialize(xml, hResponseObj) - @xml = xml - @hResponseObj = hResponseObj - @NameSpace = ADIWG::Mdtranslator::Writers::Fgdc - end - - def writeXML(intObj) - - # classes used - lineageClass = Lineage.new(@xml, @hResponseObj) - - hDataQuality = intObj.dig(:metadata, :dataQuality, 0) - - if hDataQuality && hDataQuality[:report] - # data quality 2.1 (attracc) - attribute accuracy (not implemented) - attribute_completeness_report = hDataQuality[:report].find do |report| - report[:type] == 'DQ_NonQuantitativeAttributeCompleteness' && - !report.dig(:descriptiveResult, 0, :statement).nil? - end - - if attribute_completeness_report - @xml.tag!('attracc') do - @xml.tag!('attraccr', attribute_completeness_report[:descriptiveResult][0][:statement]) - end - elsif @hResponseObj[:writerShowTags] - @xml.tag!('attracc', 'Not Reported') - end - - # data quality 2.2 (logic) - logical consistency (not implemented) (required) - logic_report = hDataQuality[:report].find do |report| - report[:type] == 'DQ_ConceptualConsistency' && - !report.dig(:qualityMeasure, :description).nil? - end - - if logic = logic_report&.dig(:qualityMeasure, :decription) - @xml.tag!('logic', logic) - else - @xml.tag!('logic', 'Not Reported') - end - - # data quality 2.3 (complete) - completion report (not implemented) (required) - completeness_report = hDataQuality[:report].find do |report| - report[:type] == 'DQ_CompletenessOmission' && - !report.dig(:descriptiveResult, 0, :statement).nil? - end - - if complete = completeness_report&.dig(:descriptiveResult, 0, :statement) - @xml.tag!('complete', complete) - else - @xml.tag!('complete', 'Not Reported') - end - - # data quality 2.4 (position) - positional accuracy (not implemented) - - - horizontal_positional_accuracy_report = hDataQuality[:report].find do |report| - report[:type] == 'DQ_AbsoluteExternalPositionalAccuracy' && - report.dig(:qualityMeasure, :name) == 'Horizontal Positional Accuracy Report' - end - - horizpar = horizontal_positional_accuracy_report&.dig(:evaluationMethod, :methodDescription) - - - vertical_positional_accuracy_report = hDataQuality[:report].find do |report| - report[:type] == 'DQ_AbsoluteExternalPositionalAccuracy' && - report.dig(:qualityMeasure, :name) == 'Vertical Positional Accuracy Report' - end - - vertaccr = vertical_positional_accuracy_report&.dig(:evaluationMethod, :methodDescription) - - if horizpar || vertaccr - @xml.tag!('posacc') do - if horizpar - @xml.tag!('horizpa') do - @xml.tag!('horizpar', horizpar) - end - end - - if vertaccr - @xml.tag!('vertacc') do - @xml.tag!('vertaccr', vertaccr) - end - end - end - elsif @hResponseObj[:writerShowTags] - @xml.tag!('position', 'Not Reported') - end - end - - # data quality 2.5 (lineage) - lineage (required) - unless intObj[:metadata][:lineageInfo].empty? - @xml.tag!('lineage') do - lineageClass.writeXML(intObj[:metadata][:lineageInfo]) - end - end - if intObj[:metadata][:lineageInfo].empty? - @NameSpace.issueWarning(350, nil, 'data quality section') - end - - # data quality 2.6 (cloud) - cloud cover (not implemented) - if @hResponseObj[:writerShowTags] - @xml.tag!('cloud', 'Not Reported') - end - - end # writeXML - end # Quality - - end - end - end -end diff --git a/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb b/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb index 53558e5a8..e7bff9ca7 100644 --- a/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +++ b/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb @@ -71,6 +71,7 @@ def writeHtml(version, intObj) @html.a(' Contacts', {'href' => '#body-contacts', 'class' => 'btn navBtn', 'id' => 'contactButton'}) @html.a(' Metadata', {'href' => '#body-metadataInfo', 'class' => 'btn navBtn', 'id' => 'metadataButton'}) @html.a(' Resource', {'href' => '#body-resourceInfo', 'class' => 'btn navBtn', 'id' => 'resourceButton'}) + @html.a(' Quality', {'href' => '#body-dataQuality', 'class' => 'btn navBtn', 'id' => 'qualityButton'}) @html.a(' Lineage', {'href' => '#body-lineage', 'class' => 'btn navBtn', 'id' => 'lineageButton'}) @html.a(' Distribution', {'href' => '#body-distribution', 'class' => 'btn navBtn', 'id' => 'distributionButton'}) @html.a(' Associated', {'href' => '#body-associatedResource', 'class' => 'btn navBtn', 'id' => 'associatedButton'}) @@ -169,7 +170,10 @@ def writeHtml(version, intObj) @html.summary('Data Quality', {'id' => 'body-dataQuality', 'class' => 'h2'}) aDataQuality.each do |hDataQuality| @html.section(:class => 'block') do - dataQualityClass.writeHtml(hDataQuality) + @html.details do + @html.summary('Quality', {'class' => 'h3'}) + dataQualityClass.writeHtml(hDataQuality) + end end end end diff --git a/lib/adiwg/mdtranslator/writers/html/sections/html_dataQuality.rb b/lib/adiwg/mdtranslator/writers/html/sections/html_dataQuality.rb index bae142db0..70372a124 100644 --- a/lib/adiwg/mdtranslator/writers/html/sections/html_dataQuality.rb +++ b/lib/adiwg/mdtranslator/writers/html/sections/html_dataQuality.rb @@ -1,4 +1,6 @@ require_relative 'html_citation' +require_relative 'html_dataQualityReport' +require_relative 'html_scope' module ADIWG module Mdtranslator @@ -12,46 +14,81 @@ def initialize(html) def writeHtml(hDataQuality) citationClass = Html_Citation.new(@html) scopeClass = Html_Scope.new(@html) + dataQualityReportClass = Html_DataQualityReport.new(@html) - unless hDataQuality[:scope].nil? || hDataQuality[:scope].empty? - @html.section(class: 'block') do + # system identifier + unless hDataQuality[:systemIdentifier].nil? + systemIdentifier = hDataQuality[:systemIdentifier] + @html.section(:class => 'block') do @html.details do - @html.summary('Scope', {'class' => 'h5'}) - @html.section(class: 'block') do + @html.summary('System Identifier', {'class' => 'h4'}) + @html.em('UUID: ') + @html.text!(systemIdentifier[:uid]) + @html.br + @html.em('Label:') + @html.text!(systemIdentifier[:label]) + @html.br + end + end + end + + # scope + unless hDataQuality[:scope].empty? + @html.section(:class => 'block') do + @html.details do + @html.summary('Scope', {'class' => 'h4'}) + @html.section(:class => 'block') do scopeClass.writeHtml(hDataQuality[:scope]) end end end end - - unless hDataQuality[:standaloneQualityReport].nil? || - ( hDataQuality[:standaloneQualityReport][:abstract].nil? && - hDataQuality[:standaloneQualityReport][:reportReference].nil? ) - report = hDataQuality[:standaloneQualityReport] - - @html.section(class: 'block') do + # standalone quality report + unless hDataQuality[:standaloneReport].nil? || + ( hDataQuality[:standaloneReport][:abstract].nil? && + hDataQuality[:standaloneReport][:reportReference].nil? ) + report = hDataQuality[:standaloneReport] + @html.section(:class => 'block') do @html.details do - @html.summary('Standalone Quality Report', {'class' => 'h5'}) + @html.summary('Standalone Quality Report', {'class' => 'h4'}) unless report[:abstract].nil? - @html.section(class: 'block') do + @html.section(:class => 'block') do @html.em('Abstract:') @html.text!(report[:abstract]) end end - unless report[:reportReference].nil? - @html.details do - @html.summary('Report Reference', {'class' => 'h5'}) - @html.section(class: 'block') do - citationClass.writeHtml(report[:reportReference]) + @html.section(:class => 'block') do + @html.details do + @html.summary('Report Reference', {'class' => 'h5'}) + @html.section(:class => 'block') do + citationClass.writeHtml(report[:reportReference]) + end end end end end end + end + # reports + unless hDataQuality[:report].nil? || hDataQuality[:report].empty? + @html.section(:class => 'block') do + @html.details do + @html.summary('Reports', {'class' => 'h4'}) + hDataQuality[:report].each do |report| + @html.section(:class => 'block') do + @html.details do + @html.summary(report[:type], {'class' => 'h5'}) + dataQualityReportClass.writeHtml(report) + end + end + end + end + end end + end end end diff --git a/lib/adiwg/mdtranslator/writers/html/sections/html_dataQualityReport.rb b/lib/adiwg/mdtranslator/writers/html/sections/html_dataQualityReport.rb new file mode 100644 index 000000000..29dcb07d4 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/html/sections/html_dataQualityReport.rb @@ -0,0 +1,413 @@ +require_relative 'html_citation' +require_relative 'html_identifier' +require_relative 'html_scope' +require_relative 'html_spatialRepresentation' +require_relative 'html_format' +require_relative 'html_resultFile' +require_relative 'html_coverageInfo' + +module ADIWG + module Mdtranslator + module Writers + module Html + class Html_DataQualityReport + def initialize(html) + @html = html + end + + def writeHtml(hDataQualityReport) + @html.section(:class => 'block') do + writeQualityMeasure(hDataQualityReport[:qualityMeasure]) unless hDataQualityReport[:qualityMeasure].empty? + end + @html.section(:class => 'block') do + writeEvaluationMethod(hDataQualityReport[:evaluationMethod]) unless hDataQualityReport[:evaluationMethod].empty? + end + @html.section(:class => 'block') do + writeConformanceResult(hDataQualityReport[:conformanceResult]) unless hDataQualityReport[:conformanceResult].empty? + end + @html.section(:class => 'block') do + writeCoverageResult(hDataQualityReport[:coverageResult]) unless hDataQualityReport[:coverageResult].empty? + end + @html.section(:class => 'block') do + writeDescriptiveResult(hDataQualityReport[:descriptiveResult]) unless hDataQualityReport[:descriptiveResult].empty? + end + @html.section(:class => 'block') do + writeQuantitativeResult(hDataQualityReport[:quantitativeResult]) unless hDataQualityReport[:quantitativeResult].empty? + end + end + + private + + def writeQualityMeasure(qualityMeasure) + identifierClass = Html_Identifier.new(@html) + + @html.details do + @html.summary('Quality Measure', {'class' => 'h5'}) + @html.section(:class => 'block') do + # Identifier + unless qualityMeasure[:identifier].empty? + @html.details do + @html.summary('Identifier', {'class' => 'h5'}) + @html.section(:class => 'block') do + identifierClass.writeHtml(qualityMeasure[:identifier]) + end + end + end + + # Description + unless qualityMeasure[:description].nil? + @html.em('Description: ') + @html.text!(qualityMeasure[:description]) + @html.br + end + + # Names + unless qualityMeasure[:nameOfMeasure].empty? + @html.em('Names: ') + @html.text!(qualityMeasure[:nameOfMeasure].join('; ')) + @html.br + end + end + end + end + + def writeEvaluationMethod(evaluationMethod) + citationClass = Html_Citation.new(@html) + + @html.details do + @html.summary('Evaluation Method', {'class' => 'h5'}) + @html.section(:class => 'block') do + # Type + unless evaluationMethod[:type].nil? + @html.em('Type: ') + @html.text!(evaluationMethod[:type]) + @html.br + end + + # DateTime + unless evaluationMethod[:dateTime].nil? + @html.em('Date Time: ') + evaluationMethod[:dateTime].each do |datetime| + @html.text!(datetime) + @html.br + end + @html.br + end + + # MethodDescription + unless evaluationMethod[:methodDescription].nil? + @html.em('Evaluation Method Description: ') + @html.text!(evaluationMethod[:methodDescription]) + @html.br + end + + # EvaluationMethodType + unless evaluationMethod[:evaluationMethodType].nil? + @html.em('Evaluation Method Type: ') + @html.text!(evaluationMethod[:evaluationMethodType]) + @html.br + end + + # DeductiveSource + unless evaluationMethod[:deductiveSource].nil? + @html.em('Deductive Source: ') + @html.text!(evaluationMethod[:deductiveSource]) + @html.br + end + + # SamplingScheme + unless evaluationMethod[:samplingScheme].nil? + @html.em('Sampling Scheme: ') + @html.text!(evaluationMethod[:samplingScheme]) + @html.br + end + + # LotDescription + unless evaluationMethod[:lotDescription].nil? + @html.em('Lot Description: ') + @html.text!(evaluationMethod[:lotDescription]) + @html.br + end + + # SamplingRatio + unless evaluationMethod[:samplingRatio].nil? + @html.em('Sampling Ratio: ') + @html.text!(evaluationMethod[:samplingRatio]) + @html.br + end + + # EvaluationProcedure + unless evaluationMethod[:evaluationProcedure].empty? + @html.details do + @html.summary('Evaluation Procedure', {'class' => 'h5'}) + @html.section(:class => 'block') do + citationClass.writeHtml(evaluationMethod[:evaluationProcedure]) + end + end + end + + # ReferenceDocument + unless evaluationMethod[:referenceDocuments].empty? + @html.details do + @html.summary('Reference Document', {'class' => 'h5'}) + evaluationMethod[:referenceDocuments].each do |doc| + @html.section(:class => 'block') do + citationClass.writeHtml(doc) + end + end + end + end + end + end + end + + def writeConformanceResult(conformanceResult) + citationClass = Html_Citation.new(@html) + scopeClass = Html_Scope.new(@html) + + @html.details do + @html.summary('Conformance Result', {'class' => 'h5'}) + conformanceResult.each do |result| + @html.section(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.details do + @html.summary('Scope', {'class' => 'h5'}) + @html.section(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # Name + unless result[:name].nil? + @html.em('Name: ') + @html.text!(result[:name]) + @html.br + end + + # Specification (citation) + unless result[:specification].empty? + @html.details do + @html.summary('Specification', {'class' => 'h5'}) + @html.section(:class => 'block') do + citationClass.writeHtml(result[:specification]) + end + end + end + + # Explanation + unless result[:explanation].nil? + @html.em('Explanation: ') + @html.text!(result[:explanation]) + @html.br + end + + # Pass (boolean) + unless result[:pass].nil? + @html.em('Pass: ') + @html.text!(result[:pass] ? 'Yes' : 'No') + @html.br + end + end + end + end + end + + def writeCoverageResult(coverageResult) + scopeClass = Html_Scope.new(@html) + spatialRepresentationClass = Html_SpatialRepresentation.new(@html) + formatClass = Html_Format.new(@html) + resultFileClass = Html_ResultFile.new(@html) + coverageInfoClass = Html_CoverageInfo.new(@html) + + @html.details do + @html.summary('Coverage Result', {'class' => 'h5'}) + coverageResult.each do |result| + @html.section(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.details do + @html.summary('Scope', {'class' => 'h5'}) + @html.section(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # Name + unless result[:name].nil? + @html.em('Name: ') + @html.text!(result[:name]) + @html.br + end + + # SpatialRepresentationType + unless result[:spatialRepresentationType].nil? + @html.em('Spatial Representation Type: ') + @html.text!(result[:spatialRepresentationType]) + @html.br + end + + # SpatialRepresentation + unless result[:spatialRepresentation].empty? + @html.details do + @html.summary('Spatial Representation', {'class' => 'h5'}) + @html.section(:class => 'block') do + spatialRepresentationClass.writeHtml(result[:spatialRepresentation]) + end + end + end + + # ResultContentDescription + unless result[:resultContentDescription].empty? + @html.details do + @html.summary('Result Content Description', {'class' => 'h5'}) + @html.section(:class => 'block') do + coverageInfoClass.writeHtml(result[:resultContentDescription]) + end + end + end + + # ResourceFormat + unless result[:resourceFormat].empty? + @html.details do + @html.summary('Resource Format', {'class' => 'h5'}) + @html.section(:class => 'block') do + formatClass.writeHtml(result[:resourceFormat]) + end + end + end + + # ResultFile + unless result[:resultFile].empty? + @html.details do + @html.summary('Result File', {'class' => 'h5'}) + @html.section(:class => 'block') do + resultFileClass.writeHtml(result[:resultFile]) + end + end + end + + end + end + end + end + + def writeDescriptiveResult(descriptiveResult) + scopeClass = Html_Scope.new(@html) # Assuming a class to handle scope objects + + @html.details do + @html.summary('Descriptive Result', {'class' => 'h5'}) + descriptiveResult.each do |result| + @html.section(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.details do + @html.summary('Scope', {'class' => 'h5'}) + @html.section(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # Name + unless result[:name].nil? + @html.em('Name: ') + @html.text!(result[:name]) + @html.br + end + + # Statement + unless result[:statement].nil? + @html.em('Statement: ') + @html.text!(result[:statement]) + @html.br + end + end + end + end + end + + def writeQuantitativeResult(quantitativeResult) + scopeClass = Html_Scope.new(@html) + + @html.details do + @html.summary('Quantitative Result', {'class' => 'h5'}) + quantitativeResult.each do |result| + @html.section(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.details do + @html.summary('Scope', {'class' => 'h5'}) + @html.section(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # Name + unless result[:name].nil? + @html.em('Name: ') + @html.text!(result[:name]) + @html.br + end + + # Value + unless result[:values].empty? + @html.em('Value: ') + @html.text!(result[:values].join(', ')) + @html.br + end + + # ValueUnits + unless result[:valueUnits].nil? + @html.em('Value Units: ') + @html.text!(result[:valueUnits]) + @html.br + end + + # ValueRecordType + unless result[:valueRecordType].nil? + @html.em('Value Record Type: ') + @html.text!(result[:valueRecordType]) + @html.br + end + end + end + end + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/html/sections/html_rangeElementDescription.rb b/lib/adiwg/mdtranslator/writers/html/sections/html_rangeElementDescription.rb index 4e6b857cc..f7f4206d1 100644 --- a/lib/adiwg/mdtranslator/writers/html/sections/html_rangeElementDescription.rb +++ b/lib/adiwg/mdtranslator/writers/html/sections/html_rangeElementDescription.rb @@ -25,12 +25,12 @@ def writeHtml(red) @html.br end - red[:rangeElements].each do |hRangeElement| + red[:rangeElement].each do |hRangeElement| @html.em('Range Element:') @html.text!(hRangeElement) + @html.br end - @html.br end # writeHtml end # Html_RangeElementDescription diff --git a/lib/adiwg/mdtranslator/writers/html/sections/html_resultFile.rb b/lib/adiwg/mdtranslator/writers/html/sections/html_resultFile.rb new file mode 100644 index 000000000..19c8d1589 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/html/sections/html_resultFile.rb @@ -0,0 +1,60 @@ +# HTML writer +# result file + +require_relative 'html_format' + +module ADIWG + module Mdtranslator + module Writers + module Html + + class Html_ResultFile + + def initialize(html) + @html = html + end + + def writeHtml(hResultFile) + + # classes used + formatClass = Html_Format.new(@html) + + + # result file - file name + unless hResultFile[:fileName].nil? + @html.em('File Name: ') + @html.text!(hResultFile[:fileName]) + @html.br + end + + # result file - file type + unless hResultFile[:fileType].nil? + @html.em('File Type: ') + @html.text!(hResultFile[:fileType]) + @html.br + end + + # result file - file description + unless hResultFile[:fileDescription].nil? + @html.em('File Description: ') + @html.text!(hResultFile[:fileDescription]) + @html.br + end + + # resource format - format specification {citation} + unless hResultFile[:fileFormat].empty? + @html.details do + @html.summary(hResultFile[:fileFormat][:title], {'class' => 'h5'}) + @html.section(:class => 'block') do + formatClass.writeHtml(hResultFile[:fileFormat]) + end + end + end + + end # writeHtml + end # Html_Format + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataIdentification.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataIdentification.rb index 53a8eb335..ed3264955 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataIdentification.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataIdentification.rb @@ -277,6 +277,33 @@ def writeXML(hMetadata) # data identification - resource constraints [] {MD_Constraints} aConstraint = hResource[:constraints] + legalConstraint = aConstraint.find { |hCon| hCon[:type] == 'legal' } + # handle distribution liability statements - add to legal constraint -> other constraints + aDistInfo = hMetadata[:distributorInfo] + liabilityStatements = [] + aDistInfo.each do |hDistribution| + unless hDistribution.empty? + unless hDistribution[:liabilityStatement].nil? + liabilityStatements << hDistribution[:liabilityStatement] + end + end + end + if liabilityStatements.any? + # Create a new legal constraint if it doesn't exist + unless legalConstraint + legalConstraint = { + type: 'legal', + legalConstraint: { + otherCons: [] + } + } + aConstraint << legalConstraint + end + liabilityStatements.each do |liabilityStatement| + legalConstraint[:legalConstraint][:otherCons] << liabilityStatement + end + end + aConstraint.each do |hCon| @xml.tag!('mri:resourceConstraints') do constraintClass.writeXML(hCon, 'resource information') @@ -286,6 +313,8 @@ def writeXML(hMetadata) @xml.tag!('mri:resourceConstraints') end + # data identification - resource constraints {} from distribution liability statement + # data identification - associated resource [] {MD_AssociatedResource} aAssocRes.each do |hAssocRes| @xml.tag!('mri:associatedResource') do diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataQualityReport.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataQualityReport.rb index b86541542..d8b4fc131 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataQualityReport.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataQualityReport.rb @@ -1,3 +1,14 @@ +require_relative '../iso19115_3_writer' +require_relative 'class_format' +require_relative 'class_qualityResultFile' +require_relative 'class_date' +require_relative 'class_scope' +require_relative 'class_spatialRepresentation' +require_relative 'class_coverageDescription' +require_relative 'class_codelist' +require_relative 'class_identifier' +require_relative 'class_citation' + module ADIWG module Mdtranslator module Writers @@ -12,83 +23,245 @@ def initialize(xml, hResponseObj) def writeXML(hReport) # require 'pry'; binding.pry + formatClass = MD_Format.new(@xml, @hResponseObj) + qualityResultFileClass = QualityResultFile.new(@xml, @hResponseObj) + dateClass = CI_Date.new(@xml, @hResponseObj) + scopeClass = MD_Scope.new(@xml, @hResponseObj) + spatialRepresentationClass = SpatialRepresentation.new(@xml, @hResponseObj) + coverageDescriptionClass = MD_CoverageDescription.new(@xml, @hResponseObj) + codeListClass = MD_Codelist.new(@xml, @hResponseObj) + identifierClass = MD_Identifier.new(@xml, @hResponseObj) + citationClass = CI_Citation.new(@xml, @hResponseObj) + @xml.tag!('mdq:report') do @xml.tag!("mdq:#{hReport[:type]}") do - # conformanceResult [] - - # coverageResult [] + # standaloneQualityReportDetails + unless hReport[:standaloneQualityReportDetails].nil? + @xml.tag!('mdq:standaloneQualityReportDetails') do + @xml.tag!('gco:CharacterString', hReport[:standaloneQualityReportDetails]) + end + end - # descriptiveResult [] - unless hReport[:descriptiveResult].nil? || hReport[:descriptiveResult].empty? - hReport[:descriptiveResult].each do |descriptiveResult| - @xml.tag!('mdq:result') do - @xml.tag!('mdq:DQ_DescriptiveResult') do - unless descriptiveResult[:statement].nil? || descriptiveResult[:statement].empty? - @xml.tag!('mdq:statement') do - @xml.tag!('gco:CharacterString', descriptiveResult[:statement]) + # qualityMeasure {} + qualityMeasure = hReport[:qualityMeasure] + unless qualityMeasure.empty? + @xml.tag!('mdq:measure') do + @xml.tag!('mdq:DQ_MeasureReference') do + unless qualityMeasure[:identifier].empty? + @xml.tag!('mdq:measureIdentification') do + identifierClass.writeXML(qualityMeasure[:identifier]) + end + end + unless qualityMeasure[:nameOfMeasure].nil? + qualityMeasure[:nameOfMeasure].each do |value| + @xml.tag!('mdq:nameOfMeasure') do + @xml.tag!('gco:CharacterString', value) end end end + unless qualityMeasure[:description].nil? + @xml.tag!('mdq:measureDescription') do + @xml.tag!('gco:CharacterString', qualityMeasure[:description]) + end + end end end - end + end # qualityMeasure # evaluationMethod {} evaluationMethod = hReport[:evaluationMethod] - unless evaluationMethod.nil? || evaluationMethod.empty? + unless evaluationMethod.empty? @xml.tag!('mdq:evaluationMethod') do @xml.tag!('mdq:DQ_EvaluationMethod') do - @xml.tag!('mdq:evaluationMethodDescription') do - @xml.tag!('gco:CharacterString', evaluationMethod[:methodDescription]) + unless evaluationMethod[:dateTime].empty? + evaluationMethod[:dateTime].each do |dateTime| + dateTimeValue = DateTime.parse(dateTime).strftime('%Y-%m-%dT%H:%M:%S') + @xml.tag!('mdq:dateTime') do + @xml.tag!('gco:DateTime', dateTimeValue) + end + end + end + unless evaluationMethod[:methodDescription].nil? + @xml.tag!('mdq:evaluationMethodDescription') do + @xml.tag!('gco:CharacterString', evaluationMethod[:methodDescription]) + end + end + unless evaluationMethod[:evaluationProcedure].empty? + @xml.tag!('mdq:evaluationProcedure') do + citationClass.writeXML(evaluationMethod[:evaluationProcedure]) + end + end + unless evaluationMethod[:referenceDocuments].empty? + evaluationMethod[:referenceDocuments].each do |citation| + @xml.tag!('mdq:referenceDoc') do + citationClass.writeXML(citation) + end + end + end + unless evaluationMethod[:evaluationMethodType].nil? + @xml.tag!('mdq:evaluationMethodType') do + codeListClass.writeXML('mcc', 'iso_evaluationMethodType', evaluationMethod[:evaluationMethodType]) + end end end end - end + end # evaluationMethod - # qualityMeasure {} - qualityMeasure = hReport[:qualityMeasure] - unless qualityMeasure.nil? || qualityMeasure.empty? - @xml.tag!('mdq:measure') do - @xml.tag!('mdq:DQ_MeasureReference') do - unless qualityMeasure[:name].nil? - qualityMeasure[:name].each do |value| - @xml.tag!('mdq:nameOfMeasure') do - @xml.tag!('gco:CharacterString', value) + # conformanceResult [] + unless hReport[:conformanceResult].empty? + hReport[:conformanceResult].each do |conformanceResult| + @xml.tag!('mdq:result') do + @xml.tag!('mdq:DQ_ConformanceResult') do + unless conformanceResult[:dateTime].nil? + dateTimeValue = DateTime.parse(conformanceResult[:dateTime]).strftime('%Y-%m-%dT%H:%M:%S') + @xml.tag!('mdq:dateTime') do + @xml.tag!('gco:DateTime', dateTimeValue) + end + end + unless conformanceResult[:scope].empty? + @xml.tag!('mdq:resultScope') do + scopeClass.writeXML(conformanceResult[:scope]) + end + end + unless conformanceResult[:specification].empty? + @xml.tag!('mdq:specification') do + citationClass.writeXML(conformanceResult[:specification]) + end + end + unless conformanceResult[:explanation].nil? + @xml.tag!('mdq:explanation') do + @xml.tag!('gco:CharacterString', conformanceResult[:explanation]) + end + end + unless conformanceResult[:pass].nil? + @xml.tag!('mdq:pass') do + @xml.tag!('gco:Boolean', conformanceResult[:pass]) end end end + end + end + end # conformanceResult - unless qualityMeasure[:description].nil? - @xml.tag!('mdq:measureDescription') do - @xml.tag!('gco:CharacterString', qualityMeasure[:description]) + # descriptiveResult [] + unless hReport[:descriptiveResult].empty? + hReport[:descriptiveResult].each do |descriptiveResult| + @xml.tag!('mdq:result') do + @xml.tag!('mdq:DQ_DescriptiveResult') do + unless descriptiveResult[:dateTime].nil? + dateTimeValue = DateTime.parse(descriptiveResult[:dateTime]).strftime('%Y-%m-%dT%H:%M:%S') + @xml.tag!('mdq:dateTime') do + @xml.tag!('gco:DateTime', dateTimeValue) + end + end + unless descriptiveResult[:scope].empty? + @xml.tag!('mdq:resultScope') do + scopeClass.writeXML(descriptiveResult[:scope]) + end + end + unless descriptiveResult[:statement].nil? + @xml.tag!('mdq:statement') do + @xml.tag!('gco:CharacterString', descriptiveResult[:statement]) + end end end end end - end - + end # descriptiveResult # quantitativeResult [] - unless hReport[:quantitativeResult].nil? || hReport[:quantitativeResult].empty? + unless hReport[:quantitativeResult].empty? hReport[:quantitativeResult].each do |quantitativeResult| @xml.tag!('mdq:result') do @xml.tag!('mdq:DQ_QuantitativeResult') do - quantitativeResult[:value].each do |value| - @xml.tag!('mdq:value') do - @xml.tag!('gco:Record', value) + unless quantitativeResult[:dateTime].nil? + dateTimeValue = DateTime.parse(quantitativeResult[:dateTime]).strftime('%Y-%m-%dT%H:%M:%S') + @xml.tag!('mdq:dateTime') do + @xml.tag!('gco:DateTime', dateTimeValue) + end + end + unless quantitativeResult[:scope].empty? + @xml.tag!('mdq:resultScope') do + scopeClass.writeXML(quantitativeResult[:scope]) + end + end + unless quantitativeResult[:values].empty? + quantitativeResult[:values].each do |value| + @xml.tag!('mdq:value') do + @xml.tag!('gco:Record', value) + end + end + end + unless quantitativeResult[:valueUnits].nil? + @xml.tag!('mdq:valueUnit') do + @xml.tag!('gml:UnitDefinition') do + @xml.tag!('gml:identifier', {'codeSpace' => 'units'}, quantitativeResult[:valueUnits]) + end + end + end + unless quantitativeResult[:valueRecordType].nil? + @xml.tag!('mdq:valueType') do + @xml.tag!('gco:RecordType', quantitativeResult[:valueRecordType]) end end end end end - end + end # quantitativeResult - end - end - end + # coverageResult [] + unless hReport[:coverageResult].empty? + hReport[:coverageResult].each do |coverageResult| + @xml.tag!('mdq:result') do + @xml.tag!('mdq:QE_CoverageResult') do + unless coverageResult[:dateTime].nil? + dateTimeValue = DateTime.parse(coverageResult[:dateTime]).strftime('%Y-%m-%dT%H:%M:%S') + @xml.tag!('mdq:dateTime') do + @xml.tag!('gco:DateTime', dateTimeValue) + end + end + unless coverageResult[:scope].empty? + @xml.tag!('mdq:resultScope') do + scopeClass.writeXML(coverageResult[:scope]) + end + end + unless coverageResult[:spatialRepresentationType].nil? + @xml.tag!('mdq:spatialRepresentationType') do + codeListClass.writeXML('mcc', 'iso_spatialRepresentation', coverageResult[:spatialRepresentationType]) + end + end + unless coverageResult[:resultFile].empty? + @xml.tag!('mdq:resultFile') do + qualityResultFileClass.writeXML(coverageResult[:resultFile]) + end + end + unless coverageResult[:spatialRepresentation].empty? + @xml.tag!('mdq:resultSpatialRepresentation') do + spatialRepresentationClass.writeXML(coverageResult[:spatialRepresentation]) + end + end + unless coverageResult[:resultContentDescription].empty? + @xml.tag!('mdq:resultContentDescription') do + coverageDescriptionClass.writeXML(coverageResult[:resultContentDescription]) + end + end + unless coverageResult[:resourceFormat].empty? + @xml.tag!('mdq:resultFormat') do + formatClass.writeXML(coverageResult[:resourceFormat]) + end + end + end + end + end + end # coverageResult + + end # mdq: + end # mdq:report + + end # writeXML - end + end # DataQualityReport class end end end diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_gcoDateTime.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_gcoDateTime.rb index 5c7d87533..e408a5f0e 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_gcoDateTime.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_gcoDateTime.rb @@ -24,7 +24,16 @@ def writeXML(hDate) # date - date (required) unless date.nil? case dateRes - when 'Y', 'YM', 'YMD', 'YMDh', 'YMDhm', 'YMDhms' + when 'Y' + dateStr = AdiwgDateTimeFun.stringDateFromDateTime(date, 'Y') + @xml.tag!('gco:Date', dateStr) + when 'YM' + dateStr = AdiwgDateTimeFun.stringDateFromDateTime(date, 'YM') + @xml.tag!('gco:Date', dateStr) + when 'YMD' + dateStr = AdiwgDateTimeFun.stringDateFromDateTime(date, 'YMD') + @xml.tag!('gco:Date', dateStr) + when 'YMDh', 'YMDhm', 'YMDhms' dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(date, 'YMDhms') @xml.tag!('gco:DateTime', dateStr) when 'YMDhZ', 'YMDhmZ', 'YMDhmsZ' diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb index 60ac34d75..c6657190e 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb @@ -85,7 +85,7 @@ def writeXML(intObj) # schema locations # set to 'remoteSchema' before publishing localSchema = 'C:\Users\StanSmith\Projects\ISO\19115\-3\mdt\1.0\mdt.xsd' - remoteSchema = 'http://standards.iso.org/iso/19115/-3/mdt/2.0/mdt.xsd' + remoteSchema = 'https://schemas.isotc211.org/19115/-3/mdt/2.0/mdt.xsd' # MD_Metadata @xml.tag!('mdb:MD_Metadata', diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_organization.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_organization.rb index 4cef88081..8f577041b 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_organization.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_organization.rb @@ -113,25 +113,7 @@ def writeXML(hParty, hContact, inContext = nil) @xml.tag!('cit:individual') end - # organization - party identifier - if hContact[:externalIdentifier] && hContact[:externalIdentifier].length > 0 - hContact[:externalIdentifier].each do |identifier| - @xml.tag!('cit:partyIdentifier') do - identifierClass.writeXML(identifier); - end - end - else - if hContact[:contactId] && - hContact[:contactId].is_a?(Hash) - @xml.tag!('cit:partyIdentifier') do - identifierClass.writeXML(hContact[:contactId]); - end - elsif hContact[:contactId].is_a?(String) - @xml.tag!('cit:partyIdentifier') do - identifierClass.writeXML({ identifier: hContact[:contactId] }) - end - end - end + end if hContact.empty? diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_qualityResultFile.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_qualityResultFile.rb new file mode 100644 index 000000000..28ed566bc --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_qualityResultFile.rb @@ -0,0 +1,55 @@ +require_relative '../iso19115_3_writer' +require_relative 'class_format' + +module ADIWG + module Mdtranslator + module Writers + module Iso19115_3 + + class QualityResultFile + + def initialize(xml, hResponseObj) + @xml = xml + @hResponseObj = hResponseObj + @NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_3 + end + + def writeXML(hResultFile, inContext = nil) + + # classes used + formatClass = MD_Format.new(@xml, @hResponseObj) + + @xml.tag!('mdq:QualityResultFile') do + + unless hResultFile[:fileName].nil? + @xml.tag!('mdq:fileName') do + @xml.tag!('gcx:FileName', hResultFile[:fileName]) + end + end + + unless hResultFile[:fileType].nil? + @xml.tag!('mdq:fileType') do + @xml.tag!('gcx:MimeFileType', {:type => hResultFile[:fileType]}) + end + end + + unless hResultFile[:fileDescription].nil? + @xml.tag!('mdq:fileDescription') do + @xml.tag!('gco:CharacterString', hResultFile[:fileDescription]) + end + end + + unless hResultFile[:fileFormat].empty? + @xml.tag!('mdq:fileFormat') do + formatClass.writeXML(hResultFile[:fileFormat], inContext) + end + end + + end + end # writeXML + end + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_rangeElementDescription.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_rangeElementDescription.rb index cc5c71bec..7a8e49fd0 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_rangeElementDescription.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_rangeElementDescription.rb @@ -17,23 +17,24 @@ def initialize(xml, hResponseObj) end def writeXML(hAttribute, inContext = nil) - - unless hAttribute[:name].nil? - @xml.tag!('mrc:name') do - @xml.tag!('gco:CharacterString', hAttribute[:name]) + @xml.tag!('mrc:MI_RangeElementDescription') do + unless hAttribute[:name].nil? + @xml.tag!('mrc:name') do + @xml.tag!('gco:CharacterString', hAttribute[:name]) + end end - end - unless hAttribute[:definition].nil? - @xml.tag!('mrc:definition') do - @xml.tag!('gco:CharacterString', hAttribute[:definition]) + unless hAttribute[:definition].nil? + @xml.tag!('mrc:definition') do + @xml.tag!('gco:CharacterString', hAttribute[:definition]) + end end - end - hAttribute[:rangeElements].each do |hRangeElement| - @xml.tag!('mrc:rangeElement') do - @xml.tag!('gco:Record') do - @xml.tag!('gco:CharacterString', hRangeElement) + hAttribute[:rangeElement].each do |hRangeElement| + @xml.tag!('mrc:rangeElement') do + @xml.tag!('gco:Record') do + @xml.tag!('gco:CharacterString', hRangeElement) + end end end end diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_sampleDimension.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_sampleDimension.rb index 3e2ae4814..20056e431 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_sampleDimension.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_sampleDimension.rb @@ -67,12 +67,6 @@ def writeXML(hAttribute, inContext = nil) @xml.tag!('mrc:scaleFactor') end - hAttribute[:rangeElementDescription].each do |red| - @xml.tag!('mrc:rangeElementDescription') do - rangeElementDescription.writeXML(red, inContext) - end - end - # sample dimension - offset {real} unless hAttribute[:offset].nil? @xml.tag!('mrc:offset') do @@ -126,6 +120,12 @@ def writeXML(hAttribute, inContext = nil) @xml.tag!('mrc:bitsPerValue') end + hAttribute[:rangeElementDescription].each do |red| + @xml.tag!('mrc:rangeElementDescription') do + rangeElementDescription.writeXML(red, inContext) + end + end + end # writeXML end # MD_SampleDescription diff --git a/lib/adiwg/mdtranslator/writers/iso19115_3/iso19115_3_writer.rb b/lib/adiwg/mdtranslator/writers/iso19115_3/iso19115_3_writer.rb index 912156880..19ccac687 100644 --- a/lib/adiwg/mdtranslator/writers/iso19115_3/iso19115_3_writer.rb +++ b/lib/adiwg/mdtranslator/writers/iso19115_3/iso19115_3_writer.rb @@ -20,6 +20,8 @@ module Iso19115_3 def self.startWriter(intObj, hResponseObj) + hResponseObj[:writerMissingIdCount] = '000' + # make contact available to the instance @contacts = intObj[:contacts] @hResponseObj = hResponseObj diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb index c10a2317d..eb6768648 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb @@ -28,8 +28,8 @@ def self.build(hAllocation) json.recipientId hAllocation[:recipientId] json.responsibleParty @Namespace.json_map(hAllocation[:responsibleParties], ResponsibleParty) json.matching hAllocation[:matching] - json.onlineResource @Namespace.json_map(hAllocation[:onlineResources], OnlineResource) json.comment hAllocation[:comment] + json.onlineResource @Namespace.json_map(hAllocation[:onlineResources], OnlineResource) end end # build diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_conformanceResult.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_conformanceResult.rb index 7e7c13c7b..af13418b4 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_conformanceResult.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_conformanceResult.rb @@ -10,11 +10,12 @@ module MdJson module ConformanceResult def self.build(hConformanceResult) Jbuilder.new do |json| - json.dateTime hConformanceResult[:dateTime] - json.scope Scope.build(hConformanceResult[:scope]) - json.specification Citation.build(hConformanceResult[:specification]) - json.explanation hConformanceResult[:explanation] - json.pass hConformanceResult[:pass] + json.dateTime hConformanceResult[:dateTime] unless hConformanceResult[:dateTime].nil? + json.scope Scope.build(hConformanceResult[:scope]) unless hConformanceResult[:scope].empty? + json.name hConformanceResult[:name] unless hConformanceResult[:name].nil? + json.specification Citation.build(hConformanceResult[:specification]) unless hConformanceResult[:specification].empty? + json.explanation hConformanceResult[:explanation] unless hConformanceResult[:explanation].nil? + json.pass hConformanceResult[:pass] unless hConformanceResult[:pass].nil? end end end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageResult.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageResult.rb new file mode 100644 index 000000000..14a392e1e --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageResult.rb @@ -0,0 +1,31 @@ +require 'jbuilder' +require_relative 'mdJson_scope' +require_relative 'mdJson_spatialRepresentation' +require_relative 'mdJson_format' +require_relative 'mdJson_qualityResultFile' +require_relative 'mdJson_coverageDescription' + +module ADIWG + module Mdtranslator + module Writers + module MdJson + + module CoverageResult + def self.build(hCoverageResult) + Jbuilder.new do |json| + json.dateTime hCoverageResult[:dateTime] + json.scope Scope.build(hCoverageResult[:scope]) unless hCoverageResult[:scope].empty? + json.name hCoverageResult[:name] unless hCoverageResult[:name].nil? + json.spatialRepresentationType hCoverageResult[:spatialRepresentationType] + json.spatialRepresentation SpatialRepresentation.build(hCoverageResult[:spatialRepresentation]) unless hCoverageResult[:spatialRepresentation].empty? + json.resultContentDescription CoverageDescription.build(hCoverageResult[:resultContentDescription]) unless hCoverageResult[:resultContentDescription].empty? + json.resourceFormat Format.build(hCoverageResult[:resourceFormat]) unless hCoverageResult[:resourceFormat].empty? + json.resultFile QualityResultFile.build(hCoverageResult[:resultFile]) unless hCoverageResult[:resultFile].empty? + end + end + end + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb index 92e3fc1e6..afd9a8975 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb @@ -3,6 +3,8 @@ require 'jbuilder' require_relative 'mdJson_scope' require_relative 'mdJson_dataQualityReport' +require_relative 'mdJson_citation' +require_relative 'mdJson_standaloneQualityReport' module ADIWG module Mdtranslator @@ -17,7 +19,7 @@ def self.build(hDataQuality) Jbuilder.new do |json| json.scope Scope.build(hDataQuality[:scope]) json.systemIdentifier hDataQuality[:systemIdentifier] - json.standaloneQualityReport hDataQuality[:standaloneQualityReport] + json.standaloneQualityReport StandaloneQualityReport.build(hDataQuality[:standaloneReport]) unless hDataQuality[:standaloneReport].nil? json.report @Namespace.json_map(hDataQuality[:report], DataQualityReport) end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQualityReport.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQualityReport.rb index 9734a9eb6..196097faa 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQualityReport.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQualityReport.rb @@ -1,9 +1,10 @@ require 'jbuilder' -require_relative 'mdJson_conformanceResult' -require_relative 'mdJson_descriptiveResult' require_relative 'mdJson_qualityMeasure' -require_relative 'mdJson_quantitativeResult' require_relative 'mdJson_evaluationMethod' +require_relative 'mdJson_quantitativeResult' +require_relative 'mdJson_descriptiveResult' +require_relative 'mdJson_conformanceResult' +require_relative 'mdJson_coverageResult' module ADIWG module Mdtranslator @@ -16,13 +17,14 @@ module DataQualityReport def self.build(hReport) Jbuilder.new do |json| - json.type hReport[:type] - json.conformanceResult @Namespace.json_map(hReport[:conformanceResult], ConformanceResult) unless hReport[:conformanceResult].nil? || hReport[:conformanceResult].empty? - json.descriptiveResult @Namespace.json_map(hReport[:descriptiveResult], DescriptiveResult) unless hReport[:descriptiveResult].nil? || hReport[:descriptiveResult].empty? - json.evaluationMethod EvaluationMethod.build(hReport[:evaluationMethod]) unless hReport[:evaluationMethod].nil? - json.qualityMeasure QualityMeasure.build(hReport[:qualityMeasure]) unless hReport[:qualityMeasure].nil? - json.quantitativeResult @Namespace.json_map(hReport[:quantitativeResult], QuantitativeResult) unless hReport[:quantitativeResult].nil? || hReport[:quantitativeResult].empty? - + json.type hReport[:type] unless hReport[:type].nil? + json.standaloneQualityReportDetails hReport[:standaloneQualityReportDetails] unless hReport[:standaloneQualityReportDetails].nil? + json.qualityMeasure QualityMeasure.build(hReport[:qualityMeasure]) unless hReport[:qualityMeasure].empty? + json.evaluationMethod EvaluationMethod.build(hReport[:evaluationMethod]) unless hReport[:evaluationMethod].empty? + json.quantitativeResult @Namespace.json_map(hReport[:quantitativeResult], QuantitativeResult) unless hReport[:quantitativeResult].empty? + json.descriptiveResult @Namespace.json_map(hReport[:descriptiveResult], DescriptiveResult) unless hReport[:descriptiveResult].empty? + json.conformanceResult @Namespace.json_map(hReport[:conformanceResult], ConformanceResult) unless hReport[:conformanceResult].empty? + json.coverageResult @Namespace.json_map(hReport[:coverageResult], CoverageResult) unless hReport[:coverageResult].empty? end end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_descriptiveResult.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_descriptiveResult.rb index 497f615d5..20d90a9ab 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_descriptiveResult.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_descriptiveResult.rb @@ -9,9 +9,10 @@ module MdJson module DescriptiveResult def self.build(hResult) Jbuilder.new do |json| - json.dateTime hResult[:dateTime] - json.scope Scope.build(hResult[:scope]) unless hResult[:scope].nil? - json.statement hResult[:statement] + json.dateTime hResult[:dateTime] unless hResult[:dateTime].nil? + json.scope Scope.build(hResult[:scope]) unless hResult[:scope].empty? + json.name hResult[:name] unless hResult[:name].nil? + json.statement hResult[:statement] unless hResult[:statement].nil? end end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb index 59d66841a..70247a4bc 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb @@ -20,9 +20,9 @@ module Funding def self.build(hFunding) Jbuilder.new do |json| - json.description hFunding[:description] - json.timePeriod TimePeriod.build(hFunding[:timePeriod]) unless hFunding[:timePeriod].empty? json.allocation @Namespace.json_map(hFunding[:allocations], Allocation) + json.timePeriod TimePeriod.build(hFunding[:timePeriod]) unless hFunding[:timePeriod].empty? + json.description hFunding[:description] end end # build diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb index 30ed6c303..75f5c4c87 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb @@ -15,8 +15,8 @@ module LegalConstraint def self.build(hLegal) Jbuilder.new do |json| - json.useConstraint hLegal[:useCodes] unless hLegal[:useCodes].empty? json.accessConstraint hLegal[:accessCodes] unless hLegal[:accessCodes].empty? + json.useConstraint hLegal[:useCodes] unless hLegal[:useCodes].empty? json.otherConstraint hLegal[:otherCons] unless hLegal[:otherCons].empty? end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb index 06971d11e..5a6469553 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb @@ -28,12 +28,12 @@ def self.build(hMetadata) Jbuilder.new do |json| json.metadataInfo MetadataInfo.build(hMetadata[:metadataInfo]) json.resourceInfo ResourceInfo.build(hMetadata[:resourceInfo]) + json.dataQuality @Namespace.json_map(hMetadata[:dataQuality], DataQuality) json.resourceLineage @Namespace.json_map(hMetadata[:lineageInfo], LineageInfo) json.resourceDistribution @Namespace.json_map(hMetadata[:distributorInfo], Distribution) json.associatedResource @Namespace.json_map(hMetadata[:associatedResources], AssociatedResource) json.additionalDocumentation @Namespace.json_map(hMetadata[:additionalDocuments], AdditionalDocument) json.funding @Namespace.json_map(hMetadata[:funding], Funding) - json.dataQuality @Namespace.json_map(hMetadata[:dataQuality], DataQuality) end end # build diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb index b86b48831..97db1b538 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb @@ -19,10 +19,10 @@ def self.build(hOlRes) Jbuilder.new do |json| json.uri hOlRes[:olResURI] json.name hOlRes[:olResName] + json.protocol hOlRes[:olResProtocol] json.description hOlRes[:olResDesc] json.function hOlRes[:olResFunction] json.applicationProfile hOlRes[:olResApplicationProfile] - json.protocol hOlRes[:olResProtocol] json.protocolRequest hOlRes[:olResProtocolRequest] end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityMeasure.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityMeasure.rb index a347410b9..ff6fd7bf5 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityMeasure.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityMeasure.rb @@ -1,4 +1,5 @@ require 'jbuilder' +require_relative 'mdJson_identifier' module ADIWG module Mdtranslator @@ -8,9 +9,9 @@ module MdJson module QualityMeasure def self.build(hQualityMeasure) Jbuilder.new do |json| - json.identifier hQualityMeasure[:identifier] - json.name hQualityMeasure[:name] - json.description hQualityMeasure[:description] + json.identifier Identifier.build(hQualityMeasure[:identifier]) unless hQualityMeasure[:identifier].empty? + json.name hQualityMeasure[:nameOfMeasure] unless hQualityMeasure[:nameOfMeasure].empty? + json.description hQualityMeasure[:description] unless hQualityMeasure[:description].nil? end end end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityResultFile.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityResultFile.rb new file mode 100644 index 000000000..959b90435 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityResultFile.rb @@ -0,0 +1,23 @@ +require 'jbuilder' +require_relative 'mdJson_format' + +module ADIWG + module Mdtranslator + module Writers + module MdJson + + module QualityResultFile + def self.build(hQualityResultFile) + Jbuilder.new do |json| + json.fileName hQualityResultFile[:fileName] + json.fileDescription hQualityResultFile[:fileDescription] + json.fileType hQualityResultFile[:fileType] + json.fileFormat Format.build(hQualityResultFile[:fileFormat]) unless hQualityResultFile[:fileFormat].nil? + end + end + end + + end + end + end +end \ No newline at end of file diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_quantitativeResult.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_quantitativeResult.rb index de7d1a37c..9af7aebd3 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_quantitativeResult.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_quantitativeResult.rb @@ -9,11 +9,12 @@ module MdJson module QuantitativeResult def self.build(hResult) Jbuilder.new do |json| - json.dateTime hResult[:dateTime] - json.scope Scope.build(hResult[:scope]) if hResult[:scope] - json.value hResult[:value] - json.valueUnits hResult[:valueUnits] - json.valueRecordType hResult[:valueRecordType] + json.dateTime hResult[:dateTime] unless hResult[:dateTime].nil? + json.scope Scope.build(hResult[:scope]) unless hResult[:scope].empty? + json.name hResult[:name] unless hResult[:name].nil? + json.value hResult[:values] unless hResult[:values].empty? + json.valueUnits hResult[:valueUnits] unless hResult[:valueUnits].nil? + json.valueRecordType hResult[:valueRecordType] unless hResult[:valueRecordType].nil? end end end diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb index b7669f025..0f533b293 100644 --- a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb @@ -42,8 +42,8 @@ def self.build(hResInfo) json.abstract hResInfo[:abstract] json.shortAbstract hResInfo[:shortAbstract] json.purpose hResInfo[:purpose] - json.credit hResInfo[:credits] unless hResInfo[:credits].empty? json.timePeriod TimePeriod.build(hResInfo[:timePeriod]) unless hResInfo[:timePeriod].empty? + json.credit hResInfo[:credits] unless hResInfo[:credits].empty? json.status hResInfo[:status] unless hResInfo[:status].empty? json.pointOfContact @Namespace.json_map(hResInfo[:pointOfContacts], ResponsibleParty) json.spatialReferenceSystem @Namespace.json_map(hResInfo[:spatialReferenceSystems], SpatialReference) diff --git a/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_standaloneQualityReport.rb b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_standaloneQualityReport.rb new file mode 100644 index 000000000..bb4f1a43e --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_standaloneQualityReport.rb @@ -0,0 +1,31 @@ +# mdJson 2.0 writer - dataQuality + +require 'jbuilder' +require_relative 'mdJson_citation' + +module ADIWG + module Mdtranslator + module Writers + module MdJson + + module StandaloneQualityReport + + @Namespace = ADIWG::Mdtranslator::Writers::MdJson + + def self.build(hStandaloneReport) + reportReference = hStandaloneReport[:reportReference] + Jbuilder.new do |json| + json.reportReference Citation.build(reportReference) + json.abstract hStandaloneReport[:abstract] + end + + end + + end + + end + end + end +end + + diff --git a/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb b/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb index e67e65dfe..fb6ea5ff2 100644 --- a/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb +++ b/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_citation.rb @@ -12,15 +12,15 @@ module SbJson module Citation - # build from citation as follows ... - # names, [] {citation.responsibleParty[]} - # dates(type), [] {citation.dates[]} - # title, {citation.title} - # uri, [] {citation.onlineResource[]} def self.build(hCitation) citation = '' + if hCitation[:otherDetails].length > 0 + citation = hCitation[:otherDetails][0] + return citation + end + # names aParties = [] hCitation[:responsibleParties].each do |hResponsibility| @@ -45,32 +45,15 @@ def self.build(hCitation) unless hContact[:name].nil? sbRole = Codelists.codelist_adiwg2sb('role_adiwg2sb', hParty[:role]) sbRole = sbRole.nil? ? hParty[:role] : sbRole - citation += hContact[:name] + '(' + sbRole + '), ' + if sbRole.downcase == 'author' + citation += hContact[:name] + ', ' + end end end end - # dates - hCitation[:dates].each do |hDate| - dateStr = AdiwgDateTimeFun.stringDateFromDateObject(hDate) - dateType = Codelists.codelist_adiwg2sb('date_adiwg2sb', hDate[:dateType]) - unless dateType.nil? - citation += dateStr + '(' + dateType + '), ' - end - end - # title - citation += hCitation[:title] + ', ' - - # uri - hCitation[:onlineResources].each do |hOnline| - citation += hOnline[:olResURI] + ', ' - end - - # clean off last comma - if citation.length > 0 - citation = citation[0...-2] - end + citation += hCitation[:title] citation diff --git a/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb b/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb index c3e617f7e..20bd23245 100644 --- a/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb +++ b/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb @@ -149,6 +149,16 @@ def self.build(hParty) end end end + + if hContact[:externalIdentifier] && type == 'person' + hContact[:externalIdentifier].each do |hExternalIdentifier| + if hExternalIdentifier[:namespace] == 'ORCID' + json.orcId hExternalIdentifier[:identifier] + break + end + end + end + end end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb index eb86a2586..d7a9505bc 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb @@ -33,7 +33,7 @@ def writeHtml(hAddDoc) # additional documentation - citation [] {citation} hAddDoc[:citation].each do |hCitation| @html.div do - @html.div(hCitation[:title], {'class' => 'h5'}) + @html.h5(hCitation[:title], {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hCitation) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb index b2782f562..aa68d4965 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb @@ -32,7 +32,7 @@ def writeHtml(hAlgorithm) # algorithm - citation {citation} unless hAlgorithm[:citation].empty? @html.div do - @html.div('Algorithm citation', {'class' => 'h5'}) + @html.h5('Algorithm citation', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hAlgorithm[:citation]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb index 296503c8b..f9bfd31e9 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb @@ -80,7 +80,7 @@ def writeHtml(hAllocation) # allocation - responsible parties [] {responsibleParty} hAllocation[:responsibleParties].each do |hResponsibility| @html.div do - @html.div(hResponsibility[:roleName], 'class' => 'h5') + @html.h5(hResponsibility[:roleName], 'class' => 'h5') @html.div(:class => 'block') do responsibilityClass.writeHtml(hResponsibility) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb index 83af5e693..353b8f2fb 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb @@ -47,7 +47,7 @@ def writeHtml(hResource) # associated resource - resource citation {citation} unless hResource[:resourceCitation].empty? @html.div do - @html.div('Resource citation', {'class' => 'h5'}) + @html.h5('Resource citation', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hResource[:resourceCitation]) end @@ -57,7 +57,7 @@ def writeHtml(hResource) # associated resource - metadata citation unless hResource[:metadataCitation].empty? @html.div do - @html.div('Metadata citation', {'class' => 'h5'}) + @html.h5('Metadata citation', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hResource[:metadataCitation]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb index adf123c00..071f39100 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb @@ -48,7 +48,7 @@ def writeHtml(hAttribute) # attribute - attribute identifiers [] {identifier} hAttribute[:attributeIdentifiers].each do |hIdentifier| @html.div do - @html.div('Identifier', 'class' => 'h5') + @html.h5('Identifier', 'class' => 'h5') @html.div(:class => 'block') do identifierClass.writeHtml(hIdentifier) end @@ -121,7 +121,7 @@ def writeHtml(hAttribute) # attribute - range element description hAttribute[:rangeElementDescription].each do |red| @html.div do - @html.div('Range Element Description', 'class' => 'h5') + @html.h5('Range Element Description', 'class' => 'h5') @html.div(:class => 'block') do rangeElementDescriptionClass.writeHtml(red) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb index 5b29e305f..bd8aeae16 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb @@ -35,7 +35,7 @@ def writeHtml(hGroup) hGroup[:attributes].each do |hAttribute| @html.div do counter += 1 - @html.div('Attribute '+counter.to_s, {'class' => 'h5'}) + @html.h5('Attribute '+counter.to_s, {'class' => 'h5'}) @html.div(:class => 'block') do attributeClass.writeHtml(hAttribute) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb index 429ff6fbb..3b2d14747 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb @@ -67,37 +67,25 @@ def writeHtml(version, intObj) @html.div('id' => 'sideNav') do # add section buttons - @html.a(' Top', {'href' => '#', 'class' => 'btn'}) @html.a(' Contacts', {'href' => '#body-contacts', 'class' => 'btn navBtn', 'id' => 'contactButton'}) @html.a(' Metadata', {'href' => '#body-metadataInfo', 'class' => 'btn navBtn', 'id' => 'metadataButton'}) @html.a(' Resource', {'href' => '#body-resourceInfo', 'class' => 'btn navBtn', 'id' => 'resourceButton'}) @html.a(' Lineage', {'href' => '#body-lineage', 'class' => 'btn navBtn', 'id' => 'lineageButton'}) @html.a(' Distribution', {'href' => '#body-distribution', 'class' => 'btn navBtn', 'id' => 'distributionButton'}) + @html.br @html.a(' Associated', {'href' => '#body-associatedResource', 'class' => 'btn navBtn', 'id' => 'associatedButton'}) @html.a(' Additional', {'href' => '#body-additionalDocument', 'class' => 'btn navBtn', 'id' => 'additionalButton'}) @html.a(' Dictionary', {'href' => '#body-dataDictionary', 'class' => 'btn navBtn', 'id' => 'dictionaryButton'}) @html.a(' Funding', {'href' => '#body-funding', 'class' => 'btn navBtn', 'id' => 'fundingButton'}) @html.a(' Repository', {'href' => '#body-repository', 'class' => 'btn navBtn', 'id' => 'repositoryButton'}) - # add open and close buttons - @html.span(' Open', {'class' => 'btn icon-caret-down', 'id' => 'openAllButton'}) - @html.span(' Close', {'class' => 'btn icon-caret-right', 'id' => 'closeAllButton'}) - end # main header @html.h2('id' => 'mainHeader') do # added blank to span tag to force builder to create closing tag - @html.span('', 'id' => 'logo') - @html.span('Metadata Record') - @html.span('HTML5', 'class' => 'version') end - # report title - # aShortVersion = version.split('.') - # shortVersion = aShortVersion[0].to_s + '.' + aShortVersion[1].to_s - @html.h1('mdTranslator ' + version + ' HTML Metadata Record', 'id' => 'mdtranslator-metadata-report') - # resource citation title unless hResourceInfo.empty? unless hResourceInfo[:citation].empty? @@ -110,7 +98,7 @@ def writeHtml(version, intObj) # report date @html.div(:class => 'block') do @html.em('Report Generated:') - @html.text!(Time.new.inspect) + @html.text!(Time.new.strftime('%Y-%m-%d %H:%M:%S')) end # metadata source @@ -129,6 +117,7 @@ def writeHtml(version, intObj) unless aContacts.empty? @html.div do @html.h2('Contacts', {'id' => 'body-contacts', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-contacts'}) @html.div(:class => 'block') do aContacts.each do |hContact| @html.div(:class => 'block') do @@ -136,6 +125,7 @@ def writeHtml(version, intObj) end end @html.hr + @html.br end end end @@ -144,6 +134,7 @@ def writeHtml(version, intObj) unless hMetaInfo.empty? @html.div do @html.h2('Metadata Information', {'id' => 'body-metadataInfo', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-metadataInfo'}) @html.div(:class => 'block') do @html.div(:class => 'block') do metaInfoClass.writeHtml(hMetaInfo) @@ -157,7 +148,8 @@ def writeHtml(version, intObj) unless hResourceInfo.empty? @html.div do @html.h2('Resource Information', {'id' => 'body-resourceInfo', 'class' => 'h2'}) - @html.div(:class => 'block') do + @html.span('', {'style' => 'mso-bookmark:body-resourceInfo'}) + @html.div(:class => 'block') do resourceClass.writeHtml(hResourceInfo) end @html.hr @@ -167,6 +159,7 @@ def writeHtml(version, intObj) unless aDataQuality.nil? || aDataQuality.empty? @html.div do @html.h2('Data Quality', {'id' => 'body-dataQuality', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-dataQuality'}) aDataQuality.each do |hDataQuality| @html.div(:class => 'block') do dataQualityClass.writeHtml(hDataQuality) @@ -179,6 +172,7 @@ def writeHtml(version, intObj) unless aLineage.empty? @html.div do @html.h2('Resource Lineage', {'id' => 'body-lineage', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-lineage'}) @html.div(:class => 'block') do aLineage.each do |hLineage| @html.div do @@ -197,6 +191,7 @@ def writeHtml(version, intObj) unless aDistribution.empty? @html.div do @html.h2('Resource Distribution', {'id' => 'body-distribution', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-distribution'}) @html.div(:class => 'block') do aDistribution.each do |hDistribution| @html.div do @@ -215,6 +210,7 @@ def writeHtml(version, intObj) unless aAssociated.empty? @html.div do @html.h2('Associated Resources', {'id' => 'body-associatedResource', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-associatedResource'}) @html.div(:class => 'block') do aAssociated.each do |hAssociated| @html.div do @@ -233,6 +229,7 @@ def writeHtml(version, intObj) unless aAdditional.empty? @html.div do @html.h2('Additional Documentation', {'id' => 'body-additionalDocument', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-additionalDocument'}) @html.div(:class => 'block') do aAdditional.each do |hAdditional| @html.div do @@ -251,6 +248,7 @@ def writeHtml(version, intObj) unless aDictionaries.empty? @html.div do @html.h2('Data Dictionaries', {'id' => 'body-dataDictionary', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-dataDictionary'}) @html.div(:class => 'block') do aDictionaries.each do |hDictionary| @html.div do @@ -268,6 +266,7 @@ def writeHtml(version, intObj) unless aFunding.empty? @html.div do @html.h2('Funding', {'id' => 'body-funding', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-funding'}) @html.div(:class => 'block') do aFunding.each do |hFunding| @html.div do @@ -285,6 +284,7 @@ def writeHtml(version, intObj) unless aRepositories.empty? @html.div do @html.h2('Metadata Repositories', {'id' => 'body-repository', 'class' => 'h2'}) + @html.span('', {'style' => 'mso-bookmark:body-repository'}) @html.div(:class => 'block') do aRepositories.each do |hRepository| @html.div do @@ -298,22 +298,6 @@ def writeHtml(version, intObj) end end - # load leaflet - @html.link( :rel => 'stylesheet', :href => 'https://unpkg.com/leaflet@1.0.3/dist/leaflet.css') - @html.script('', :src => 'https://unpkg.com/leaflet@1.0.3/dist/leaflet.js') - @html.script('', :src => 'https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js') - - # add inline javascript - # read javascript from file - path = File.join(File.dirname(__FILE__), 'html_bodyScript.js') - file = File.open(path, 'r') - bodyJS = file.read - file.close - - @html.script('type'=>'text/javascript') do - @html << bodyJS - end - end # body end # writeHtml end # Html_Body diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bodyScript.js b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bodyScript.js deleted file mode 100644 index a88cde78e..000000000 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bodyScript.js +++ /dev/null @@ -1,317 +0,0 @@ - -//forEach Polyfill, Reference: https://goo.gl/hFIfSd -if (!Array.prototype.forEach) { - Array.prototype.forEach = function(callback, thisArg) { - var T, k; - if (this === null || this === undefined) { - throw new TypeError(' this is null or not defined'); - } - var O = Object(this); - var len = O.length >>> 0; - if ( typeof callback !== "function") { - throw new TypeError(callback + ' is not a function'); - } - if (arguments.length > 1) { - T = thisArg; - } - k = 0; - while (k < len) { - var kValue; - if ( k in O) { - kValue = O[k]; - callback.call(T, kValue, k, O); - } - k++; - } - }; -} - -// open detail panel in the document -function openDetail(evt) { - var href = evt.target.getAttribute("href"); - href = href.slice(1); - - if(window.location !== window.parent.location){ - evt.preventDefault(); - var el = document.getElementById(href); - window.scrollTo(0, el.offsetTop); - } - var parentNode = document.getElementById(href).parentNode; - parentNode.open = true; -} - -// open all detail panels in the document -function openAllDetails(evt) { - if(window.location !== window.parent.location){ - evt.preventDefault(); - } - var arr = document.getElementsByTagName("details"); - var len = arr.length; - - for (var i = 0; i < len; i++) { - arr[i].open = true; - } -} - -// close all detail panels in the document -function closeAllDetails(evt) { - if(window.location !== window.parent.location){ - evt.preventDefault(); - } - var arr = document.getElementsByTagName("details"); - var len = arr.length; - - for (var i = 0; i < len; i++) { - arr[i].open = false; - } -} - -// add event listeners to all anchor buttons in the sideNav -var navBtnList = document.querySelectorAll('a.navBtn'); -var navBtnArray = Array.prototype.slice.call(navBtnList); -navBtnArray.forEach(function(btn, btnIdx, btnArr) { - var href = btn.getAttribute("href").slice(1); - var target = document.getElementById(href); - //hide button if target is not present - if(target) { - btn.addEventListener("click", openDetail, false); - } else { - btn.style.display = 'none'; - } -}); - -// add event listener to openAllButton -var elOpen = document.getElementById("openAllButton"); -elOpen.addEventListener("click", openAllDetails, false); - -// add event listener to closeAllButton -var elClose = document.getElementById("closeAllButton"); -elClose.addEventListener("click", closeAllDetails, false); - -//replace top links in inframes -if(window.location !== window.parent.location){ - // add event listeners to all "top" links - var topList = document.querySelectorAll("a[href='#']"); - var topArray = Array.prototype.slice.call(topList); - topArray.forEach(function(a) { - a.addEventListener("click", function(evt) { - evt.preventDefault(); - window.scrollTo(0,0); - }, false); - }); -} - -if ( typeof L === "object") { - (function() { - - var westBound; - var eastBound; - - var coordsToLatLng = function(coords) { - // if computed bounding box spans the antimeridian - // add 360 to negative longitudes - var longitude = coords[0]; - if (westBound >= 0 && eastBound < 0) { - if (longitude < 0) { - longitude += 360; - } - } - var latitude = coords[1]; - return L.latLng(latitude, longitude); - }; - - var bbox2Poly = function(bbox) { - var bboxJson = JSON.parse(bbox.textContent || bbox.innerText); - var sw = [ bboxJson.westLongitude, bboxJson.southLatitude ]; - var nw = [ bboxJson.westLongitude, bboxJson.northLatitude ]; - var ne = [ bboxJson.eastLongitude, bboxJson.northLatitude ]; - var se = [ bboxJson.eastLongitude, bboxJson.southLatitude ]; - var coords = []; - coords.push(sw); - coords.push(nw); - coords.push(ne); - coords.push(se); - var bboxCoods = []; - bboxCoods.push(coords); - return bboxCoods; - }; - - // collect all geographicExtents sections in document - var geoExtentNodeList = document.querySelectorAll('section.extent-geographic'); - var geoExtents = Array.prototype.slice.call(geoExtentNodeList); - - var check = function(i, me, bnds) { - if (i < 3) { - var resize = me.getSize().x === 0 && me.getContainer().offsetWidth > 0; - - me.invalidateSize(); - if (resize) { - me.fitBounds(bnds); - } else { - i++; - setTimeout(function() { - check(i, me, bnds); - }, 100); - } - } - }; - - geoExtents.forEach(function(geoExtent, idx, arr) { - // instantiate a leaflet map in the map div - var map = L.map(geoExtent.querySelector('div.map'), {noWrap: true}); - // get a pointer to the map header switch - var header = geoExtent.querySelector('summary.map-summary'); - // get the GeoJSON from the geojson div - var geoJsonDiv = geoExtent.querySelector('div.geojson'); - if (geoJsonDiv) { - var geojson = JSON.parse(geoJsonDiv.textContent || geoJsonDiv.innerText); - } - else { - var geojson = []; - } - // get the user provided bounding box for the extent - if any - var userBBox = geoExtent.querySelector('div.userBBox'); - if (userBBox) { - var userCoords = bbox2Poly(userBBox); - var newUserBBox = { - "type": "Feature", - "geometry": { - "type": "Polygon", - "coordinates": userCoords - }, - "properties": { - "style": { - "color": '#f00', - "fill": false - }, - "featureName": [ - "User BBOX" - ] - } - }; - geojson.push(newUserBBox); - } - - // get the computed bounding box for the extent - always one - var computedBBox = geoExtent.querySelector('div.computedBBox'); - if (computedBBox) { - var compCoords = bbox2Poly(computedBBox); - var newCompBBox = { - "type": "Feature", - "geometry": { - "type": "Polygon", - "coordinates": compCoords - }, - "properties": { - "style": { - "color": '#0f0', - "fill": false - }, - "featureName": [ - "Computed BBOX" - ] - } - }; - geojson.push(newCompBBox); - westBound = compCoords[0][0][0]; - eastBound = compCoords[0][2][0]; - } - - var pointCnt = 0; - var lineStringCnt = 0; - var polygonCnt = 0; - var geoCollectCnt = 0; - var featureCnt = 0; - - geojson.forEach(function(geo, geoIdx, geoArr) { - - // make sure each geo has a properties object - if (!geo.properties) { - geo.properties = {}; - } - - // add popup information - if (geo.type === "Point") { - pointCnt += 1; - geo.properties.popup = "Point " + pointCnt; - } - if (geo.type === 'LineString') { - lineStringCnt += 1; - geo.properties.popup = "LineString " + lineStringCnt; - } - if (geo.type === 'Polygon') { - polygonCnt += 1; - geo.properties.popup = "Polygon " + polygonCnt; - } - if (geo.type === 'GeometryCollection') { - geoCollectCnt += 1; - geo.properties.popup = "Geometry Collection " + geoCollectCnt; - // popup can't find properties on collection objects - // placed popup on geometry collection instead - // geo.geometries.forEach(function (geoG, geoGIdx, geoGArr) { - // geoG.properties = {}; - // geoG.properties.popup = "Geometry Collection " + geoCollectCnt + " " + geoG.type; - // }); - } - if (geo.type === 'Feature') { - featureCnt += 1; - var featureName; - if (geo.properties.featureName !== undefined) { - featureName = geo.properties.featureName[0] || geo.id || geo.geometry.type; - } else featureName = geo.id || "Feature " + featureCnt + " " + geo.geometry.type; - geo.properties.popup = featureName; - } - if (geo.type === 'FeatureCollection') { - geo.features.forEach(function (geoF, geoFIdx, geoFArr) { - featureCnt += 1; - var featureName; - if (geoF.properties.featureName !== undefined) { - featureName = geoF.properties.featureName[0] || geoF.id || geoF.geometry.type; - } else featureName = geoF.id || "Feature " + featureCnt + " " + geoF.geometry.type; - geoF.properties.popup = featureName; - }); - } - - }); - - var geoLayer = L.geoJSON(geojson, { - style: function(feature) { - return feature.properties.style || {}; - }, - coordsToLatLng: coordsToLatLng, - onEachFeature: function (feature, layer) { - layer.bindPopup(feature.properties.popup,{ - closeButton: true - }); - } - }).addTo(map); - - var bnds = geoLayer.getBounds(); - map.fitBounds(bnds); - - L.DomEvent.addListener(header, 'click', function() { - var me = this; - var i = 0; - - setTimeout(function() { - check(i, me, bnds); - }, 100); - - }, map); - - L.DomEvent.addListener(L.DomUtil.get('openAllButton'), 'click', function() { - var me = this; - var i = 0; - - setTimeout(function() { - check(i, me, bnds); - }, 100); - - }, map); - - // map.addLayer(new L.TileLayer.OSM()); - var stamen = new L.StamenTileLayer("terrain"); - map.addLayer(stamen); - }); - })(); -} diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb index 746fab2d0..d7d45336c 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb @@ -68,7 +68,7 @@ def writeHtml(hCitation) # citation - responsibilities [] {responsibility} hCitation[:responsibleParties].each do |hResponsibility| @html.div do - @html.div(hResponsibility[:roleName], 'class' => 'h5') + @html.h5(hResponsibility[:roleName], 'class' => 'h5') @html.div(:class => 'block') do responsibilityClass.writeHtml(hResponsibility) end @@ -78,7 +78,7 @@ def writeHtml(hCitation) # citation - identifier [] hCitation[:identifiers].each do |hIdentifier| @html.div do - @html.div('Identifier', 'class' => 'h5') + @html.h5('Identifier', 'class' => 'h5') @html.div(:class => 'block') do identifierClass.writeHtml(hIdentifier) end @@ -88,7 +88,7 @@ def writeHtml(hCitation) # citation - series unless hCitation[:series].empty? @html.div do - @html.div('Publication Series', {'class' => 'h5'}) + @html.h5('Publication Series', {'class' => 'h5'}) @html.div(:class => 'block') do hSeries = hCitation[:series] @@ -121,7 +121,7 @@ def writeHtml(hCitation) # citation - online resource [] hCitation[:onlineResources].each do |hOnline| @html.div do - @html.div('Online Resource', {'class' => 'h5'}) + @html.h5('Online Resource', {'class' => 'h5'}) @html.div(:class => 'block') do onlineClass.writeHtml(hOnline) end @@ -131,7 +131,7 @@ def writeHtml(hCitation) # citation - browse graphic [] hCitation[:browseGraphics].each do |hGraphic| @html.div do - @html.div('Graphic Overview', {'class' => 'h5'}) + @html.h5('Graphic Overview', {'class' => 'h5'}) @html.div(:class => 'block') do graphicClass.writeHtml(hGraphic) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb index 600939422..fef5e299f 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb @@ -33,7 +33,7 @@ def writeHtml(hClassD) aClassItems = hClassD[:classedDataItems] aClassItems.each do |hClassItem| @html.div do - @html.div(hClassItem[:className], {'class'=>'h5'}) + @html.h5(hClassItem[:className], {'class'=>'h5'}) @html.div(:class=>'block') do htmlClassItem.writeHtml(hClassItem) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb index 6759566dd..5a19637b7 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb @@ -52,7 +52,7 @@ def writeHtml(hConstraint) # constraint - scope {scope} unless hConstraint[:scope].empty? @html.div do - @html.div('Scope', {'class' => 'h5'}) + @html.h5('Scope', {'class' => 'h5'}) @html.div(:class => 'block') do scopeClass.writeHtml(hConstraint[:scope]) end @@ -62,7 +62,7 @@ def writeHtml(hConstraint) # constraint - graphic [] {graphic} hConstraint[:graphic].each do |hGraphic| @html.div do - @html.div('Graphic', {'class' => 'h5'}) + @html.h5('Graphic', {'class' => 'h5'}) @html.div(:class => 'block') do graphicClass.writeHtml(hGraphic) end @@ -72,7 +72,7 @@ def writeHtml(hConstraint) # constraint - reference [] {citation} hConstraint[:reference].each do |hReference| @html.div do - @html.div('Reference', {'class' => 'h5'}) + @html.h5('Reference', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hReference) end @@ -82,7 +82,7 @@ def writeHtml(hConstraint) # constraint - releasability {releasability} unless hConstraint[:releasability].empty? @html.div do - @html.div('Releasability', {'class' => 'h5'}) + @html.h5('Releasability', {'class' => 'h5'}) @html.div(:class => 'block') do releasabilityClass.writeHtml(hConstraint[:releasability]) end @@ -92,7 +92,7 @@ def writeHtml(hConstraint) # constraint - responsibility [] {responsibility} hConstraint[:responsibleParty].each do |hResponsibility| @html.div do - @html.div(hResponsibility[:roleName], {'class' => 'h5'}) + @html.h5(hResponsibility[:roleName], {'class' => 'h5'}) @html.div(:class => 'block') do responsibilityClass.writeHtml(hResponsibility) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb index beb3c32f0..c1483e1d2 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb @@ -28,7 +28,7 @@ def writeHtml(hContact) graphicClass = Html_Graphic.new(@html) @html.div do - @html.div(hContact[:name], {'id' => 'CID_' + hContact[:contactId], 'class' => 'h3'}) + @html.h3(hContact[:name], {'id' => 'CID_' + hContact[:contactId], 'class' => 'h3'}) @html.div(:class => 'block') do # contact - contact ID @@ -70,7 +70,7 @@ def writeHtml(hContact) # contact - address hContact[:addresses].each do |hAddress| @html.div do - @html.div('Address', {'class' => 'h5'}) + @html.h5('Address', {'class' => 'h5', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do # address - delivery points @@ -119,7 +119,7 @@ def writeHtml(hContact) # contact - phones hContact[:phones].each do |hPhone| @html.div do - @html.div('Phone', {'class' => 'h5'}) + @html.h5('Phone', {'class' => 'h5', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do # phone - name @@ -159,7 +159,7 @@ def writeHtml(hContact) # contact - online resource [] hContact[:onlineResources].each do |hOnline| @html.div do - @html.div('Online Resource', {'class' => 'h5'}) + @html.h5('Online Resource', {'class' => 'h5', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do onlineClass.writeHtml(hOnline) end @@ -169,7 +169,7 @@ def writeHtml(hContact) # contact - logos [] hContact[:logos].each do |hLogo| @html.div do - @html.div('Logo Graphic', {'class' => 'h5'}) + @html.h5('Logo Graphic', {'class' => 'h5', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do graphicClass.writeHtml(hLogo) end @@ -190,6 +190,38 @@ def writeHtml(hContact) @html.br end + # contact - external identifiers [] + if hContact.key?(:externalIdentifier) && !hContact[:externalIdentifier].empty? + hContact[:externalIdentifier].each do |identifier| + @html.div do + @html.h5("External Identifier", {'class' => 'h5', 'style' => 'font-style: italic'}) + @html.div(:class => 'block') do + @html.em('Identifier: ') + @html.text!(identifier[:identifier]) + @html.br + + unless identifier[:namespace].nil? + @html.em('Namespace: ') + @html.text!(identifier[:namespace]) + @html.br + end + + unless identifier[:version].nil? + @html.em('Version: ') + @html.text!(identifier[:version]) + @html.br + end + + unless identifier[:description].nil? + @html.em('Description: ') + @html.text!(identifier[:description]) + @html.br + end + end + end + end + end + end end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb index a5b2d4244..b124a24b4 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb @@ -45,7 +45,7 @@ def writeHtml(hCoverage) # coverage - process level code unless hCoverage[:processingLevelCode].empty? @html.div do - @html.div('Processing Level Code', {'class' => 'h5'}) + @html.h5('Processing Level Code', {'class' => 'h5'}) @html.div(:class => 'block') do identifierClass.writeHtml(hCoverage[:processingLevelCode]) end @@ -55,7 +55,7 @@ def writeHtml(hCoverage) # coverage - attribute group [] {attributeGroup} hCoverage[:attributeGroups].each do |hAttGroup| @html.div do - @html.div('Attribute Group', {'class' => 'h5'}) + @html.h5('Attribute Group', {'class' => 'h5'}) @html.div(:class => 'block') do attGroupClass.writeHtml(hAttGroup) end @@ -65,7 +65,7 @@ def writeHtml(hCoverage) # coverage - image description {imageInfo} unless hCoverage[:imageDescription].empty? @html.div do - @html.div('Image Description', {'class' => 'h5'}) + @html.h5('Image Description', {'class' => 'h5'}) @html.div(:class => 'block') do imageClass.writeHtml(hCoverage[:imageDescription]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb index 22c34e2d5..bb4098377 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb @@ -51,7 +51,7 @@ def writeHtml(hDictionary) # dictionary - domains [] {domain} unless hDictionary[:domains].empty? @html.div do - @html.div('Domains', {'class' => 'h5'}) + @html.h5('Domains', {'class' => 'h5'}) @html.div(:class => 'block') do domainClass.writeHtml(hDictionary[:domains]) end @@ -61,7 +61,7 @@ def writeHtml(hDictionary) # dictionary - entities [] {entity} unless hDictionary[:entities].empty? @html.div do - @html.div('Entities', {'class' => 'h5'}) + @html.h5('Entities', {'class' => 'h5'}) @html.div(:class => 'block') do entityClass.writeHtml(hDictionary[:entities]) end @@ -71,7 +71,7 @@ def writeHtml(hDictionary) # dictionary - citation {citation} unless hDictionary[:citation].empty? @html.div do - @html.div('Citation', {'class' => 'h5'}) + @html.h5('Citation', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hDictionary[:citation]) end @@ -81,7 +81,7 @@ def writeHtml(hDictionary) # dictionary - locales {locale} hDictionary[:locales].each do |hLocale| @html.div do - @html.div('Locale', {'class' => 'h5'}) + @html.h5('Locale', {'class' => 'h5'}) @html.div(:class => 'block') do localeClass.writeHtml(hLocale) end @@ -91,7 +91,7 @@ def writeHtml(hDictionary) # dictionary - responsible party {responsibility} unless hDictionary[:responsibleParty].empty? @html.div do - @html.div(hDictionary[:responsibleParty][:roleName], {'class' => 'h5'}) + @html.h5(hDictionary[:responsibleParty][:roleName], {'class' => 'h5'}) @html.div(:class => 'block') do responsibilityClass.writeHtml(hDictionary[:responsibleParty]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb index 4da7ae60f..e4e7845f6 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb @@ -1,4 +1,6 @@ require_relative 'html_citation' +require_relative 'html_scope' +require_relative 'html_dataQualityReport' module ADIWG module Mdtranslator @@ -12,14 +14,13 @@ def initialize(html) def writeHtml(hDataQuality) citationClass = Html_Citation.new(@html) scopeClass = Html_Scope.new(@html) + dataQualityReportClass = Html_DataQualityReport.new(@html) - unless hDataQuality[:scope].nil? || hDataQuality[:scope].empty? - @html.div(class: 'block') do - @html.div do - @html.div('Scope', {'class' => 'h5'}) - @html.div(class: 'block') do - scopeClass.writeHtml(hDataQuality[:scope]) - end + unless hDataQuality[:scope].empty? + @html.div do + @html.h5('Scope', {'class' => 'h5'}) + @html.div(:class => 'block') do + scopeClass.writeHtml(hDataQuality[:scope]) end end end @@ -30,11 +31,11 @@ def writeHtml(hDataQuality) hDataQuality[:standaloneQualityReport][:reportReference].nil? ) report = hDataQuality[:standaloneQualityReport] - @html.div(class: 'block') do + @html.div(:class => 'block') do @html.div do - @html.div('Standalone Quality Report', {'class' => 'h5'}) + @html.h5('Standalone Quality Report', {'class' => 'h5'}) unless report[:abstract].nil? - @html.div(class: 'block') do + @html.div(:class =>'block') do @html.em('Abstract:') @html.text!(report[:abstract]) end @@ -42,16 +43,34 @@ def writeHtml(hDataQuality) unless report[:reportReference].nil? @html.div do - @html.div('Report Reference', {'class' => 'h5'}) - @html.div(class: 'block') do + @html.h5('Report Reference', {'class' => 'h5'}) + @html.div(:class =>'block') do citationClass.writeHtml(report[:reportReference]) end end end + end end + end + # reports + unless hDataQuality[:report].empty? + @html.div(:class =>'block') do + @html.div do + @html.h4('Reports', {'class' => 'h4'}) + hDataQuality[:report].each do |report| + @html.div(:class =>'block') do + @html.div do + @html.h5(report[:type], {'class' => 'h5'}) + dataQualityReportClass.writeHtml(report) + end + end + end + end + end end + end end end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb new file mode 100644 index 000000000..2049d61af --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb @@ -0,0 +1,385 @@ +require_relative 'html_citation' +require_relative 'html_identifier' +require_relative 'html_scope' +require_relative 'html_spatialRepresentation' +require_relative 'html_format' +require_relative 'html_resultFile' +require_relative 'html_coverageInfo' + +module ADIWG + module Mdtranslator + module Writers + module Simple_html + class Html_DataQualityReport + def initialize(html) + @html = html + end + + def writeHtml(hDataQualityReport) + @html.div(:class => 'block') do + writeQualityMeasure(hDataQualityReport[:qualityMeasure]) unless hDataQualityReport[:qualityMeasure].empty? + end + @html.div(:class => 'block') do + writeEvaluationMethod(hDataQualityReport[:evaluationMethod]) unless hDataQualityReport[:evaluationMethod].empty? + end + @html.div(:class => 'block') do + writeConformanceResult(hDataQualityReport[:conformanceResult]) unless hDataQualityReport[:conformanceResult].empty? + end + @html.div(:class => 'block') do + writeCoverageResult(hDataQualityReport[:coverageResult]) unless hDataQualityReport[:coverageResult].empty? + end + @html.div(:class => 'block') do + writeDescriptiveResult(hDataQualityReport[:descriptiveResult]) unless hDataQualityReport[:descriptiveResult].empty? + end + @html.div(:class => 'block') do + writeQuantitativeResult(hDataQualityReport[:quantitativeResult]) unless hDataQualityReport[:quantitativeResult].empty? + end + end + + private + + def writeQualityMeasure(qualityMeasure) + identifierClass = Html_Identifier.new(@html) + + @html.div do + @html.h5('Quality Measure', {'class' => 'h5'}) + @html.div(:class => 'block') do + # Identifier + unless qualityMeasure[:identifier].empty? + @html.div do + @html.h5('Identifier', {'class' => 'h5'}) + @html.div(:class => 'block') do + identifierClass.writeHtml(qualityMeasure[:identifier]) + end + end + end + + # Description + unless qualityMeasure[:description].nil? + @html.em('Description: ') + @html.text!(qualityMeasure[:description]) + @html.br + end + + # Names + unless qualityMeasure[:nameOfMeasure].empty? + @html.em('Names: ') + @html.text!(qualityMeasure[:nameOfMeasure].join('; ')) + @html.br + end + end + end + end + + def writeEvaluationMethod(evaluationMethod) + citationClass = Html_Citation.new(@html) + + @html.div do + @html.h5('Evaluation Method', {'class' => 'h5'}) + @html.div(:class => 'block') do + # Type + unless evaluationMethod[:type].nil? + @html.em('Type: ') + @html.text!(evaluationMethod[:type]) + @html.br + end + + # DateTime + unless evaluationMethod[:dateTime].nil? + @html.em('Date Time: ') + evaluationMethod[:dateTime].each do |datetime| + @html.text!(datetime) + @html.br + end + @html.br + end + + # MethodDescription + unless evaluationMethod[:methodDescription].nil? + @html.em('Evaluation Method Description: ') + @html.text!(evaluationMethod[:methodDescription]) + @html.br + end + + # EvaluationMethodType + unless evaluationMethod[:evaluationMethodType].nil? + @html.em('Evaluation Method Type: ') + @html.text!(evaluationMethod[:evaluationMethodType]) + @html.br + end + + # DeductiveSource + unless evaluationMethod[:deductiveSource].nil? + @html.em('Deductive Source: ') + @html.text!(evaluationMethod[:deductiveSource]) + @html.br + end + + # SamplingScheme + unless evaluationMethod[:samplingScheme].nil? + @html.em('Sampling Scheme: ') + @html.text!(evaluationMethod[:samplingScheme]) + @html.br + end + + # LotDescription + unless evaluationMethod[:lotDescription].nil? + @html.em('Lot Description: ') + @html.text!(evaluationMethod[:lotDescription]) + @html.br + end + + # SamplingRatio + unless evaluationMethod[:samplingRatio].nil? + @html.em('Sampling Ratio: ') + @html.text!(evaluationMethod[:samplingRatio]) + @html.br + end + + # EvaluationProcedure + unless evaluationMethod[:evaluationProcedure].empty? + @html.div do + @html.h5('Evaluation Procedure', {'class' => 'h5'}) + @html.div(:class => 'block') do + citationClass.writeHtml(evaluationMethod[:evaluationProcedure]) + end + end + end + + # ReferenceDocument + unless evaluationMethod[:referenceDocuments].empty? + @html.div do + @html.h5('Reference Document', {'class' => 'h5'}) + evaluationMethod[:referenceDocuments].each do |doc| + @html.div(:class => 'block') do + citationClass.writeHtml(doc) + end + end + end + end + end + end + end + + def writeConformanceResult(conformanceResult) + citationClass = Html_Citation.new(@html) + scopeClass = Html_Scope.new(@html) + + @html.div do + @html.h5('Conformance Result', {'class' => 'h5'}) + conformanceResult.each do |result| + @html.div(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.div do + @html.h5('Scope', {'class' => 'h5'}) + @html.div(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # Specification (citation) + unless result[:specification].empty? + @html.div do + @html.h5('Specification', {'class' => 'h5'}) + @html.div(:class => 'block') do + citationClass.writeHtml(result[:specification]) + end + end + end + + # Explanation + unless result[:explanation].nil? + @html.em('Explanation: ') + @html.text!(result[:explanation]) + @html.br + end + + # Pass (boolean) + unless result[:pass].nil? + @html.em('Pass: ') + @html.text!(result[:pass] ? 'Yes' : 'No') + @html.br + end + end + end + end + end + + def writeCoverageResult(coverageResult) + scopeClass = Html_Scope.new(@html) + spatialRepresentationClass = Html_SpatialRepresentation.new(@html) + formatClass = Html_Format.new(@html) + resultFileClass = Html_ResultFile.new(@html) + coverageInfoClass = Html_CoverageInfo.new(@html) + + @html.div do + @html.h5('Coverage Result', {'class' => 'h5'}) + coverageResult.each do |result| + @html.div(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.div do + @html.h5('Scope', {'class' => 'h5'}) + @html.div(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # SpatialRepresentationType + unless result[:spatialRepresentationType].nil? + @html.em('Spatial Representation Type: ') + @html.text!(result[:spatialRepresentationType]) + @html.br + end + + # SpatialRepresentation + unless result[:spatialRepresentation].empty? + @html.div do + @html.h5('Spatial Representation', {'class' => 'h5'}) + @html.div(:class => 'block') do + spatialRepresentationClass.writeHtml(result[:spatialRepresentation]) + end + end + end + + # ResultContentDescription + unless result[:resultContentDescription].empty? + @html.div do + @html.div('Result Content Description', {'class' => 'h5'}) + @html.div(:class => 'block') do + coverageInfoClass.writeHtml(result[:resultContentDescription]) + end + end + end + + # ResourceFormat + unless result[:resourceFormat].empty? + @html.div do + @html.div('Resource Format', {'class' => 'h5'}) + @html.div(:class => 'block') do + formatClass.writeHtml(result[:resourceFormat]) + end + end + end + + # ResultFile + unless result[:resultFile].empty? + @html.div do + @html.div('Result File', {'class' => 'h5'}) + @html.div(:class => 'block') do + resultFileClass.writeHtml(result[:resultFile]) + end + end + end + + end + end + end + end + + def writeDescriptiveResult(descriptiveResult) + scopeClass = Html_Scope.new(@html) + + @html.div do + @html.h5('Descriptive Result', {'class' => 'h5'}) + descriptiveResult.each do |result| + @html.div(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.div do + @html.h5('Scope', {'class' => 'h5'}) + @html.div(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # Statement + unless result[:statement].nil? + @html.em('Statement: ') + @html.text!(result[:statement]) + @html.br + end + end + end + end + end + + def writeQuantitativeResult(quantitativeResult) + scopeClass = Html_Scope.new(@html) + + @html.div do + @html.h5('Quantitative Result', {'class' => 'h5'}) + quantitativeResult.each do |result| + @html.div(:class => 'block') do + # DateTime + unless result[:dateTime].nil? + @html.em('Date Time: ') + @html.text!(result[:dateTime]) + @html.br + end + + # Scope + unless result[:scope].empty? + @html.div do + @html.h5('Scope', {'class' => 'h5'}) + @html.div(:class => 'block') do + scopeClass.writeHtml(result[:scope]) + end + end + end + + # Value + unless result[:values].empty? + @html.em('Value: ') + @html.text!(result[:values].join(', ')) + @html.br + end + + # ValueUnits + unless result[:valueUnits].nil? + @html.em('Value Units: ') + @html.text!(result[:valueUnits]) + @html.br + end + + # ValueRecordType + unless result[:valueRecordType].nil? + @html.em('Value Record Type: ') + @html.text!(result[:valueRecordType]) + @html.br + end + end + end + end + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb index 6ea61e1c2..6819afc2b 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb @@ -42,7 +42,7 @@ def writeHtml(hDistribution) # distribution - distributor [] {distributor} hDistribution[:distributor].each do |hDistributor| @html.div do - @html.div('Distributor', {'class' => 'h5'}) + @html.h5('Distributor', {'class' => 'h5'}) @html.div(:class => 'block') do distributorClass.writeHtml(hDistributor) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb index c31e0b275..5e08759ec 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb @@ -30,7 +30,7 @@ def writeHtml(hDistributor) # distributor - contact {responsibility} unless hDistributor[:contact].empty? @html.div do - @html.div('Contact', {'class' => 'h5'}) + @html.h5('Contact', {'class' => 'h5'}) @html.div(:class => 'block') do responsibilityClass.writeHtml(hDistributor[:contact]) end @@ -40,7 +40,7 @@ def writeHtml(hDistributor) # distributor - order process [] {orderProcess} hDistributor[:orderProcess].each do |hOrder| @html.div do - @html.div('Order Process', {'class' => 'h5'}) + @html.h5('Order Process', {'class' => 'h5'}) @html.div(:class => 'block') do orderClass.writeHtml(hOrder) end @@ -50,7 +50,7 @@ def writeHtml(hDistributor) # distributor - transfer options [] {transferOption} hDistributor[:transferOptions].each do |hTransfer| @html.div do - @html.div('Transfer Option', {'class' => 'h5'}) + @html.h5('Transfer Option', {'class' => 'h5'}) @html.div(:class => 'block') do transferClass.writeHtml(hTransfer) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb index 2c7a551bb..762dd4cf9 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb @@ -38,7 +38,7 @@ def writeHtml(aDomains) type = 'ENUMERATED' unless hDomain[:domainItems].empty? @html.div do - @html.div(dName, {'class' => 'h5'}) + @html.h5(dName, {'class' => 'h5'}) @html.div(:class => 'block') do # domain - type @@ -78,7 +78,7 @@ def writeHtml(aDomains) # domain - domain reference {citation} unless hDomain[:domainReference].empty? @html.div do - @html.div('Reference', {'class' => 'h5'}) + @html.h5('Reference', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hDomain[:domainReference]) end @@ -88,7 +88,7 @@ def writeHtml(aDomains) # domain - domain items [] {domainItem} hDomain[:domainItems].each do |hItem| @html.div do - @html.div(hItem[:itemValue], {'class' => 'h5'}) + @html.h5(hItem[:itemValue], {'class' => 'h5'}) @html.div(:class => 'block') do itemClass.writeHtml(hItem) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb index 59a3627a9..a8300e144 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb @@ -48,7 +48,7 @@ def writeHtml(hItem) # domain item - reference {citation} unless hItem[:itemReference].empty? @html.div do - @html.div('Reference', {'class' => 'h5'}) + @html.h5('Reference', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hItem[:itemReference]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb index f5f690075..09bff685a 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb @@ -38,7 +38,7 @@ def writeHtml(aEntities) eName = hEntity[:entityName] unless hEntity[:entityName].nil? @html.div do - @html.div(eName, {'class' => 'h5'}) + @html.h5(eName, {'class' => 'h5'}) @html.div(:class => 'block') do # entity - entity id @@ -116,7 +116,7 @@ def writeHtml(aEntities) iName = hIndex[:indexCode] unless hIndex[:indexCode].nil? iName = hIndex[:indexName] unless hIndex[:indexName].nil? @html.div do - @html.div('Index: '+iName, {'class' => 'h5'}) + @html.h5('Index: '+iName, {'class' => 'h5'}) @html.div(:class => 'block') do indexClass.writeHtml(hIndex) end @@ -126,7 +126,7 @@ def writeHtml(aEntities) # entity - foreign keys [] {entityForeignKey} hEntity[:foreignKeys].each do |hForeign| @html.div do - @html.div('ForeignKey', {'class' => 'h5'}) + @html.h5('ForeignKey', {'class' => 'h5'}) @html.div(:class => 'block') do foreignClass.writeHtml(hForeign) end @@ -136,7 +136,7 @@ def writeHtml(aEntities) # entity - entity reference [] {citation} hEntity[:entityReferences].each do |hReference| @html.div do - @html.div('Reference', {'class' => 'h5'}) + @html.h5('Reference', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hReference) end @@ -149,7 +149,7 @@ def writeHtml(aEntities) aName = hAttribute[:attributeCode] unless hAttribute[:attributeCode].nil? aName = hAttribute[:attributeName] unless hAttribute[:attributeName].nil? @html.div do - @html.div('Attribute: '+aName, {'class' => 'h5'}) + @html.h5('Attribute: '+aName, {'class' => 'h5'}) @html.div(:class => 'block') do attributeClass.writeHtml(hAttribute) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb index a55a28d66..3f92acd7c 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb @@ -129,7 +129,7 @@ def writeHtml(hAttribute) # entity attribute - range of values [] {citation} hAttribute[:valueRange].each do |hRange| @html.div do - @html.div('Range of Values', {'class' => 'h5'}) + @html.h5('Range of Values', {'class' => 'h5'}) @html.div(:class => 'block') do # range of values - minimum value @@ -153,7 +153,7 @@ def writeHtml(hAttribute) # entity attribute - time period of values {timePeriod} hAttribute[:timePeriod].each do |hPeriod| @html.div do - @html.div('Time Period of Values', {'class' => 'h5'}) + @html.h5('Time Period of Values', {'class' => 'h5'}) @html.div(:class => 'block') do periodClass.writeHtml(hPeriod) end @@ -163,7 +163,7 @@ def writeHtml(hAttribute) # entity attribute - attribute reference {citation} unless hAttribute[:attributeReference].empty? @html.div do - @html.div('Reference', {'class' => 'h5'}) + @html.h5('Reference', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hAttribute[:attributeReference]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb index 63fda0d3a..a4ef5d8f8 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb @@ -39,7 +39,7 @@ def writeHtml(hExtent) # extent - geographic extents hExtent[:geographicExtents].each do |hGeographic| @html.div do - @html.div('Geographic Extent', {'class' => 'h5'}) + @html.h5('Geographic Extent', {'class' => 'h5'}) @html.div(:class => 'block extent-geographic') do geographicClass.writeHtml(hGeographic) end @@ -49,7 +49,7 @@ def writeHtml(hExtent) # extent - temporal extents hExtent[:temporalExtents].each do |hTemporal| @html.div do - @html.div('Temporal Extent', {'class' => 'h5'}) + @html.h5('Temporal Extent', {'class' => 'h5'}) @html.div(:class => 'block') do temporalClass.writeHtml(hTemporal) end @@ -59,7 +59,7 @@ def writeHtml(hExtent) # extent - vertical extents hExtent[:verticalExtents].each do |hVertical| @html.div do - @html.div('Vertical Extent', {'class' => 'h5'}) + @html.h5('Vertical Extent', {'class' => 'h5'}) @html.div(:class => 'block') do verticalClass.writeHtml(hVertical) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb index a828898f1..05e81c9d4 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb @@ -36,7 +36,7 @@ def writeHtml(hFeature) # feature - geometry object unless hFeature[:geometryObject].empty? @html.div do - @html.div(hFeature[:geometryObject][:type], 'class' => 'h5') + @html.h5(hFeature[:geometryObject][:type], 'class' => 'h5') @html.div(:class => 'block') do geometryClass.writeHtml(hFeature[:geometryObject]) end @@ -46,7 +46,7 @@ def writeHtml(hFeature) # feature - user bounding box unless hFeature[:bbox].empty? @html.div do - @html.div('User Provided Bounding Box', 'class' => 'h5') + @html.h5('User Provided Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do bbox = {} bbox[:westLongitude] = hFeature[:bbox][0] @@ -61,7 +61,7 @@ def writeHtml(hFeature) # feature - computed bounding box unless hFeature[:computedBbox].empty? @html.div do - @html.div('Computed Bounding Box', 'class' => 'h5') + @html.h5('Computed Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do boxClass.writeHtml(hFeature[:computedBbox]) end @@ -71,7 +71,7 @@ def writeHtml(hFeature) # feature - properties unless hFeature[:properties].empty? @html.div do - @html.div('Properties', 'class' => 'h5') + @html.h5('Properties', 'class' => 'h5') @html.div(:class => 'block') do propertyClass.writeHtml(hFeature[:properties]) end @@ -81,7 +81,7 @@ def writeHtml(hFeature) # feature - native GeoJson unless hFeature[:nativeGeoJson].empty? @html.div do - @html.div('GeoJson', 'class' => 'h5') + @html.h5('GeoJson', 'class' => 'h5') @html.div(:class => 'block') do @html.text!(hFeature[:nativeGeoJson].to_json) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb index 3757b44db..0fd0ef793 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb @@ -31,7 +31,7 @@ def writeHtml(hCollection) unless feature[:id].nil? title += ': '+feature[:id].to_s end - @html.div(title, 'class' => 'h5') + @html.h5(title, 'class' => 'h5') @html.div(:class => 'block') do featureClass.writeHtml(feature) end @@ -41,7 +41,7 @@ def writeHtml(hCollection) # feature collection - user bounding box unless hCollection[:bbox].empty? @html.div do - @html.div('User Provided Bounding Box', 'class' => 'h5') + @html.h5('User Provided Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do bbox = {} bbox[:westLongitude] = hCollection[:bbox][0] @@ -56,7 +56,7 @@ def writeHtml(hCollection) # feature collection - computed bounding box unless hCollection[:computedBbox].empty? @html.div do - @html.div('Computed Bounding Box', 'class' => 'h5') + @html.h5('Computed Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do boxClass.writeHtml(hCollection[:computedBbox]) end @@ -66,7 +66,7 @@ def writeHtml(hCollection) # feature collection - native GeoJson unless hCollection[:nativeGeoJson].empty? @html.div do - @html.div('GeoJson', 'class' => 'h5') + @html.h5('GeoJson', 'class' => 'h5') @html.div(:class => 'block') do @html.text!(hCollection[:nativeGeoJson].to_json) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb index 19231ff7a..d4959c2ea 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb @@ -40,7 +40,7 @@ def writeHtml(hProperty) # feature properties - identifier [] {identifier} hProperty[:identifiers].each do |hIdentifier| @html.div do - @html.div('Identifier', 'class' => 'h5') + @html.h5('Identifier', 'class' => 'h5') @html.div(:class => 'block') do identifierClass.writeHtml(hIdentifier) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb index 08edad8f5..09b5063fc 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb @@ -28,7 +28,7 @@ def writeHtml(hFormat) # resource format - format specification {citation} unless hFormat[:formatSpecification].empty? @html.div do - @html.div(hFormat[:formatSpecification][:title], {'class' => 'h5'}) + @html.h5(hFormat[:formatSpecification][:title], {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hFormat[:formatSpecification]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb index 718bda512..58c9f78bd 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb @@ -44,7 +44,7 @@ def writeHtml(hFunding) # funding - allocations [] {allocation} hFunding[:allocations].each do |hAllocation| @html.div do - @html.div('Allocation', {'class' => 'h5'}) + @html.h5('Allocation', {'class' => 'h5'}) @html.div(:class => 'block') do allocationClass.writeHtml(hAllocation) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb index 608c62e10..565b4e13c 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb @@ -25,7 +25,7 @@ def writeHtml(hGeodetic) # geodetic parameters - datum identifier unless hGeodetic[:datumIdentifier].empty? @html.div do - @html.div('Datum Identifier', {'id' => 'datum-identifier', 'class' => 'h5'}) + @html.h5('Datum Identifier', {'id' => 'datum-identifier', 'class' => 'h5'}) @html.div(:class => 'block') do identifierClass.writeHtml(hGeodetic[:datumIdentifier]) end @@ -35,7 +35,7 @@ def writeHtml(hGeodetic) # geodetic parameters - ellipsoid identifier unless hGeodetic[:ellipsoidIdentifier].empty? @html.div do - @html.div('Ellipsoid Identifier', {'id' => 'ellipsoid-identifier', 'class' => 'h5'}) + @html.h5('Ellipsoid Identifier', {'id' => 'ellipsoid-identifier', 'class' => 'h5'}) @html.div(:class => 'block') do identifierClass.writeHtml(hGeodetic[:ellipsoidIdentifier]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb index 34922cb23..7ca4260a6 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb @@ -32,7 +32,7 @@ def writeHtml(hElement) case hElement[:type] when 'Point', 'LineString', 'Polygon', 'MultiPoint', 'MultiLineString', 'MultiPolygon' @html.div do - @html.div(hElement[:type], 'class' => 'h5') + @html.h5(hElement[:type], 'class' => 'h5') @html.div(:class => 'block') do geometryClass.writeHtml(hElement) end @@ -40,7 +40,7 @@ def writeHtml(hElement) when 'GeometryCollection' @html.div do - @html.div('Geometry Collection', 'class' => 'h5') + @html.h5('Geometry Collection', 'class' => 'h5') @html.div(:class => 'block') do geoCollectionClass.writeHtml(hElement) end @@ -52,7 +52,7 @@ def writeHtml(hElement) unless hElement[:id].nil? title += ': '+hElement[:id].to_s end - @html.div(title, 'class' => 'h5') + @html.h5(title, 'class' => 'h5') @html.div(:class => 'block') do featureClass.writeHtml(hElement) end @@ -60,7 +60,7 @@ def writeHtml(hElement) when 'FeatureCollection' @html.div do - @html.div(hElement[:type], 'class' => 'h5') + @html.h5(hElement[:type], 'class' => 'h5') @html.div(:class => 'block') do featCollectionClass.writeHtml(hElement) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb index 3431f536f..9974ba218 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb @@ -41,20 +41,10 @@ def writeHtml(hExtent) end end - # geographic extent - map {div} - @html.div do - @html.div('Map', 'class' => 'h5 map-summary') - @html.div(:class => 'block') do - @html.div('class' => 'map', 'id' => 'map') do - # map drawn by html_bodyScript.js - end - end - end - # geographic extent - geographic element [] {geographicElement} unless hExtent[:geographicElements].empty? @html.div do - @html.div('Elements', 'class' => 'h5') + @html.h5('Elements', 'class' => 'h5') @html.div(:class => 'block') do hExtent[:geographicElements].each do |hElement| geographicClass.writeHtml(hElement) @@ -66,7 +56,7 @@ def writeHtml(hExtent) # geographic extent - user bounding box unless hExtent[:boundingBox].empty? @html.div do - @html.div('User Provided Bounding Box', 'class' => 'h5') + @html.h5('User Provided Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do boundingClass.writeHtml(hExtent[:boundingBox]) @html.div(:class =>'userBBox hidden') do @@ -79,7 +69,7 @@ def writeHtml(hExtent) # computed bounding box - {boundingBox} unless hExtent[:computedBbox].empty? @html.div do - @html.div('Computed Bounding Box', 'class' => 'h5') + @html.h5('Computed Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do boundingClass.writeHtml(hExtent[:computedBbox]) @html.div(:class =>'computedBBox hidden') do @@ -102,7 +92,7 @@ def writeHtml(hExtent) # geographic extent - native GeoJson unless hExtent[:nativeGeoJson].empty? @html.div do - @html.div('GeoJson', 'class' => 'h5') + @html.h5('GeoJson', 'class' => 'h5') @html.div(:class => 'block') do @html.div(:class =>'geojson', :dataPopup => 'fill in popData') do @html.text!(hExtent[:nativeGeoJson].to_json) diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb index 1ff953e7a..bb212b501 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb @@ -55,7 +55,7 @@ def writeHtml(hGeoAge) # geologic age - age references [] {citation} hGeoAge[:ageReferences].each do |hCitation| @html.div do - @html.div('Age Reference', {'class' => 'h5'}) + @html.h5('Age Reference', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hCitation) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb index 760302b97..9cde44020 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb @@ -27,7 +27,7 @@ def writeHtml(hCollection) # geometry collection - objects hCollection[:geometryObjects].each do |hObject| @html.div do - @html.div(hObject[:type], 'class' => 'h5') + @html.h5(hObject[:type], 'class' => 'h5') @html.div(:class => 'block') do geometryClass.writeHtml(hObject) end @@ -37,7 +37,7 @@ def writeHtml(hCollection) # geometry collection - user bounding box unless hCollection[:bbox].empty? @html.div do - @html.div('User Provided Bounding Box', 'class' => 'h5') + @html.h5('User Provided Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do bbox = {} bbox[:westLongitude] = hCollection[:bbox][0] @@ -52,7 +52,7 @@ def writeHtml(hCollection) # geometry collection - computed bounding box unless hCollection[:computedBbox].empty? @html.div do - @html.div('Computed Bounding Box', 'class' => 'h5') + @html.h5('Computed Bounding Box', 'class' => 'h5') @html.div(:class => 'block') do boxClass.writeHtml(hCollection[:computedBbox]) end @@ -62,7 +62,7 @@ def writeHtml(hCollection) # geographic element - native GeoJson unless hCollection[:nativeGeoJson].empty? @html.div do - @html.div('GeoJson', 'class' => 'h5') + @html.h5('GeoJson', 'class' => 'h5') @html.div(:class => 'block') do @html.text!(hCollection[:nativeGeoJson].to_json) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb index 6ccfd5b63..88971847c 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb @@ -20,7 +20,7 @@ def writeHtml(hObject) # geometry object - coordinates unless hObject[:coordinates].nil? @html.div do - @html.div('Coordinates', 'class' => 'h5') + @html.h5('Coordinates', 'class' => 'h5') @html.div(:class => 'block') do @html.text!(hObject[:coordinates].to_s) end @@ -30,7 +30,7 @@ def writeHtml(hObject) # geographic element - native GeoJson unless hObject[:nativeGeoJson].empty? @html.div do - @html.div('GeoJson', 'class' => 'h5') + @html.h5('GeoJson', 'class' => 'h5') @html.div(:class => 'block') do @html.text!(hObject[:nativeGeoJson].to_json) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb index cf340b2c6..81a48eb9b 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb @@ -27,7 +27,7 @@ def writeHtml(hGeorectified) # georectified representation - scope hGeorectified[:scope].each do |scope| @html.div do - @html.div('Scope ', 'class' => 'h5') + @html.h5('Scope ', 'class' => 'h5') @html.div(:class => 'block') do scopeClass.writeHtml(hGeorectified[:scope]) end @@ -37,7 +37,7 @@ def writeHtml(hGeorectified) # georectified representation - grid {gridRepresentation} unless hGeorectified[:gridRepresentation].empty? @html.div do - @html.div('Grid Information ', 'class' => 'h5') + @html.h5('Grid Information ', 'class' => 'h5') @html.div(:class => 'block') do gridClass.writeHtml(hGeorectified[:gridRepresentation]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb index f65966232..4402fc2cc 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb @@ -29,7 +29,7 @@ def writeHtml(hGeoreferenceable) # georeferenceable representation - scope hGeoreferenceable[:scope].each do |scope| @html.div do - @html.div('Scope ', 'class' => 'h5') + @html.h5('Scope ', 'class' => 'h5') @html.div(:class => 'block') do scopeClass.writeHtml(hGeoreferenceable[:scope]) end @@ -40,7 +40,7 @@ def writeHtml(hGeoreferenceable) # georeferenceable representation - grid {gridRepresentation} unless hGeoreferenceable[:gridRepresentation].empty? @html.div do - @html.div('Grid Information ', 'class' => 'h5') + @html.h5('Grid Information ', 'class' => 'h5') @html.div(:class => 'block') do gridClass.writeHtml(hGeoreferenceable[:gridRepresentation]) end @@ -75,7 +75,7 @@ def writeHtml(hGeoreferenceable) # georeferenceable representation - parameter citation {citation} hGeoreferenceable[:parameterCitation].each do |hCitation| @html.div do - @html.div('Parameter Citation ', 'class' => 'h5') + @html.h5('Parameter Citation ', 'class' => 'h5') @html.div(:class => 'block') do citationClass.writeHtml(hCitation) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb index c587f3519..d06944c9e 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb @@ -49,7 +49,7 @@ def writeHtml(hGraphic) # graphic - uri [] {onlineResource} hGraphic[:graphicURI].each do |hOnline| @html.div do - @html.div('Online Link ', {'class' => 'h5'}) + @html.h5('Online Link ', {'class' => 'h5'}) @html.div(:class => 'block') do onlineClass.writeHtml(hOnline) end @@ -59,7 +59,7 @@ def writeHtml(hGraphic) # graphic - constraint [] {constraint} hGraphic[:graphicConstraints].each do |hConstraint| @html.div do - @html.div('Constraint', {'class' => 'h5'}) + @html.h5('Constraint', {'class' => 'h5'}) @html.div(:class => 'block') do constraintClass.writeHtml(hConstraint) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb index 1b217df66..c2b647034 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb @@ -28,7 +28,7 @@ def writeHtml(hGrid) # grid representation - scope hGrid[:scope].each do |scope| @html.div do - @html.div('Scope ', 'class' => 'h5') + @html.h5('Scope ', 'class' => 'h5') @html.div(:class => 'block') do scopeClass.writeHtml(hGrid[:scope]) end @@ -48,7 +48,7 @@ def writeHtml(hGrid) hGrid[:dimension].each do |hDimension| dimensionCount += 1 @html.div do - @html.div('Dimension '+dimensionCount.to_s, 'class' => 'h5') + @html.h5('Dimension '+dimensionCount.to_s, 'class' => 'h5') @html.div(:class => 'block') do dimensionClass.writeHtml(hDimension) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb index a8bcf6cd8..ae97dcdf6 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb @@ -65,7 +65,7 @@ def writeHtml(hIdentifier) # identifier - authority {citation} unless hIdentifier[:citation].empty? @html.div do - @html.div('Authority', {'id' => 'metadata-identifier', 'class' => 'h5'}) + @html.h5('Authority', {'id' => 'metadata-identifier', 'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hIdentifier[:citation]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb index 494bc6d01..18633439d 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb @@ -61,7 +61,7 @@ def writeHtml(hImage) # image information - image quality code {identifier} unless hImage[:imageQualityCode].empty? @html.div do - @html.div('Image Quality Code', {'class' => 'h5'}) + @html.h5('Image Quality Code', {'class' => 'h5'}) @html.div(:class => 'block') do identifierClass.writeHtml(hImage[:imageQualityCode]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb index e2b0a2e6c..61cd4844d 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb @@ -30,32 +30,30 @@ def writeHtml(hKeyword) if type.nil? type = 'Unclassified' end - @html.div(type, {'class' => 'h5'}) + @html.h5(type, {'class' => 'h5'}) @html.div(:class => 'block') do - - # keywords - @html.ul do - hKeyword[:keywords].each do |hKeyword| - unless hKeyword[:keyword].nil? - keyword = hKeyword[:keyword] - unless hKeyword[:keywordId].nil? - keyword += ' (ID: ' + hKeyword[:keywordId].to_s + ')' - end - @html.li(keyword) - end - end - end - + # thesaurus unless hKeyword[:thesaurus].empty? @html.div do - @html.div('Thesaurus', {'class' => 'h5'}) + @html.h5('Thesaurus', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hKeyword[:thesaurus]) end end end + # keywords + hKeyword[:keywords].each do |hKeyword| + unless hKeyword[:keyword].nil? + keyword = hKeyword[:keyword] + unless hKeyword[:keywordId].nil? + keyword += ' (ID: ' + hKeyword[:keywordId].to_s + ')' + end + @html.div('Keyword:' + keyword) + end + end + end end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb index 0f70128df..307867338 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb @@ -50,7 +50,7 @@ def writeHtml(hMetaInfo) # metadataInfo - metadata identifier {identifier} unless hMetaInfo[:metadataIdentifier].empty? @html.div do - @html.div('Metadata Identifier', {'id' => 'metadataInfo-identifier', 'class' => 'h3'}) + @html.h3('Metadata Identifier', {'id' => 'metadataInfo-identifier', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do identifierClass.writeHtml(hMetaInfo[:metadataIdentifier]) end @@ -60,7 +60,7 @@ def writeHtml(hMetaInfo) # metadataInfo - parent metadata {citation} unless hMetaInfo[:parentMetadata].empty? @html.div do - @html.div('Parent Metadata', {'id' => 'metadataInfo-parent', 'class' => 'h3'}) + @html.h3('Parent Metadata', {'id' => 'metadataInfo-parent', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do citationClass.writeHtml(hMetaInfo[:parentMetadata]) end @@ -70,7 +70,7 @@ def writeHtml(hMetaInfo) # metadataInfo - metadata locales unless hMetaInfo[:defaultMetadataLocale].empty? && hMetaInfo[:otherMetadataLocales].empty? @html.div do - @html.div('Metadata Locales', {'id' => 'metadataInfo-locale', 'class' => 'h3'}) + @html.h3('Metadata Locales', {'id' => 'metadataInfo-locale', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do # default metadata locales {locale} @@ -100,7 +100,7 @@ def writeHtml(hMetaInfo) # metadataInfo - contacts [] {responsibility} unless hMetaInfo[:metadataContacts].empty? @html.div do - @html.div('Metadata Contacts', {'id' => 'metadataInfo-contacts', 'class' => 'h3'}) + @html.h3('Metadata Contacts', {'id' => 'metadataInfo-contacts', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do hMetaInfo[:metadataContacts].each do |hResponsibility| @html.div do @@ -117,7 +117,7 @@ def writeHtml(hMetaInfo) # metadataInfo - dates [] {date} unless hMetaInfo[:metadataDates].empty? @html.div do - @html.div('Metadata Dates', {'id' => 'metadataInfo-dates', 'class' => 'h3'}) + @html.h3('Metadata Dates', {'id' => 'metadataInfo-dates', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do hMetaInfo[:metadataDates].each do |hDate| @html.em('Date: ') @@ -131,7 +131,7 @@ def writeHtml(hMetaInfo) # metadataInfo - linkages [] {onlineResource} unless hMetaInfo[:metadataLinkages].empty? @html.div do - @html.div('Metadata Online Resource', {'id' => 'metadataInfo-links', 'class' => 'h3'}) + @html.h3('Metadata Online Resource', {'id' => 'metadataInfo-links', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do hMetaInfo[:metadataLinkages].each do |hOnline| @html.div do @@ -148,7 +148,7 @@ def writeHtml(hMetaInfo) # metadataInfo - constraints [] {constraint} unless hMetaInfo[:metadataConstraints].empty? @html.div do - @html.div('Metadata Constraints', {'id' => 'metadataInfo-constraint', 'class' => 'h3'}) + @html.h3('Metadata Constraints', {'id' => 'metadataInfo-constraint', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do hMetaInfo[:metadataConstraints].each do |hConstraint| @html.div do @@ -165,7 +165,7 @@ def writeHtml(hMetaInfo) # metadataInfo - maintenance {maintenance} unless hMetaInfo[:metadataMaintenance].empty? @html.div do - @html.div('Metadata Maintenance', {'id' => 'metadataInfo-maintenance', 'class' => 'h3'}) + @html.h3('Metadata Maintenance', {'id' => 'metadataInfo-maintenance', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do maintClass.writeHtml(hMetaInfo[:metadataMaintenance]) end @@ -175,13 +175,14 @@ def writeHtml(hMetaInfo) # metadataInfo - alternate metadata references [] {citation} unless hMetaInfo[:alternateMetadataReferences].empty? @html.div do - @html.div('Alternate Metadata Citations', {'id' => 'metadataInfo-alternate', 'class' => 'h3'}) + @html.h3('Alternate Metadata Citations', {'id' => 'metadataInfo-alternate', 'class' => 'h3', 'style' => 'font-style: italic'}) @html.div(:class => 'block') do hMetaInfo[:alternateMetadataReferences].each do |hCitation| @html.div do @html.div(hCitation[:title], 'class' => 'h5') @html.div(:class => 'block') do citationClass.writeHtml(hCitation) + @html.br end end end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb index 5e3a9d42b..50a0b2619 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb @@ -40,7 +40,7 @@ def writeHtml(hRepository) # metadata repository - citation unless hRepository[:citation].empty? @html.div do - @html.div('Citation', {'class' => 'h5'}) + @html.h5('Citation', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hRepository[:citation]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb index 7573b7950..d4a414b20 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb @@ -135,7 +135,7 @@ def writeHtml(hStep) # process step - scope {scope} unless hStep[:scope].empty? @html.div do - @html.div('Scope', {'class' => 'h5'}) + @html.h5('Scope', {'class' => 'h5'}) @html.div(:class => 'block') do scopeClass.writeHtml(hStep[:scope]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb index 5b8f54d77..7c9e4f334 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb @@ -36,7 +36,7 @@ def writeHtml(hProcessing) # processing - identifier {identifier} unless hProcessing[:identifier].empty? @html.div do - @html.div('Identifier', {'class' => 'h5'}) + @html.h5('Identifier', {'class' => 'h5'}) @html.div(:class => 'block') do identifierClass.writeHtml(hProcessing[:identifier]) end @@ -63,7 +63,7 @@ def writeHtml(hProcessing) # processing - documentation [] {citation} hProcessing[:documentation].each do |hCitation| @html.div do - @html.div('Documentation', {'class' => 'h5'}) + @html.h5('Documentation', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hCitation) end @@ -73,7 +73,7 @@ def writeHtml(hProcessing) # processing - algorithm [] {algorithm} hProcessing[:algorithms].each do |hAlgorithm| @html.div do - @html.div('Algorithm', {'class' => 'h5'}) + @html.h5('Algorithm', {'class' => 'h5'}) @html.div(:class => 'block') do algorithmClass.writeHtml(hAlgorithm) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb index 1c8e8d5ac..da410c3fe 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb @@ -25,12 +25,12 @@ def writeHtml(red) @html.br end - red[:rangeElements].each do |hRangeElement| + red[:rangeElement].each do |hRangeElement| @html.em('Range Element:') @html.text!(hRangeElement) + @html.br end - @html.br end # writeHtml end # Html_RangeElementDescription diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb index b137dbc13..bdd995bc9 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb @@ -76,7 +76,7 @@ def writeHtml(hResource) # resource - citation {citation} unless hResource[:citation].empty? @html.div do - @html.div('Citation', {'id' => 'resourceInfo-citation', 'class' => 'h3'}) + @html.h3('Citation', {'id' => 'resourceInfo-citation', 'class' => 'h3'}) @html.div(:class => 'block') do citationClass.writeHtml(hResource[:citation]) end @@ -86,7 +86,7 @@ def writeHtml(hResource) # resource - abstract unless hResource[:abstract].nil? && hResource[:shortAbstract].nil? @html.div do - @html.div('Abstract', {'id' => 'resourceInfo-abstract', 'class' => 'h3'}) + @html.h3('Abstract', {'id' => 'resourceInfo-abstract', 'class' => 'h3'}) @html.div(:class => 'block') do # short abstract @@ -115,7 +115,7 @@ def writeHtml(hResource) # resource - purpose unless hResource[:purpose].nil? && hResource[:resourceUsages].empty? @html.div do - @html.div('Purpose, Usage, and Limitations', {'id' => 'resourceInfo-purpose', 'class' => 'h3'}) + @html.h3('Purpose, Usage, and Limitations', {'id' => 'resourceInfo-purpose', 'class' => 'h3'}) @html.div(:class => 'block') do # purpose @@ -148,7 +148,7 @@ def writeHtml(hResource) # resource - graphic overview [] {graphicOverview} unless hResource[:graphicOverviews].empty? @html.div do - @html.div('Graphic Overviews', {'id' => 'resourceInfo-overview', 'class' => 'h3'}) + @html.h3('Graphic Overviews', {'id' => 'resourceInfo-overview', 'class' => 'h3'}) @html.div(:class => 'block') do counter = 0 hResource[:graphicOverviews].each do |hGraphic| @@ -167,7 +167,7 @@ def writeHtml(hResource) # resource - point of contact [] {responsibility} unless hResource[:pointOfContacts].empty? && hResource[:credits].empty? @html.div do - @html.div('Resource Contacts', {'id' => 'resourceInfo-contacts', 'class' => 'h3'}) + @html.h3('Resource Contacts', {'id' => 'resourceInfo-contacts', 'class' => 'h3'}) @html.div(:class => 'block') do # contacts - responsibility @@ -201,7 +201,7 @@ def writeHtml(hResource) # resource - temporal information unless hResource[:timePeriod].empty? && hResource[:temporalResolutions].empty? @html.div do - @html.div('Temporal Information', {'id' => 'resourceInfo-temporal', 'class' => 'h3'}) + @html.h3('Temporal Information', {'id' => 'resourceInfo-temporal', 'class' => 'h3'}) @html.div(:class => 'block') do # time period {timePeriod} @@ -234,7 +234,7 @@ def writeHtml(hResource) hResource[:spatialRepresentations].empty? hResource[:spatialResolutions].empty? @html.div do - @html.div('Spatial Information', {'id' => 'resourceInfo-spatial', 'class' => 'h3'}) + @html.h3('Spatial Information', {'id' => 'resourceInfo-spatial', 'class' => 'h3'}) @html.div(:class => 'block') do # representation type [] {spatialRepresentation} @@ -312,11 +312,11 @@ def writeHtml(hResource) # # resource - extent [] {extent} # unless hResource[:extents].empty? # @html.div do - # @html.div('Spatial, Temporal, and Vertical Extents', {'id' => 'resourceInfo-extent', 'class' => 'h3'}) + # @html.h3('Spatial, Temporal, and Vertical Extents', {'id' => 'resourceInfo-extent', 'class' => 'h3'}) # @html.div(:class => 'block') do # hResource[:extents].each do |hExtent| # @html.div do - # @html.div('Extent', {'class' => 'h5'}) + # @html.h5('Extent', {'class' => 'h5'}) # @html.div(:class => 'block') do # extentClass.writeHtml(hExtent) # end @@ -329,7 +329,7 @@ def writeHtml(hResource) # resource - keywords [] {keyword} unless hResource[:keywords].empty? @html.div do - @html.div('Keywords', {'id' => 'resourceInfo-keyword', 'class' => 'h3'}) + @html.h3('Keywords', {'id' => 'resourceInfo-keyword', 'class' => 'h3'}) @html.div(:class => 'block') do hResource[:keywords].each do |hKeyword| keywordClass.writeHtml(hKeyword) @@ -341,7 +341,7 @@ def writeHtml(hResource) # resource - taxonomy {taxonomy} unless hResource[:taxonomy].empty? @html.div do - @html.div('Taxonomy', {'id' => 'resourceInfo-taxonomy', 'class' => 'h3'}) + @html.h3('Taxonomy', {'id' => 'resourceInfo-taxonomy', 'class' => 'h3'}) @html.div(:class => 'block') do counter = 0 hResource[:taxonomy].each do |hTaxonomy| @@ -360,7 +360,7 @@ def writeHtml(hResource) # resource - constraints [] {constraint} unless hResource[:constraints].empty? @html.div do - @html.div('Constraints', {'id' => 'resourceInfo-constraint', 'class' => 'h3'}) + @html.h3('Constraints', {'id' => 'resourceInfo-constraint', 'class' => 'h3'}) @html.div(:class => 'block') do hResource[:constraints].each do |hConstraint| @html.div do @@ -377,7 +377,7 @@ def writeHtml(hResource) # resource - coverage description [] {coverageInfo} unless hResource[:coverageDescriptions].empty? @html.div do - @html.div('Coverage Description', {'id' => 'resourceInfo-Coverage', 'class' => 'h3'}) + @html.h3('Coverage Description', {'id' => 'resourceInfo-Coverage', 'class' => 'h3'}) @html.div(:class => 'block') do hResource[:coverageDescriptions].each do |hCoverage| @html.div do @@ -394,7 +394,7 @@ def writeHtml(hResource) # resource - locale unless hResource[:defaultResourceLocale].empty? && hResource[:otherResourceLocales].empty? @html.div do - @html.div('Resource Locales', {'id' => 'resourceInfo-locale', 'class' => 'h3'}) + @html.h3('Resource Locales', {'id' => 'resourceInfo-locale', 'class' => 'h3'}) @html.div(:class => 'block') do # default resource locales {locale} @@ -424,11 +424,11 @@ def writeHtml(hResource) # resource - formats [] {format} unless hResource[:resourceFormats].empty? @html.div do - @html.div('Resource Formats', {'id' => 'resourceInfo-format', 'class' => 'h3'}) + @html.h3('Resource Formats', {'id' => 'resourceInfo-format', 'class' => 'h3'}) @html.div(:class => 'block') do hResource[:resourceFormats].each do |hFormat| @html.div do - @html.div('Format', {'class' => 'h5'}) + @html.h5('Format', {'class' => 'h5'}) @html.div(:class => 'block') do formatClass.writeHtml(hFormat) end @@ -443,7 +443,7 @@ def writeHtml(hResource) hResource[:environmentDescription].nil? && hResource[:supplementalInfo].nil? @html.div do - @html.div('Supplemental Information', {'id' => 'resourceInfo-supplemental', 'class' => 'h3'}) + @html.h3('Supplemental Information', {'id' => 'resourceInfo-supplemental', 'class' => 'h3'}) @html.div(:class => 'block') do # supplemental - maintenance [] {maintenance} diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb index ef6ff1ec3..e4d40466a 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb @@ -65,7 +65,7 @@ def writeHtml(hResponsibility) # # responsibility - role extent [] {extent} # hResponsibility[:roleExtents].each do |hExtent| # @html.div do - # @html.div('Extent', {'class' => 'h5'}) + # @html.h5('Extent', {'class' => 'h5'}) # @html.div(:class => 'block') do # extentClass.writeHtml(hExtent) # end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resultFile.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resultFile.rb new file mode 100644 index 000000000..a863aab10 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resultFile.rb @@ -0,0 +1,60 @@ +# HTML writer +# result file + +require_relative 'html_format' + +module ADIWG + module Mdtranslator + module Writers + module Simple_html + + class Html_ResultFile + + def initialize(html) + @html = html + end + + def writeHtml(hResultFile) + + # classes used + formatClass = Html_Format.new(@html) + + + # result file - file name + unless hResultFile[:fileName].nil? + @html.em('File Name: ') + @html.text!(hResultFile[:fileName]) + @html.br + end + + # result file - file type + unless hResultFile[:fileType].nil? + @html.em('File Type: ') + @html.text!(hResultFile[:fileType]) + @html.br + end + + # result file - file description + unless hResultFile[:fileDescription].nil? + @html.em('File Description: ') + @html.text!(hResultFile[:fileDescription]) + @html.br + end + + # result file - file format + unless hResultFile[:fileFormat].empty? + @html.div do + @html.div(hResultFile[:fileFormat][:title], {'class' => 'h5'}) + @html.div(:class => 'block') do + formatClass.writeHtml(hResultFile[:fileFormat]) + end + end + end + + end # writeHtml + end # Html_ResultFile + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb index f548bfc75..2d8c0b35d 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb @@ -5,7 +5,7 @@ # Stan Smith 2017-03-25 original script require_relative 'html_scopeDescription' -# require_relative 'html_extent' +require_relative 'html_extent' module ADIWG module Mdtranslator @@ -22,7 +22,7 @@ def writeHtml(hScope) # classes used descriptionClass = Html_ScopeDescription.new(@html) - # extentClass = Html_Extent.new(@html) + extentClass = Html_Extent.new(@html) # scope - code unless hScope[:scopeCode].nil? @@ -34,22 +34,22 @@ def writeHtml(hScope) # scope - description [] {scopeDescription} hScope[:scopeDescriptions].each do |hDescription| @html.div do - @html.div('Description', {'class' => 'h5'}) + @html.h5('Description', {'class' => 'h5'}) @html.div(:class => 'block') do descriptionClass.writeHtml(hDescription) end end end - # # scope - extent [] {extent} - # hScope[:extents].each do |hExtent| - # @html.div do - # @html.div('Extent', {'class' => 'h5'}) - # @html.div(:class => 'block') do - # extentClass.writeHtml(hExtent) - # end - # end - # end + # scope - extent [] {extent} + hScope[:extents].each do |hExtent| + @html.div do + @html.h5('Extent', {'class' => 'h5'}) + @html.div(:class => 'block') do + extentClass.writeHtml(hExtent) + end + end + end end # writeHtml end # Html_Scope diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb index f7b728128..573e66f8b 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb @@ -82,7 +82,7 @@ def writeHtml(hSource) # source - spatial resolution {resolution} unless hSource[:spatialResolution].empty? @html.div do - @html.div('Resolution', {'class' => 'h5'}) + @html.h5('Resolution', {'class' => 'h5'}) @html.div(:class => 'block') do resolutionClass.writeHtml(hSource[:spatialResolution]) end @@ -119,7 +119,7 @@ def writeHtml(hSource) # source - scope {scope} unless hSource[:scope].empty? @html.div do - @html.div('Scope', {'class' => 'h5'}) + @html.h5('Scope', {'class' => 'h5'}) @html.div(:class => 'block') do scopeClass.writeHtml(hSource[:scope]) end diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb index 2da661fe5..44546640a 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb @@ -102,7 +102,7 @@ def writeHtml(hTaxonomy) # taxonomy - observers {responsibility} unless hTaxonomy[:observers].empty? @html.div do - @html.div('Observers', {'class' => 'h5'}) + @html.h5('Observers', {'class' => 'h5'}) @html.div(:class => 'block') do hTaxonomy[:observers].each do |hObserver| @html.div do diff --git a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb index 566d6fbbd..94804a12f 100644 --- a/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +++ b/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb @@ -64,9 +64,7 @@ def writeHtml(hPeriod) # time period - description unless hPeriod[:description].nil? @html.em('Description: ') - @html.div(:class => 'block') do - @html.text!(hPeriod[:description]) - end + @html.text!(hPeriod[:description]) end # time period - start geologic age {geologic age} diff --git a/test/helpers/mdJson_hash_functions.rb b/test/helpers/mdJson_hash_functions.rb index 071915334..868e6dff5 100644 --- a/test/helpers/mdJson_hash_functions.rb +++ b/test/helpers/mdJson_hash_functions.rb @@ -62,6 +62,68 @@ def build_dataDictionary return hDictionary end + def build_dataQuality + hDataQuality = dataQuality + hDataQuality[:scope] = build_scope_full + hDataQuality[:standaloneQualityReport] = { + reportReference: build_citation('standalone quality report 1'), + abstract: "standalone quality report 1" + } + + hDataQuality[:report] = [ + { + type: 'DQ_AbsoluteExternalPositionalAccuracy', + standaloneQualityReportDetails: "standalone quality report details 1", + qualityMeasure: { + identifier: { + identifier: 'identifier', + namespace: 'namespace', + version: 'version', + description: 'description' + }, + name: ['name of measure'], + description: 'description' + }, + evaluationMethod: { + type: 'evaluationMethod', + dateTime: ['2019-06-11T08:35:00', '2019-06-11T09:00:00'], + methodDescription: 'evaluation method description', + evaluationProcedure: { title: 'EP Title' }, + referenceDocument: [ ], + evaluationMethodType: 'DQ_EvaluationMethodTypeCode', + deductiveSource: 'deductive source', + samplingScheme: 'sampling scheme', + lotDescription: 'lot description', + samplingRatio: 'sampling ratio' + }, + quantitativeResult: [ + { + dateTime: "2019-06-11T09:00:00", + scope: build_scope_full, + value: [9.99, 9.0], + valueUnits: "value units", + valueRecordType: "value record type" + } + ], + descriptiveResult: [{ + dateTime: "2019-06-11T09:00:00", + scope: build_scope_full, + statement: "statement" + }], + conformanceResult: [{ + dateTime: "2019-06-11T09:00:00", + scope: build_scope_full, + specification: build_citation('alternate metadata title one'), + explanation: "conformance result explanation", + pass: false + }], + # derivedElementReports: [], + } + ] + + return hDataQuality + end + def build_date(dateTime, type = 'none') hDate = date hDate[:date] = dateTime @@ -157,66 +219,6 @@ def build_funding(id = nil, amount = nil, description = nil) hFunding[:description] = description unless description.nil? return hFunding end - - def build_dataQuality - hDataQuality = dataQuality - hDataQuality[:scope] = build_scope_full - hDataQuality[:standaloneQualityReport] = { - abstract: "standalone quality report 1" - } - - hDataQuality[:report] = [ - { - conformanceResult: [{ - dateTime: "2019-06-11T09:00:00", - scope: build_scope_full, - specification: build_citation('alternate metadata title one'), - explanation: "conformance result explanation", - pass: false - }], - descriptiveResult: [{ - dateTime: "2019-06-11T09:00:00", - scope: build_scope_full, - statement: "statement" - }], - qualityMeasure: { - identifier: { - identifier: 'identifier', - description: 'description', - namespace: 'namespace', - version: 'version' - }, - name: ['name of measure'], - description: 'description' - }, - evaluationMethod: { - type: 'evaluation method type - enumerated', - dateTime: '2019-06-11T08:35:00', - methodDescription: 'evaluation method description', - evaluationProcedure: { title: 'EP Title' }, - referenceDocument: [ ], - evaluationMethodType: 'DQ_EvaluationMethodTypeCode', - deductiveSource: 'deductive source', - samplingScheme: 'sampling scheme', - lotDescription: 'lot description', - samplingRatio: 'sampling ratio' - }, - quantitativeResult: [ - { - dateTime: "2019-06-11T09:00:00", - scope: build_scope_full, - value: [9.99, 9.0], - valueUnits: "value units", - valueRecordType: "value record type" - } - ], - # derivedElementReports: [], - # relatedElementReports: [] - } - ] - - return hDataQuality - end def build_geoJson aGeoJson = [] diff --git a/test/helpers/mdJson_hash_objects.rb b/test/helpers/mdJson_hash_objects.rb index e948a2cc1..773c8d518 100644 --- a/test/helpers/mdJson_hash_objects.rb +++ b/test/helpers/mdJson_hash_objects.rb @@ -57,7 +57,7 @@ def base isOrganization: true, name: 'organization name', externalIdentifier: [ - { identifier: '0000-00002', namespace: 'ORCID' } + { identifier: '0000-00002', namespace: 'ROR' } ], phone: [ { @@ -148,6 +148,16 @@ def base status: [ 'status 1' ], + pointOfContact: [ + { + role: 'pointOfContact', + party: [ + { + contactId: 'CID001' + } + ] + } + ], extent: [ geographicExtent: [ { @@ -162,16 +172,6 @@ def base } ] ], - pointOfContact: [ - { - role: 'pointOfContact', - party: [ - { - contactId: 'CID001' - } - ] - } - ], keyword: [ { keyword: [ @@ -245,14 +245,14 @@ def additionalDocumentation # associated resource --------------------- def associatedResource { + associationType: 'association type', + initiativeType: 'initiative type', resourceType: [ { type: 'resource type', name: 'resource name' } ], - associationType: 'association type', - initiativeType: 'initiative type', resourceCitation: { title: 'citation title', date: [ @@ -766,7 +766,7 @@ def attribute { name: 'range element name 1', definition: 'range element definition', - rangeElements: [ 'range element record 1' ] + rangeElement: [ 'range element record 1' ] } ], boundMin: 100, @@ -1054,9 +1054,8 @@ def funding def dataQuality { scope: scope, - report: [{ - qualityMeasure: qualityMeasure - }] + standaloneQualityReport: {}, + report: [] } end diff --git a/test/readers/fgdc/tc_fgdc_lineage.rb b/test/readers/fgdc/tc_fgdc_lineage.rb index d8f0ac02c..eb3b8b656 100644 --- a/test/readers/fgdc/tc_fgdc_lineage.rb +++ b/test/readers/fgdc/tc_fgdc_lineage.rb @@ -35,16 +35,47 @@ def test_lineage_complete # lineage refute_nil hLineage - assert_equal 'method description one; method description two', hLineage[:statement] - assert_equal 3, hLineage[:lineageCitation].length - assert_equal 2, hLineage[:dataSources].length - assert_equal 2, hLineage[:processSteps].length - - # citation - hCitation = hLineage[:lineageCitation][0] - assert_equal 'method citation one', hCitation[:title] - + # statement to processStep description, change + assert_nil hLineage[:statement] + refute_empty hLineage[:processSteps] + + # 4 total, 2 from methodology and 2 from process step + assert_equal 4, hLineage[:processSteps].length + + # 2 tests for descriptions in methods + assert_equal 'method description one', hLineage[:processSteps][0][:description] + assert_equal 'method description two', hLineage[:processSteps][1][:description] + + # expected 2 citations in the first process step + assert_equal 2, hLineage[:processSteps][0][:references].length + + # expected 1 citation in the second process step + assert_equal 1, hLineage[:processSteps][1][:references].length + + + # process step descriptions + assert_equal 'my proc step 1 description', hLineage[:processSteps][2][:description] + assert_equal 'my proc step 2 description', hLineage[:processSteps][3][:description] + + # citations within the methodologies + hCitation1 = hLineage[:processSteps][0][:references][0] + refute_nil hCitation1 + assert_equal 'method citation one', hCitation1[:title] + + hCitation2 = hLineage[:processSteps][0][:references][1] + refute_nil hCitation2 + assert_equal 'method citation two', hCitation2[:title] + + hCitation3 = hLineage[:processSteps][1][:references][0] + refute_nil hCitation3 + assert_equal 1, hLineage[:processSteps][1][:references].length + assert_equal 'method citation three', hCitation3[:title] + + # lineageCitation + assert_equal 0, hLineage[:lineageCitation].length + # dataSource + assert_equal 2, hLineage[:dataSources].length hSource = hLineage[:dataSources][0] assert_equal 'source id', hSource[:sourceId] assert_equal 'my source 1 contribution', hSource[:description] diff --git a/test/readers/fgdc/tc_fgdc_process.rb b/test/readers/fgdc/tc_fgdc_process.rb index eedbe3500..075740184 100644 --- a/test/readers/fgdc/tc_fgdc_process.rb +++ b/test/readers/fgdc/tc_fgdc_process.rb @@ -24,17 +24,18 @@ def test_process_complete refute_nil hLineage aSteps = hLineage[:processSteps] - assert_equal 2, aSteps.length + assert_equal 4, aSteps.length - hProcess = aSteps[0] + # first process step that is not a methodology + hProcess = aSteps[2] refute_empty hProcess assert_nil hProcess[:stepId] assert_equal 'my proc step 1 description', hProcess[:description] assert_nil hProcess[:rationale] refute_empty hProcess[:timePeriod] assert_equal 1, hProcess[:processors].length - assert_equal 2, hProcess[:stepSources].length - assert_equal 1, hProcess[:stepProducts].length + assert_empty hProcess[:stepSources] + assert_empty hProcess[:stepProducts] assert_empty hProcess[:scope] hTimePeriod = hProcess[:timePeriod] @@ -47,12 +48,6 @@ def test_process_complete assert_empty hProcessor[:roleExtents] assert_equal 1, hProcessor[:parties].length - hSource = hProcess[:stepSources][0] - assert_equal 'my source 1 contribution', hSource[:description] - - hProduct = hProcess[:stepProducts][0] - assert_equal 'my source 2 contribution', hProduct[:description] - assert hResponse[:readerExecutionPass] assert_includes hResponse[:readerExecutionMessages], 'WARNING: FGDC reader: contact address is missing' assert_includes hResponse[:readerExecutionMessages], 'WARNING: FGDC reader: contact voice phone is missing' diff --git a/test/readers/fgdc/tc_fgdc_quality.rb b/test/readers/fgdc/tc_fgdc_quality.rb index f3eb2b26c..5cedd5883 100644 --- a/test/readers/fgdc/tc_fgdc_quality.rb +++ b/test/readers/fgdc/tc_fgdc_quality.rb @@ -1,5 +1,5 @@ # MdTranslator - minitest of -# readers / fgdc / module_quality +# readers / fgdc / module_dataQuality # History: # Stan Smith 2017-08-31 original script @@ -11,7 +11,7 @@ class TestReaderFgdcQuality < TestReaderFGDCParent @@xDoc = TestReaderFGDCParent.get_XML('dataQuality.xml') - @@NameSpace = ADIWG::Mdtranslator::Readers::Fgdc::Quality + @@NameSpace = ADIWG::Mdtranslator::Readers::Fgdc::DataQuality def test_quality_complete @@ -27,9 +27,13 @@ def test_quality_complete # require 'pry'; binding.pry - horizpa = hDataQuality[:report].find{ |h| h.dig(:qualityMeasure, :name) == ['Horizontal Positional Accuracy Report'] } - assert_equal 'GPS Unit', horizpa.dig(:evaluationMethod, :methodDescription) - assert_equal 'Instrument parameters', horizpa.dig(:qualityMeasure, :description) + horizpa = hDataQuality[:report].find do |h| + h[:type] == 'DQ_AbsoluteExternalPositionalAccuracy' && + h.dig(:descriptiveResult, 0, :name) == 'Horizontal Positional Accuracy Report' + end + assert_equal 'GPS Unit', horizpa.dig(:descriptiveResult, 0, :statement) + assert_equal 'Horizontal Positional Accuracy Explanation', horizpa.dig(:descriptiveResult, 1, :name) + assert_equal 'Instrument parameters', horizpa.dig(:descriptiveResult, 1, :statement) assert hResponse[:readerExecutionPass] assert_includes hResponse[:readerExecutionMessages], 'WARNING: FGDC reader: lineage procedure date is missing' diff --git a/test/writers/iso19115-3/tc_19115_3_mdMetadata.rb b/test/writers/iso19115-3/tc_19115_3_mdMetadata.rb index 35eddfe0c..509dbd1aa 100755 --- a/test/writers/iso19115-3/tc_19115_3_mdMetadata.rb +++ b/test/writers/iso19115-3/tc_19115_3_mdMetadata.rb @@ -50,7 +50,7 @@ def test_mdMetadata_complete assert_equal 'xml', hResponseObj[:writerOutputFormat] assert hResponseObj[:writerShowTags] assert_nil hResponseObj[:writerCSSlink] - assert_equal '_001', hResponseObj[:writerMissingIdCount] + assert_equal '001', hResponseObj[:writerMissingIdCount] assert_equal translatorVersion, hResponseObj[:translatorVersion] xMetadata = Nokogiri::XML(hResponseObj[:writerOutput]) diff --git a/test/writers/iso19115-3/testData/19115_3_associatedResource.xml b/test/writers/iso19115-3/testData/19115_3_associatedResource.xml index 39cc14eca..ac7d3e88d 100644 --- a/test/writers/iso19115-3/testData/19115_3_associatedResource.xml +++ b/test/writers/iso19115-3/testData/19115_3_associatedResource.xml @@ -44,7 +44,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -129,7 +129,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -214,7 +214,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_attribute.xml b/test/writers/iso19115-3/testData/19115_3_attribute.xml index 36edf72f9..4a0e04792 100644 --- a/test/writers/iso19115-3/testData/19115_3_attribute.xml +++ b/test/writers/iso19115-3/testData/19115_3_attribute.xml @@ -125,26 +125,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -160,6 +147,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + @@ -211,26 +213,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -246,6 +235,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + 999 @@ -253,7 +257,7 @@ 100 - + bound min/max units @@ -314,26 +318,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -349,6 +340,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + 999 @@ -356,7 +362,7 @@ 100 - + bound min/max units @@ -384,4 +390,4 @@ - + \ No newline at end of file diff --git a/test/writers/iso19115-3/testData/19115_3_attributeGroup.xml b/test/writers/iso19115-3/testData/19115_3_attributeGroup.xml index ce70ed324..4eba99b16 100644 --- a/test/writers/iso19115-3/testData/19115_3_attributeGroup.xml +++ b/test/writers/iso19115-3/testData/19115_3_attributeGroup.xml @@ -183,26 +183,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -218,6 +205,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + @@ -235,4 +237,4 @@ - + \ No newline at end of file diff --git a/test/writers/iso19115-3/testData/19115_3_citation.xml b/test/writers/iso19115-3/testData/19115_3_citation.xml index 632ab8050..81d480e2f 100644 --- a/test/writers/iso19115-3/testData/19115_3_citation.xml +++ b/test/writers/iso19115-3/testData/19115_3_citation.xml @@ -137,33 +137,20 @@ - - - - 0000-00002 - - - ORCID - - - - + + + + 0000-00002 + + + ROR + + + + - - - - - 0000-00002 - - - ORCID - - - - - @@ -240,7 +227,7 @@ - 2018-04-18T00:00:00 + 2018-04-18 @@ -365,7 +352,7 @@ 0000-00002 - ORCID + ROR @@ -373,19 +360,6 @@ - - - - - 0000-00002 - - - ORCID - - - - - @@ -511,7 +485,7 @@ 0000-00002 - ORCID + ROR @@ -519,19 +493,6 @@ - - - - - 0000-00002 - - - ORCID - - - - - @@ -561,17 +522,6 @@ - - - - - CID004 - - - - - - @@ -626,7 +576,7 @@ 0000-00002 - ORCID + ROR @@ -634,19 +584,6 @@ - - - - - 0000-00002 - - - ORCID - - - - - diff --git a/test/writers/iso19115-3/testData/19115_3_constraintCommon.xml b/test/writers/iso19115-3/testData/19115_3_constraintCommon.xml index 7f80b6f8f..6a5ac0169 100644 --- a/test/writers/iso19115-3/testData/19115_3_constraintCommon.xml +++ b/test/writers/iso19115-3/testData/19115_3_constraintCommon.xml @@ -145,17 +145,6 @@ - - - - - CID004 - - - - - - @@ -196,17 +185,6 @@ - - - - - CID004 - - - - - - diff --git a/test/writers/iso19115-3/testData/19115_3_contact.xml b/test/writers/iso19115-3/testData/19115_3_contact.xml index 167a01e26..60d4699de 100644 --- a/test/writers/iso19115-3/testData/19115_3_contact.xml +++ b/test/writers/iso19115-3/testData/19115_3_contact.xml @@ -73,17 +73,6 @@ - - - - - CID004 - - - - - - diff --git a/test/writers/iso19115-3/testData/19115_3_dataIdentification.xml b/test/writers/iso19115-3/testData/19115_3_dataIdentification.xml index ebc811308..dc2259d9d 100644 --- a/test/writers/iso19115-3/testData/19115_3_dataIdentification.xml +++ b/test/writers/iso19115-3/testData/19115_3_dataIdentification.xml @@ -44,7 +44,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -256,7 +256,7 @@ - + resource time period @@ -303,7 +303,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -375,7 +375,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -603,7 +603,7 @@ - + resource time period @@ -672,7 +672,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -733,7 +733,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -798,17 +798,6 @@ - - - - - CID004 - - - - - - @@ -889,7 +878,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1008,7 +997,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1280,7 +1269,7 @@ - + resource time period @@ -1399,7 +1388,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -1451,7 +1440,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -1512,7 +1501,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1553,7 +1542,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1594,7 +1583,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1659,17 +1648,6 @@ - - - - - CID004 - - - - - - @@ -1764,17 +1742,6 @@ - - - - - CID004 - - - - - - @@ -1877,7 +1844,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1961,7 +1928,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -2093,7 +2060,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -2303,7 +2270,7 @@ - + resource time period diff --git a/test/writers/iso19115-3/testData/19115_3_date.xml b/test/writers/iso19115-3/testData/19115_3_date.xml index 0d94773d4..dc811468a 100644 --- a/test/writers/iso19115-3/testData/19115_3_date.xml +++ b/test/writers/iso19115-3/testData/19115_3_date.xml @@ -36,7 +36,7 @@ - 2018-01-01T00:00:00 + 2018 @@ -47,7 +47,7 @@ - 2018-04-01T00:00:00 + 2018-04 @@ -58,7 +58,7 @@ - 2018-04-19T00:00:00 + 2018-04-19 diff --git a/test/writers/iso19115-3/testData/19115_3_distributor.xml b/test/writers/iso19115-3/testData/19115_3_distributor.xml index ff344e397..9267d0166 100644 --- a/test/writers/iso19115-3/testData/19115_3_distributor.xml +++ b/test/writers/iso19115-3/testData/19115_3_distributor.xml @@ -138,7 +138,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -270,7 +270,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -337,7 +337,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 diff --git a/test/writers/iso19115-3/testData/19115_3_feature.xml b/test/writers/iso19115-3/testData/19115_3_feature.xml index 8cb0e9eb1..b7a97a4c8 100644 --- a/test/writers/iso19115-3/testData/19115_3_feature.xml +++ b/test/writers/iso19115-3/testData/19115_3_feature.xml @@ -62,7 +62,7 @@ true - + @@ -104,7 +104,7 @@ true - + @@ -147,7 +147,7 @@ true - + @@ -215,18 +215,18 @@ true - + - + 100.0 10.0 - + @@ -270,19 +270,19 @@ true - + - + 100.0 10.0 101.0 11.0 - + @@ -327,12 +327,12 @@ true - + - + @@ -346,7 +346,7 @@ - + @@ -407,15 +407,15 @@ true - + - + 100.0 10.0 - + diff --git a/test/writers/iso19115-3/testData/19115_3_format.xml b/test/writers/iso19115-3/testData/19115_3_format.xml index b76ce7886..a4a9be4d9 100644 --- a/test/writers/iso19115-3/testData/19115_3_format.xml +++ b/test/writers/iso19115-3/testData/19115_3_format.xml @@ -44,7 +44,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -97,7 +97,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 diff --git a/test/writers/iso19115-3/testData/19115_3_geographicElement.xml b/test/writers/iso19115-3/testData/19115_3_geographicElement.xml index dbcd7b73f..c855c6cae 100644 --- a/test/writers/iso19115-3/testData/19115_3_geographicElement.xml +++ b/test/writers/iso19115-3/testData/19115_3_geographicElement.xml @@ -39,7 +39,7 @@ true - + @@ -55,7 +55,7 @@ true - + @@ -72,7 +72,7 @@ true - + @@ -114,18 +114,18 @@ true - + - + 100.0 10.0 - + @@ -143,19 +143,19 @@ true - + - + 100.0 10.0 101.0 11.0 - + @@ -174,12 +174,12 @@ true - + - + @@ -193,7 +193,7 @@ - + @@ -228,15 +228,15 @@ true - + - + 100.0 10.0 - + @@ -271,7 +271,7 @@ true - + diff --git a/test/writers/iso19115-3/testData/19115_3_geographicExtent.xml b/test/writers/iso19115-3/testData/19115_3_geographicExtent.xml index cd44cc487..d51965b77 100644 --- a/test/writers/iso19115-3/testData/19115_3_geographicExtent.xml +++ b/test/writers/iso19115-3/testData/19115_3_geographicExtent.xml @@ -78,7 +78,7 @@ true - + @@ -167,7 +167,7 @@ false - + diff --git a/test/writers/iso19115-3/testData/19115_3_geometryCollection.xml b/test/writers/iso19115-3/testData/19115_3_geometryCollection.xml index c4b8f39de..8e1fa482a 100644 --- a/test/writers/iso19115-3/testData/19115_3_geometryCollection.xml +++ b/test/writers/iso19115-3/testData/19115_3_geometryCollection.xml @@ -62,15 +62,15 @@ true - + - + 100.0 10.0 - + @@ -96,7 +96,7 @@ true - + diff --git a/test/writers/iso19115-3/testData/19115_3_georectified.xml b/test/writers/iso19115-3/testData/19115_3_georectified.xml index 8489ad6c0..e3e160d1d 100644 --- a/test/writers/iso19115-3/testData/19115_3_georectified.xml +++ b/test/writers/iso19115-3/testData/19115_3_georectified.xml @@ -77,7 +77,7 @@ check point description - + @@ -85,7 +85,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -154,7 +154,7 @@ - + @@ -162,7 +162,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -227,7 +227,7 @@ - + @@ -235,7 +235,7 @@ - + @@ -293,7 +293,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -317,7 +317,7 @@ - + diff --git a/test/writers/iso19115-3/testData/19115_3_identifier.xml b/test/writers/iso19115-3/testData/19115_3_identifier.xml index 8d462d431..65902a0ea 100644 --- a/test/writers/iso19115-3/testData/19115_3_identifier.xml +++ b/test/writers/iso19115-3/testData/19115_3_identifier.xml @@ -44,7 +44,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_keyword.xml b/test/writers/iso19115-3/testData/19115_3_keyword.xml index 67c626a18..a10bd7e62 100644 --- a/test/writers/iso19115-3/testData/19115_3_keyword.xml +++ b/test/writers/iso19115-3/testData/19115_3_keyword.xml @@ -53,7 +53,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -95,7 +95,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_leProcessStep.xml b/test/writers/iso19115-3/testData/19115_3_leProcessStep.xml index cd164b3ec..f66ee8293 100644 --- a/test/writers/iso19115-3/testData/19115_3_leProcessStep.xml +++ b/test/writers/iso19115-3/testData/19115_3_leProcessStep.xml @@ -202,7 +202,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -270,7 +270,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -386,7 +386,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -454,7 +454,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -537,7 +537,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -680,7 +680,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -748,7 +748,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -864,7 +864,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -932,7 +932,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1126,7 +1126,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1194,7 +1194,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1277,7 +1277,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1407,7 +1407,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -1475,7 +1475,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_leSource.xml b/test/writers/iso19115-3/testData/19115_3_leSource.xml index 0882f9d7f..6ff9e63c3 100644 --- a/test/writers/iso19115-3/testData/19115_3_leSource.xml +++ b/test/writers/iso19115-3/testData/19115_3_leSource.xml @@ -207,7 +207,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -297,7 +297,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_liProcessStep.xml b/test/writers/iso19115-3/testData/19115_3_liProcessStep.xml index c155f0468..19083efd4 100644 --- a/test/writers/iso19115-3/testData/19115_3_liProcessStep.xml +++ b/test/writers/iso19115-3/testData/19115_3_liProcessStep.xml @@ -155,7 +155,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -386,7 +386,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -492,7 +492,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -738,7 +738,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -844,7 +844,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_lineage.xml b/test/writers/iso19115-3/testData/19115_3_lineage.xml index 1e9d6419f..4a279d22e 100644 --- a/test/writers/iso19115-3/testData/19115_3_lineage.xml +++ b/test/writers/iso19115-3/testData/19115_3_lineage.xml @@ -56,7 +56,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -149,7 +149,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -249,7 +249,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -342,7 +342,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -448,7 +448,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -516,7 +516,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_maintenance.xml b/test/writers/iso19115-3/testData/19115_3_maintenance.xml index 2a331cf77..657923203 100644 --- a/test/writers/iso19115-3/testData/19115_3_maintenance.xml +++ b/test/writers/iso19115-3/testData/19115_3_maintenance.xml @@ -41,7 +41,7 @@ - 2018-05-25T00:00:00 + 2018-05-25 @@ -99,7 +99,7 @@ - 2018-05-25T00:00:00 + 2018-05-25 @@ -109,7 +109,7 @@ - 2019-04-01T00:00:00 + 2019-04 @@ -193,17 +193,6 @@ - - - - - CID004 - - - - - - diff --git a/test/writers/iso19115-3/testData/19115_3_mdBand.xml b/test/writers/iso19115-3/testData/19115_3_mdBand.xml index 4288d4afd..25c03b71e 100644 --- a/test/writers/iso19115-3/testData/19115_3_mdBand.xml +++ b/test/writers/iso19115-3/testData/19115_3_mdBand.xml @@ -81,26 +81,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -116,6 +103,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + 999 @@ -123,7 +125,7 @@ 100 - + bound min/max units @@ -184,26 +186,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -219,6 +208,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + @@ -277,26 +281,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -312,6 +303,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + diff --git a/test/writers/iso19115-3/testData/19115_3_mdMetadata.xml b/test/writers/iso19115-3/testData/19115_3_mdMetadata.xml index 8ec039a28..6bd5b89a4 100644 --- a/test/writers/iso19115-3/testData/19115_3_mdMetadata.xml +++ b/test/writers/iso19115-3/testData/19115_3_mdMetadata.xml @@ -1,4 +1,4 @@ - + @@ -105,7 +105,7 @@ - 2018-01-26T00:00:00 + 2018-01-26 @@ -166,7 +166,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -378,7 +378,7 @@ - + resource time period @@ -425,7 +425,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_miBand.xml b/test/writers/iso19115-3/testData/19115_3_miBand.xml index 5584cf052..db4a419f7 100644 --- a/test/writers/iso19115-3/testData/19115_3_miBand.xml +++ b/test/writers/iso19115-3/testData/19115_3_miBand.xml @@ -81,26 +81,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -116,6 +103,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + 999 @@ -123,7 +125,7 @@ 100 - + bound min/max units @@ -199,26 +201,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -234,6 +223,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + 999 @@ -241,7 +245,7 @@ 100 - + bound min/max units diff --git a/test/writers/iso19115-3/testData/19115_3_organization.xml b/test/writers/iso19115-3/testData/19115_3_organization.xml index 2f1a3baaa..632ac6135 100644 --- a/test/writers/iso19115-3/testData/19115_3_organization.xml +++ b/test/writers/iso19115-3/testData/19115_3_organization.xml @@ -196,17 +196,6 @@ - - - - - CID006 - - - - - - @@ -447,17 +436,6 @@ - - - - - CID006 - - - - - - @@ -480,17 +458,6 @@ - - - - - CID004 - - - - - - diff --git a/test/writers/iso19115-3/testData/19115_3_processing.xml b/test/writers/iso19115-3/testData/19115_3_processing.xml index 598c2c969..3515b24e8 100644 --- a/test/writers/iso19115-3/testData/19115_3_processing.xml +++ b/test/writers/iso19115-3/testData/19115_3_processing.xml @@ -98,7 +98,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -263,7 +263,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 @@ -384,7 +384,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_referenceSystem.xml b/test/writers/iso19115-3/testData/19115_3_referenceSystem.xml index 8ae151d47..9f65321ab 100644 --- a/test/writers/iso19115-3/testData/19115_3_referenceSystem.xml +++ b/test/writers/iso19115-3/testData/19115_3_referenceSystem.xml @@ -46,7 +46,7 @@ - 2017-11-22T00:00:00 + 2017-11-22 diff --git a/test/writers/iso19115-3/testData/19115_3_releasability.xml b/test/writers/iso19115-3/testData/19115_3_releasability.xml index 5709be500..ccc44a8ff 100644 --- a/test/writers/iso19115-3/testData/19115_3_releasability.xml +++ b/test/writers/iso19115-3/testData/19115_3_releasability.xml @@ -60,17 +60,6 @@ - - - - - CID004 - - - - - - @@ -114,17 +103,6 @@ - - - - - CID004 - - - - - - diff --git a/test/writers/iso19115-3/testData/19115_3_responsibility.xml b/test/writers/iso19115-3/testData/19115_3_responsibility.xml index e7056a2e2..e204abe0e 100644 --- a/test/writers/iso19115-3/testData/19115_3_responsibility.xml +++ b/test/writers/iso19115-3/testData/19115_3_responsibility.xml @@ -326,7 +326,7 @@ 0000-00002 - ORCID + ROR @@ -334,19 +334,6 @@ - - - - - 0000-00002 - - - ORCID - - - - - diff --git a/test/writers/iso19115-3/testData/19115_3_sampleDimension.xml b/test/writers/iso19115-3/testData/19115_3_sampleDimension.xml index 8f8a9d64f..b4ebda043 100644 --- a/test/writers/iso19115-3/testData/19115_3_sampleDimension.xml +++ b/test/writers/iso19115-3/testData/19115_3_sampleDimension.xml @@ -81,26 +81,13 @@ 0 - + min/max units 99.9 - - - range element name 1 - - - range element definition - - - - range element record 1 - - - 1.0 @@ -116,6 +103,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + @@ -164,19 +166,6 @@ - - - range element name 1 - - - range element definition - - - - range element record 1 - - - @@ -184,6 +173,21 @@ 9 + + + + range element name 1 + + + range element definition + + + + range element record 1 + + + + diff --git a/test/writers/iso19115-3/testData/19115_3_spatialRepresentation.xml b/test/writers/iso19115-3/testData/19115_3_spatialRepresentation.xml index 6830cf9e3..eb66a1af2 100644 --- a/test/writers/iso19115-3/testData/19115_3_spatialRepresentation.xml +++ b/test/writers/iso19115-3/testData/19115_3_spatialRepresentation.xml @@ -145,7 +145,7 @@ check point description - + @@ -153,7 +153,7 @@ - + @@ -161,7 +161,7 @@ - + diff --git a/test/writers/iso19115-3/testData/19115_3_spatialRepresentation_scope.xml b/test/writers/iso19115-3/testData/19115_3_spatialRepresentation_scope.xml index e0e9c1067..f73294d03 100644 --- a/test/writers/iso19115-3/testData/19115_3_spatialRepresentation_scope.xml +++ b/test/writers/iso19115-3/testData/19115_3_spatialRepresentation_scope.xml @@ -190,7 +190,7 @@ check point description - + @@ -198,7 +198,7 @@ - + @@ -206,7 +206,7 @@ - + diff --git a/test/writers/iso19115-3/testData/19115_3_timeInstant.xml b/test/writers/iso19115-3/testData/19115_3_timeInstant.xml index ce1cb6a54..315736a48 100644 --- a/test/writers/iso19115-3/testData/19115_3_timeInstant.xml +++ b/test/writers/iso19115-3/testData/19115_3_timeInstant.xml @@ -50,7 +50,7 @@ - + diff --git a/test/writers/iso19115-3/testData/19115_3_timePeriod.xml b/test/writers/iso19115-3/testData/19115_3_timePeriod.xml index 615b3c645..9da4a1f9e 100644 --- a/test/writers/iso19115-3/testData/19115_3_timePeriod.xml +++ b/test/writers/iso19115-3/testData/19115_3_timePeriod.xml @@ -52,7 +52,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/test/writers/iso19115-3/testData/19115_3_transferOptions.xml b/test/writers/iso19115-3/testData/19115_3_transferOptions.xml index f960dc3b9..c5610afbf 100644 --- a/test/writers/iso19115-3/testData/19115_3_transferOptions.xml +++ b/test/writers/iso19115-3/testData/19115_3_transferOptions.xml @@ -81,7 +81,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -199,7 +199,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 @@ -251,7 +251,7 @@ - 2018-02-01T00:00:00 + 2018-02-01 diff --git a/test/writers/iso19115-3/testData/19115_3_usage.xml b/test/writers/iso19115-3/testData/19115_3_usage.xml index fb7150b71..302e96c38 100644 --- a/test/writers/iso19115-3/testData/19115_3_usage.xml +++ b/test/writers/iso19115-3/testData/19115_3_usage.xml @@ -33,7 +33,7 @@ xsi:schemaLocation="http://standards.iso.org/iso/19115/-3/mdt/2.0 http://standards.iso.org/iso/19115/-3/mdt/2.0/mdt.xsd"> - + usage one @@ -77,17 +77,6 @@ - - - - - CID004 - - - - - - diff --git a/test/writers/mdJson/tc_mdjson_metadata.rb b/test/writers/mdJson/tc_mdjson_metadata.rb index 8b66b2adb..4c0d4fd7d 100644 --- a/test/writers/mdJson/tc_mdjson_metadata.rb +++ b/test/writers/mdJson/tc_mdjson_metadata.rb @@ -17,6 +17,11 @@ class TestWriterMdJsonMetadata < TestWriterMdJsonParent # build mdJson test file in hash mdHash = TDClass.base + # data quality [] + mdHash[:metadata][:dataQuality] = [] + mdHash[:metadata][:dataQuality] << TDClass.build_dataQuality + mdHash[:metadata][:dataQuality] << TDClass.build_dataQuality + # lineage [] mdHash[:metadata][:resourceLineage] = [] mdHash[:metadata][:resourceLineage] << TDClass.build_lineage @@ -42,12 +47,6 @@ class TestWriterMdJsonMetadata < TestWriterMdJsonParent mdHash[:metadata][:funding] << TDClass.build_funding mdHash[:metadata][:funding] << TDClass.build_funding - # data quality [] - mdHash[:metadata][:dataQuality] = [] - mdHash[:metadata][:dataQuality] << TDClass.build_dataQuality - mdHash[:metadata][:dataQuality] << TDClass.build_dataQuality - - TDClass.removeEmptyObjects(mdHash) @@mdHash = mdHash diff --git a/test/writers/sbJson/tc_sbjson_citation.rb b/test/writers/sbJson/tc_sbjson_citation.rb index 30d09d3a5..1e8e352e2 100644 --- a/test/writers/sbJson/tc_sbjson_citation.rb +++ b/test/writers/sbJson/tc_sbjson_citation.rb @@ -19,7 +19,7 @@ def test_citation file: @@jsonIn, reader: 'mdJson', validate: 'normal', writer: 'sbJson', showAllTags: false) - expect = 'Person 001(Principal Investigator), Person 002(Principal Investigator), Organization 001(funder), Person 003(funder), Person 004(funder), Person 001(funder), 2017-05(creation), 2017-05-16(Publication), 2017-05-16(revision), myCitationTitle, http://ISO.uri/adiwg/0, http://ISO.uri/adiwg/1' + expect = 'Person 001, myCitationTitle' hJsonOut = JSON.parse(metadata[:writerOutput]) got = hJsonOut['citation'] @@ -28,5 +28,3 @@ def test_citation end end - - diff --git a/test/writers/sbJson/testData/citation.json b/test/writers/sbJson/testData/citation.json index bc2d3640f..c9368cc88 100644 --- a/test/writers/sbJson/testData/citation.json +++ b/test/writers/sbJson/testData/citation.json @@ -1,141 +1,143 @@ { - "schema": { - "name": "mdJson", - "version": "2.0.0" - }, - "contact": [ - { - "contactId": "CID001", - "isOrganization": false, - "name": "Person 001" - }, - { - "contactId": "CID002", - "isOrganization": false, - "name": "Person 002" - }, - { - "contactId": "CID003", - "isOrganization": false, - "name": "Person 003" - }, - { - "contactId": "CID004", - "isOrganization": false, - "name": "Person 004" - }, - { - "contactId": "CID005", - "isOrganization": true, - "name": "Organization 001" - } - ], - "metadata": { - "metadataInfo": { - "metadataContact": [ - { - "role": "metadataContact", - "party": [ - { - "contactId": "CID001" - } - ] - } - ] - }, - "resourceInfo": { - "resourceType": [ + "schema": { + "name": "mdJson", + "version": "2.0.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Person 001" + }, + { + "contactId": "CID002", + "isOrganization": false, + "name": "Person 002" + }, + { + "contactId": "CID003", + "isOrganization": false, + "name": "Person 003" + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Person 004" + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "Organization 001" + } + ], + "metadata": { + "metadataInfo": { + "metadataContact": [ + { + "role": "metadataContact", + "party": [ { - "type": "type", - "name": "name" + "contactId": "CID001" } - ], - "citation": { - "title": "myCitationTitle", - "responsibleParty": [ - { - "role": "principalInvestigator", - "party": [ - { - "contactId": "CID001" - }, - { - "contactId": "CID002" - } - ] - }, - { - "role": "funder", - "party": [ - { - "contactId": "CID005", - "organizationMembers": [ - "CID003", - "CID004", - "CID001" - ] - } - ] - }, - { - "role": "principalInvestigator", - "party": [ - { - "contactId": "CID001" - } - ] - } - ], - "date": [ - { - "date": "2020", - "dateType": "expiry" - }, - { - "date": "2017-05", - "dateType": "creation" - }, - { - "date": "2017-05-16", - "dateType": "publication" - }, - { - "date": "2017-05-16T16:10:00-09:00", - "dateType": "revision" - } - ], - "onlineResource": [ - { - "uri": "http://ISO.uri/adiwg/0", - "protocol": "protocol", - "name": "name", - "description": "description", - "function": "function" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "type", + "name": "name" + } + ], + "citation": { + "title": "myCitationTitle", + "responsibleParty": [ + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID002" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID005", + "organizationMembers": ["CID003", "CID004", "CID001"] + } ] - }, - "abstract": "myBody", - "status": [ - "status" - ], - "pointOfContact": [ + }, + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + } + ] + }, + { + "role": "author", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "date": [ + { + "date": "2020", + "dateType": "expiry" + }, + { + "date": "2017-05", + "dateType": "creation" + }, + { + "date": "2017-05-16", + "dateType": "publication" + }, + { + "date": "2017-05-16T16:10:00-09:00", + "dateType": "revision" + } + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ] + }, + "abstract": "myBody", + "status": ["status"], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ { - "role": "pointOfContact", - "party": [ - { - "contactId": "CID001" - } - ] + "contactId": "CID001" } - ], - "defaultResourceLocale": { - "language": "eng", - "country": "USA", - "characterSet": "UTF-8" - } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" } - } + } + } } diff --git a/test/writers/simple_html/tc_simple_html_document.rb b/test/writers/simple_html/tc_simple_html_document.rb new file mode 100644 index 000000000..ad66c0747 --- /dev/null +++ b/test/writers/simple_html/tc_simple_html_document.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' + +class TestSimpleHtmlDocument < Minitest::Test + + # get input JSON for test + fname = File.join(File.dirname(__FILE__), 'testData', 'metadataGeo.json') + file = File.open(fname, 'r') + @@mdJson = file.read + file.close + + def test_complete_document + + metadata = ADIWG::Mdtranslator.translate( + file: @@mdJson, reader: 'mdJson', validate: 'none', writer: 'simple_html', showAllTags: false) + + got = metadata[:writerOutput] + + refute_empty got + + end + +end diff --git a/test/writers/simple_html/testData/metadataGeo.json b/test/writers/simple_html/testData/metadataGeo.json new file mode 100644 index 000000000..7d94ceb90 --- /dev/null +++ b/test/writers/simple_html/testData/metadataGeo.json @@ -0,0 +1,3552 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.4.5" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": ["CID002", "CID003"], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [ + { + "type": "use", + "useLimitation": ["useLimitation0", "useLimitation1"] + }, + { + "type": "legal", + "legal": { + "useConstraint": ["useConstraint0", "useConstraint1"], + "accessConstraint": ["accessConstraint0", "accessConstraint1"], + "otherConstraint": ["otherConstraint0", "otherConstraint1"] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [ + { + "uri": "http://ISO.uri/adiwg/0" + } + ] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": ["voice", "sms", "message"] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": ["voice", "message"] + } + ], + "address": [ + { + "addressType": ["mailing", "physical"], + "description": "work location", + "deliveryPoint": ["address line 1", "address line 2"], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": ["mailing"], + "description": "telework location", + "deliveryPoint": ["address line 3"], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": ["e.mail@address.com1", "e.mail@address.com2"], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "name": "name", + "description": "description", + "function": "function", + "applicationProfile": "application profile", + "protocol": "protocol", + "protocolRequest": "protocol request" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": ["hoursOfService1", "hoursOfService2"], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": ["CID005"], + "logoGraphic": [ + { + "fileName": "fileName" + } + ], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": ["voice"] + } + ], + "address": [ + { + "addressType": ["addressType"] + } + ], + "electronicMailAddress": ["e.mail@address.com2"], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": ["hoursOfService"], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal" + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": ["CID003"] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": ["CID002"], + "contactType": "individual" + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": ["alternateTitle0", "alternateTitle1"] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": ["alternateTitle0", "alternateTitle1"], + "date": [ + { + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "description": "Polygon in Northern Alaska", + "containsData": true, + "geographicElement": [ + { + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": ["Agashashok River", "Camp Mosquito"], + "identifier": [ + { + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": ["string 1", "string 2"] + } + } + ] + } + ] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID003", + "organizationMembers": ["CID004", "CID001"] + } + ] + } + ], + "presentationForm": ["presentationForm0", "presentationForm1"], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [ + { + "contactId": "CID002" + } + ] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataConstraint": [ + { + "type": "use", + "useLimitation": ["useLimitation0", "useLimitation1"] + }, + { + "type": "legal", + "legal": { + "useConstraint": ["useConstraint0", "useConstraint1"], + "accessConstraint": ["accessConstraint0", "accessConstraint1"], + "otherConstraint": ["otherConstraint0", "otherConstraint1"] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [ + { + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [ + { + "scopeCode": "dataset", + "scopeExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [100.0, 0.0], + [101.0, 1.0] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + } + ] + } + ] + } + ], + "scopeDescription": [ + { + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": ["note00", "note01"], + "contact": [ + { + "role": "processor", + "party": [ + { + "contactId": "CID004" + } + ] + }, + { + "role": "contributor", + "party": [ + { + "contactId": "CID006" + } + ] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "International migration patterns of Red-throated Loons (Gavia stellata) from four breeding populations in Alaska", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "date type" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "dateTime type" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": true, + "geographicElement": [ + { + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": ["Agashashok River", "Camp Mosquito"], + "identifier": [ + { + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": ["string 1", "string 2"] + } + } + ] + } + ] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID003", + "organizationMembers": ["CID004", "CID001"] + } + ] + } + ], + "presentationForm": ["presentationForm0", "presentationForm1"], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": ["instantName 00", "instantName 01"] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": ["periodName 00", "periodName 01"], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": ["alternateTitle0", "alternateTitle1"], + "date": [ + { + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID003", + "organizationMembers": ["CID004", "CID001"] + } + ] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": ["instantName 20", "instantName 21"] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [ + { + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [ + { + "contactId": "CID006" + } + ] + }, + { + "role": "coPrincipalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": ["incomplete", "suspended"], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID004" + } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "otherResourceLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "credit": [ + "Lim, Sonny B. - Guitar", + "Peterson, Jeff - Slack Key Guitar", + "Kamakawiwo'ole, Israel - Vocal" + ], + "timePeriod": { + "startDateTime": "2016-11-01" + }, + "temporalResolution": [ + { + "years": 1, + "months": 8, + "days": 13 + }, + { + "seconds": 5 + } + ], + "spatialReferenceSystem": [ + { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "spatial reference system identifier", + "namespace": "namespace", + "version": "version", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + "referenceSystemWKT": "POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30))", + "referenceSystemParameterSet": { + "projection": { + "projectionIdentifier": { + "identifier": "transverseMercator", + "name": "Transverse Mercator", + "description": "Ut local planar enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. " + }, + "gridIdentifier": { + "identifier": "spcs", + "name": "Alaska State Plane Coordinate System", + "description": "Ut local planar enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. " + }, + "gridZone": "9", + "standardParallel1": 9.0, + "standardParallel2": 99.0, + "longitudeOfCentralMeridian": -9.0, + "latitudeOfProjectionOrigin": 9.0, + "falseEasting": 99999.0, + "falseNorthing": 999999.0, + "falseEastingNorthingUnits": "feet", + "scaleFactorAtEquator": 99.9, + "heightOfProspectivePointAboveSurface": 999.0, + "longitudeOfProjectionCenter": -99.0, + "latitudeOfProjectionCenter": 9.0, + "scaleFactorAtCenterLine": 99.9, + "scaleFactorAtCentralMeridian": 9.9, + "straightVerticalLongitudeFromPole": 999.9, + "scaleFactorAtProjectionOrigin": 99.9, + "azimuthAngle": 9.9, + "azimuthMeasurePointLongitude": -99.0, + "obliqueLinePoint": [ + { + "obliqueLineLatitude": 9.99999, + "obliqueLineLongitude": -9.99999 + }, + { + "obliqueLineLatitude": 19.99999, + "obliqueLineLongitude": -19.99999 + } + ], + "landsatNumber": 9, + "landsatPath": 9999, + "local": { + "fixedToEarth": true, + "description": "Ut local planar enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident", + "georeference": "Ut local planar georeference enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident" + } + }, + "geodetic": { + "datumIdentifier": { + "identifier": "datum identifier" + }, + "datumName": "geodetic datum name", + "ellipsoidIdentifier": { + "identifier": "ellipsoid identifier" + }, + "ellipsoidName": "WGS84", + "semiMajorAxis": 9999999.0, + "axisUnits": "feet", + "denominatorOfFlatteningRatio": 999.9 + }, + "verticalDatum": { + "datumIdentifier": { + "identifier": "altitude datum identifier" + }, + "datumName": "vertical datum name", + "encodingMethod": "attribute values", + "isDepthSystem": false, + "verticalResolution": 9.9, + "unitOfMeasure": "meters" + } + } + }, + { + "referenceSystemType": "geodeticGeocentric" + }, + { + "referenceSystemIdentifier": { + "identifier": "NGS84", + "namespace": "epsg", + "description": "WGS84 (World Geodetic System of 1984) uses WGS84 ellipsoid where as NAD83 (North American 1983 Datum) uses the Geodetic Reference System (GRS80) ellipsoid. 2. WGS84 has 0.21mm longer ellipsoid than NAD83.." + } + }, + { + "referenceSystemWKT": "POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),(20 30, 35 35, 30 20, 20 30))" + }, + { + "referenceSystemParameterSet": { + "projection": { + "projectionIdentifier": { + "identifier": "transverseMercator", + "name": "Transverse Mercator" + }, + "scaleFactorAtCentralMeridian": 9.9, + "longitudeOfCentralMeridian": -9.0, + "latitudeOfProjectionOrigin": 9.0, + "falseEasting": 99999.0, + "falseNorthing": 999999.0 + } + } + }, + { + "referenceSystemParameterSet": { + "projection": { + "projectionIdentifier": { + "identifier": "obliqueMercator", + "name": "Oblique Mercator" + }, + "gridIdentifier": { + "identifier": "spcs", + "name": "Alaska State Plane Coordinate System" + }, + "gridZone": "1", + "scaleFactorAtCentralLine": 9.9, + "obliqueLinePoint": [ + { + "obliqueLineLatitude": 9.99999, + "obliqueLineLongitude": -9.99999 + }, + { + "obliqueLineLatitude": 19.99999, + "obliqueLineLongitude": -19.99999 + } + ], + "latitudeOfProjectionOrigin": 9.0, + "falseEasting": 99999.0, + "falseNorthing": 999999.0 + } + } + }, + { + "referenceSystemParameterSet": { + "projection": { + "projectionIdentifier": { + "identifier": "other", + "name": "custom coordinate projection system", + "description": "My projection is... Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + } + }, + { + "referenceSystemParameterSet": { + "projection": { + "projectionIdentifier": { + "identifier": "other", + "name": "custom coordinate projection system", + "description": "My projection is... Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + "gridIdentifier": { + "identifier": "other", + "name": "custom grid system", + "description": "My grid is... Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + } + } + ], + "spatialRepresentationType": ["vector", "stereoModel"], + "spatialRepresentation": [ + { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "column", + "dimensionSize": 9, + "resolution": { + "type": "distance", + "value": 9.9, + "unitOfMeasure": "feet" + }, + "dimensionTitle": "COLUMN TITLE", + "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + }, + { + "dimensionType": "row", + "dimensionSize": 9 + } + ], + "cellGeometry": "voxel", + "transformParamsAvailability": true + } + }, + { + "vectorRepresentation": { + "topologyLevel": "fullTopology3D", + "vectorObject": [ + { + "objectType": "object Type 0", + "objectCount": 9 + }, + { + "objectType": "object Type 1", + "objectCount": 9 + } + ] + } + }, + { + "georectifiedRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "checkPointAvailable": true, + "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "cornerPoints": [ + [0.0, 0.0], + [0.0, 1.0], + [1.0, 1.0], + [1.0, 0.0] + ], + "centerPoint": [0.5, 0.5], + "pointInPixel": "upperRight", + "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + }, + { + "georeferenceableRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "controlPointAvailable": true, + "orientationParameterAvailable": true, + "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "georeferencedParameter": "Georeferenced Parameter 00", + "parameterCitation": [ + { + "title": "title0" + }, + { + "title": "title1" + } + ] + } + } + ], + "spatialResolution": [ + { + "scaleFactor": 63360 + }, + { + "measure": { + "type": "distance", + "value": 99.9, + "unitOfMeasure": "unitOfMeasure" + } + }, + { + "coordinateResolution": { + "abscissaResolutionX": 9.9, + "ordinateResolutionY": 99.9, + "unitOfMeasure": "coord UOM" + } + }, + { + "bearingDistanceResolution": { + "distanceResolution": 9.9, + "distanceUnitOfMeasure": "distance UOM", + "bearingResolution": 19.9, + "bearingUnitOfMeasure": "bearing UOM", + "bearingReferenceDirection": "north", + "bearingReferenceMeridian": "assumed" + } + }, + { + "geographicResolution": { + "latitudeResolution": 19.9, + "longitudeResolution": 119.9, + "unitOfMeasure": "geographic UOM" + } + }, + { + "levelOfDetail": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "scaleFactor": 250000 + }, + { + "coordinateResolution": { + "abscissaResolutionX": 100.0, + "ordinateResolutionY": 500.0, + "unitOfMeasure": "coord UOM" + } + } + ], + "keyword": [ + { + "keyword": [ + { + "keyword": "Barrow" + }, + { + "keyword": "Prudhoe Bay" + }, + { + "keyword": "Kaparuk" + } + ], + "keywordType": "Place Names", + "thesaurus": { + "title": "USGS Geographic Names Information System" + } + }, + { + "keyword": [ + { + "keyword": "Brown Bear", + "keywordId": "TSN12365741" + }, + { + "keyword": "Polar Bear", + "keywordId": "TSN125415741" + }, + { + "keyword": "Black Bear", + "keywordId": "TSN123689426" + }, + { + "keyword": "Cinnamon Bear", + "keywordId": "TSN123842165" + }, + { + "keyword": "Teddy Bear" + } + ], + "keywordType": "Taxonomy" + }, + { + "keyword": [ + { + "keyword": "butter" + }, + { + "keyword": "sugar" + }, + { + "keyword": "eggs" + } + ] + }, + { + "keyword": [ + { + "keyword": "inlandWaters", + "keywordId": "012" + }, + { + "keyword": "location", + "keywordId": "013" + }, + { + "keyword": "climatologyMeteorologyAtmosphere", + "keywordId": "004" + } + ], + "keywordType": "isoTopicCategory" + } + ], + "taxonomy": [ + { + "taxonomicSystem": [ + { + "citation": { + "title": "ITIS - Integrated Taxonomic Information System", + "alternateTitle": ["Citation for ITIS"] + }, + "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "citation": { + "title": "Some OTHER Taxonomic System" + } + } + ], + "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationReference": [ + { + "title": "Non-Authoritative reference one", + "date": [ + { + "date": "2015-02-14", + "dateType": "revision" + } + ], + "edition": "3rd Edition" + }, + { + "title": "Non-Authoritative reference two", + "date": [ + { + "date": "1927-10-23", + "dateType": "publication" + } + ] + } + ], + "observer": [ + { + "role": "coPrincipalInvestigator", + "party": [ + { + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "editor", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "voucher": [ + { + "specimen": "bear claw", + "repository": { + "role": "custodian", + "party": [ + { + "contactId": "CID002" + } + ] + } + }, + { + "specimen": "moose tooth", + "repository": { + "role": "custodian", + "party": [ + { + "contactId": "CID002" + } + ] + } + } + ], + "taxonomicClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "taxon rank", + "taxonomicName": "taxon name", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level two", + "taxonomicName": "name two", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level three", + "taxonomicName": "name three", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level four 1", + "taxonomicName": "name four 1", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level five 1", + "taxonomicName": "name five 1", + "commonName": ["common five 1A", "common five 1B"] + } + ] + }, + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level four 2", + "taxonomicName": "name four 2", + "commonName": ["common four 2A"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level five 2", + "taxonomicName": "name five 2", + "commonName": ["common one", "common two"] + } + ] + } + ] + } + ] + } + ] + }, + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "taxon rank", + "taxonomicName": "taxon name", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level two", + "taxonomicName": "name two", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level three", + "taxonomicName": "name three", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level four 1", + "taxonomicName": "name four 1", + "commonName": ["common one", "common two"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level five 1", + "taxonomicName": "name five 1", + "commonName": ["common five 1A", "common five 1B"] + } + ] + }, + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level four 2", + "taxonomicName": "name four 2", + "commonName": ["common four 2A"], + "subClassification": [ + { + "taxonomicSystemId": "taxon id", + "taxonomicLevel": "level five 2", + "taxonomicName": "name five 2", + "commonName": ["common one", "common two"] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "taxonomicSystem": [ + { + "citation": { + "title": "NCBI - National Center for Biotechnology Information", + "alternateTitle": ["Citation for NCBI"] + } + } + ], + "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationReference": [ + { + "title": "Non-Authoritative reference three", + "date": [ + { + "date": "1984-01-15", + "dateType": "publication" + } + ] + } + ], + "observer": [ + { + "role": "coPrincipalInvestigator", + "party": [ + { + "contactId": "CID006" + } + ] + } + ], + "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "voucher": [ + { + "specimen": "bear claw", + "repository": { + "role": "custodian", + "party": [ + { + "contactId": "CID002" + } + ] + } + } + ], + "taxonomicClassification": { + "taxonomicRank": "taxonomicRank0", + "latinName": "latinName", + "commonName": ["commonName0", "commonName1"], + "subClassification": [ + { + "taxonomicSystemId": "taxonomicSystemId00", + "taxonomicRank": "taxonomicRank00", + "latinName": "latinName", + "commonName": ["commonName0", "commonName1"], + "subClassification": [] + } + ] + } + } + ], + "graphicOverview": [ + { + "fileName": "fileName 0", + "fileDescription": "fileDescription 0", + "fileType": "fileType 0", + "fileConstraint": [ + { + "type": "use", + "useLimitation": ["useLimitation0", "useLimitation1"] + }, + { + "type": "legal", + "legal": { + "useConstraint": ["useConstraint0", "useConstraint1"], + "accessConstraint": ["accessConstraint0", "accessConstraint1"], + "otherConstraint": ["otherConstraint0", "otherConstraint1"] + } + } + ], + "fileUri": [ + { + "uri": "http://ISO.uri/adiwg/0" + } + ] + }, + { + "fileName": "fileName 1", + "fileDescription": "fileDescription 1", + "fileType": "fileType 1", + "fileUri": [ + { + "uri": "http://ISO.uri/adiwg/1" + } + ] + } + ], + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [ + { + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [ + { + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [ + { + "role": "client", + "party": [ + { + "contactId": "CID001" + } + ] + }, + { + "role": "stakeholder", + "party": [ + { + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": ["restricted", "unrestricted"] + }, + "responsibleParty": [ + { + "role": "coAuthor", + "party": [ + { + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [ + { + "contactId": "CID005" + } + ] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [ + { + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": ["threatenedOrEndangered", "otherRestrictions"], + "accessConstraint": ["otherRestrictions", "in-confidence"], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ], + "coverageDescription": [ + { + "coverageName": "My First Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "processing level code" + }, + "attributeGroup": [ + { + "attributeContentType": [ + "thematicClassification", + "physicalMeasurement" + ], + "attribute": [ + { + "sequenceIdentifier": "sequenceIdentifier 1", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "attributeIdentifier": [ + { + "identifier": "identifier 1" + }, + { + "identifier": "identifier 2" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999, + "boundMin": 9.9, + "boundMax": 9.9, + "boundUnits": "boundUnits", + "peakResponse": 9.9, + "toneGradations": 999, + "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "nominalSpatialResolution": 9.9, + "transferFunctionType": "transferFunctionType", + "transmittedPolarization": "transmittedPolarization", + "detectedPolarization": "detectedPolarization" + }, + { + "sequenceIdentifier": "sequenceIdentifier 2", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "attributeDescription", + "attributeIdentifier": [ + { + "identifier": "identifier" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999 + } + ] + }, + { + "attributeContentType": ["modelResult"] + } + ], + "imageDescription": { + "illuminationElevationAngle": 9.9, + "illuminationAzimuthAngle": 9.9, + "imagingCondition": "imagingCondition", + "imageQualityCode": { + "identifier": "identifier" + }, + "cloudCoverPercent": 9.9, + "compressionQuantity": 9, + "triangulationIndicator": true, + "radiometricCalibrationAvailable": true, + "cameraCalibrationAvailable": true, + "filmDistortionAvailable": true, + "lensDistortionAvailable": true + } + }, + { + "coverageName": "My Second Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "identifier" + }, + "attributeGroup": [ + { + "attributeContentType": ["attributeContentType"] + }, + { + "attributeContentType": ["attributeContentType"] + } + ], + "imageDescription": { + "illuminationElevationAngle": 60.0 + } + } + ], + "resourceFormat": [ + { + "formatSpecification": { + "title": "specification 1" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + }, + { + "formatSpecification": { + "title": "specification 2" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + } + ], + "resourceMaintenance": [ + { + "frequency": "semi-annually", + "date": [ + { + "date": "2016-10-12", + "dateType": "dateType" + }, + { + "date": "2016-10-12", + "dateType": "dateType" + } + ], + "scope": [ + { + "scopeCode": "scopeCode" + }, + { + "scopeCode": "scopeCode" + } + ], + "note": ["note0", "note1"], + "contact": [ + { + "role": "custodian", + "party": [ + { + "contactId": "CID005" + } + ] + } + ] + }, + { + "frequency": "frequency1" + } + ], + "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "extent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0, + "minimumAltitude": 250.0, + "maximumAltitude": 1500.0, + "unitsOfAltitude": "meters" + }, + "geographicElement": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [100.0, 0.0], + [101.0, 1.0] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + } + ] + }, + { + "description": "Polygon spans prime meridian", + "containsData": true, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-10.0, 50.0], + [90.0, 50.0], + [90.0, 25.0], + [-10.0, 25.0], + [-10.0, 50.0] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [140, 65], + [-170, 65], + [-170, 55], + [140, 55], + [140, 65] + ] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-162, 65], + [-161, 65], + [-161, 60], + [-162, 60], + [-162, 65] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [100, 55], + [102, 55], + [102, 50], + [100, 50], + [100, 55] + ] + ] + } + ] + } + ], + "temporalExtent": [ + { + "timeInstant": { + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt," + }, + "instantName": ["instantName 20", "instantName 21"], + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timeInstant": { + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "instantName": ["instantName 50"], + "geologicAge": { + "ageTimeScale": "geologic age time scale", + "ageEstimate": "geologic age estimate", + "ageUncertainty": "geologic age uncertainty", + "ageExplanation": "geologic age explanation", + "ageReference": [ + { + "title": "geologic age reference title 1" + }, + { + "title": "geologic age reference title 2" + } + ] + } + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod101", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": ["periodName0", "periodName1"], + "timeInterval": { + "interval": 9, + "units": "year" + }, + "duration": { + "months": 9 + } + } + }, + { + "timePeriod": { + "id": "TimePeriod101", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "startGeologicAge": { + "ageTimeScale": "geologic age time scale", + "ageEstimate": "start geologic age", + "ageUncertainty": "geologic age uncertainty", + "ageExplanation": "geologic age explanation", + "ageReference": [ + { + "title": "geologic age reference title 1" + }, + { + "title": "geologic age reference title 2" + } + ] + }, + "endGeologicAge": { + "ageTimeScale": "geologic age time scale", + "ageEstimate": "end geologic age" + }, + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": ["periodName0", "periodName1"] + } + } + ], + "verticalExtent": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "minValue": 9.9, + "maxValue": 9.9, + "crsId": { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "identifier0" + } + } + }, + { + "minValue": 99.99, + "maxValue": 99.99, + "crsId": { + "referenceSystemType": "referenceSystemType1", + "referenceSystemIdentifier": { + "identifier": "identifier1" + } + } + } + ] + }, + { + "description": "Extent 1m: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [ + { + "type": "MultiPoint", + "coordinates": [ + [100.0, 0.0], + [100.0, 10.0], + [100.0, 20.0] + ] + }, + { + "type": "MultiLineString", + "coordinates": [ + [ + [100.0, 0.0], + [101.0, 1.0] + ], + [ + [110.0, 0.0], + [111.0, 1.0] + ], + [ + [120.0, 0.0], + [121.0, 1.0] + ] + ] + }, + { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ], + [ + [ + [-150, 65], + [-151, 66], + [-152, 67], + [-153, 68] + ] + ] + ] + } + ] + } + ], + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ], + "verticalExtent": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "minValue": 9.9, + "maxValue": 9.9, + "crsId": { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "identifier0" + } + } + }, + { + "minValue": 99.99, + "maxValue": 99.99, + "crsId": { + "referenceSystemType": "referenceSystemType1", + "referenceSystemIdentifier": { + "identifier": "identifier1" + } + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-30, 25], + [-20, 25], + [-20, 20], + [-30, 20], + [-30, 25] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [ + { + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [ + { + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": ["Agashashok River", "Camp Mosquito"], + "identifier": [ + { + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": ["string 1", "string 2"] + } + } + ] + }, + { + "containsData": true, + "geographicElement": [ + { + "type": "FeatureCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "features": [ + { + "type": "Feature", + "id": "ALCC-BH55", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Point", + "coordinates": [102.0, 0.5] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "featureName": ["fake name"] + } + }, + { + "type": "Feature", + "id": "ALCC-BH56", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "LineString", + "coordinates": [ + [102.0, 0.0], + [103.0, 1.0], + [104.0, 0.0], + [105.0, 1.0] + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + }, + { + "type": "Feature", + "id": "ALCC-Co81", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + } + ] + } + ] + }, + { + "description": "Extent 3: Other world coordinates.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-265, 65], + [-260, 65], + [-260, 63], + [-265, 63], + [-265, 65] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [200, 55], + [202, 55], + [202, 50], + [200, 50], + [200, 55] + ] + ] + }, + { + "type": "MultiPoint", + "coordinates": [ + [-150, 61], + [150, 61] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "MultiPoint", + "coordinates": [ + [-150, 61], + [-122, 47], + [-112, 33], + [-105, 39], + [-97, 32], + [-82, 41], + [-81, 39], + [-76, 38], + [-66, 18], + [-118, 34], + [11, 43], + [8, 46], + [98, 8], + [178, -19], + [-157, 21], + [-147, 65], + [-145, 60], + [-148, 70], + [-132, 56] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "MultiPoint", + "coordinates": [ + [-150, 61], + [-122, 47], + [-112, 33], + [-105, 39], + [-97, 32], + [-82, 41], + [-81, 39], + [-76, 38], + [-66, 18], + [-118, 34], + [11, 43], + [8, 46], + [98, 8], + [-147, 65], + [-145, 60], + [-148, 70], + [-132, 56] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-100, 30], + [-95, 40], + [-100, 50], + [0, 45], + [100, 50], + [95, 40], + [100, 30], + [0, 35], + [-100, 30] + ] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-100, 30], + [-95, 40], + [-100, 50], + [0, 45], + [200, 50], + [195, 40], + [200, 30], + [0, 35], + [-100, 30] + ] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [40, 30], + [45, 40], + [40, 50], + [180, 45], + [250, 50], + [245, 40], + [250, 30], + [180, 35], + [40, 30] + ] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-250, 30], + [-245, 40], + [-250, 50], + [-180, 45], + [-50, 50], + [-55, 40], + [-50, 30], + [-180, 35], + [-250, 30] + ] + ] + } + ] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [ + { + "type": "Polygon", + "coordinates": [ + [ + [-200, 40], + [-200, 55], + [-170, 55], + [-170, 40], + [-200, 40] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [220, -40], + [220, -55], + [150, -55], + [150, -40], + [220, -40] + ] + ] + } + ] + } + ] + } + ] + }, + "resourceLineage": [ + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "scope": { + "scopeCode": "scopeCode" + }, + "citation": [ + { + "title": "Lineage Title 1" + }, + { + "title": "Lineage Title 2" + } + ], + "source": [ + { + "sourceId": "Source ID 15", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "sourceCitation": { + "title": "Source Citation Title" + }, + "metadataCitation": [ + { + "title": "First Source Metadata Citation" + }, + { + "title": "Next Source Metadata Citation" + } + ], + "spatialResolution": { + "scaleFactor": 99999 + }, + "referenceSystem": { + "referenceSystemType": "referenceSystemType", + "referenceSystemIdentifier": { + "identifier": "identifier" + } + }, + "sourceProcessStep": [ + { + "description": "description" + }, + { + "description": "description" + } + ], + "scope": { + "scopeCode": "scopeCode" + }, + "processedLevel": { + "identifier": "identifier" + }, + "resolution": { + "groundResolution": { + "value": 999.9, + "unitOfMeasure": "units" + } + } + }, + { + "description": "description" + } + ], + "processStep": [ + { + "stepId": "stepId 001", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": ["periodName0", "periodName1"], + "timeInterval": { + "interval": 7, + "units": "year" + }, + "duration": { + "months": 9 + } + }, + "processor": [ + { + "role": "processor", + "party": [ + { + "contactId": "CID006" + } + ] + }, + { + "role": "reviewer", + "party": [ + { + "contactId": "CID004" + } + ] + } + ], + "reference": [ + { + "title": "Process Step Reference" + }, + { + "title": "Another Process Step Reference" + } + ], + "stepSource": [ + { + "description": "My step source description", + "sourceCitation": { + "title": "title" + } + }, + { + "description": "My other step source description" + } + ], + "stepProduct": [ + { + "description": "My step intermediate product description", + "sourceCitation": { + "title": "title" + } + }, + { + "description": "My other step intermediate product description" + } + ], + "scope": { + "scopeCode": "scopeCode" + }, + "output": [ + { + "description": "description one", + "resolution": { + "scanningResolution": { + "value": 999.9, + "unitOfMeasure": "units" + } + } + }, + { + "description": "description two" + } + ], + "processingInformation": { + "identifier": { + "identifier": "processing info identifier" + }, + "softwareReference": { + "title": "software reference title" + }, + "procedureDescription": "procedure description", + "documentation": [ + { + "title": "documentation title one" + }, + { + "title": "documentation title two" + } + ], + "runtimeParameters": "runtime parameters", + "algorithm": [ + { + "citation": { + "title": "algorithm one citation title" + }, + "description": "algorithm one" + }, + { + "citation": { + "title": "algorithm two citation title" + }, + "description": "algorithm tow" + } + ] + }, + "report": [ + { + "type": "Confidence", + "qualityMeasure": { + "name": ["example name", "test"], + "description": "example description", + "identifier": { + "identifier": "example identifier", + "namespace": "example namespace", + "description": "example description" + } + }, + "conformanceResult": [ + { + "dateTime": "2017-10-13", + "specification": { + "title": "example specification title", + "date": [ + { + "date": "2017-10-13", + "dateType": "publication" + } + ], + "responsibleParty": [ + { + "role": "originator", + "party": [ + { + "contactId": "CID004" + } + ] + } + ] + }, + "explanation": "example explanation", + "pass": true + } + ], + "coverageResult": [ + { + "spatialRepresentationType": "grid", + "spatialRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 2, + "dimension": [ + { + "dimensionType": "type", + "dimensionSize": 1 + } + ], + "cellGeometry": "area" + } + }, + "resourceFormat": { + "formatSpecification": { + "title": "title" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod", + "technicalPrerequisite": "technicalPrerequisite" + }, + "resultFile": { + "fileName": "filename.xml", + "fileDescription": "FGDC CSDGM Metadata", + "fileType": "FGDC CSDGM", + "fileFormat": { + "formatSpecification": { + "title": "FGDC CSDGM", + "identifier": [ + { + "identifier": "FGDC CSDGM" + } + ], + "otherCitationDetails": [ + "Federal Geographic Data Committee Content Standard for Digital\n Geospatial Metadata" + ] + } + } + }, + "resultContentDescription": { + "coverageName": "name", + "coverageDescription": "description", + "processingLevelCode": { + "identifier": "identifier", + "namespace": "namespace", + "version": "version", + "description": "description", + "authority": { + "title": "title" + } + }, + "attributeGroup": [ + { + "attributeContentType": ["attributeContentType"] + } + ], + "imageDescription": { + "illuminationElevationAngle": 9.9, + "illuminationAzimuthAngle": 9.9, + "imagingCondition": "imagingCondition", + "imageQualityCode": { + "identifier": "identifier" + } + } + } + } + ], + "descriptiveResult": [ + { + "dateTime": "2017-10-13", + "scope": { + "scopeCode": "scopeCode" + }, + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "evaluationMethod": { + "type": "evaluationMethod", + "dateTime": ["2019-06-11T08:35:00"], + "methodDescription": "evaluation method description", + "evaluationProcedure": { + "title": "title" + }, + "referenceDocument": [], + "evaluationMethodType": "DQ_EvaluationMethodTypeCode", + "deductiveSource": "deductive source", + "samplingScheme": "sampling scheme", + "lotDescription": "lot description", + "samplingRatio": "sampling ratio" + }, + "quantitativeResult": [ + { + "dateTime": "2017-10-13", + "scope": { + "scopeCode": "scopeCode" + }, + "valueRecordType": "valueType", + "valueUnit": "valueUnit", + "value": [1.2] + } + ] + } + ] + }, + { + "stepId": "stepId 002", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "resourceDistribution": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "liabilityStatement": "Accuracy of this data is absolutely guaranteed.", + "distributor": [ + { + "contact": { + "role": "distributor", + "party": [ + { + "contactId": "CID002" + } + ] + }, + "orderProcess": [ + { + "fees": "10.00USD", + "plannedAvailability": "2016-10-21T00:00:00", + "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "turnaround": "turnaround" + }, + { + "fees": "2.00USD" + } + ], + "transferOption": [ + { + "unitsOfDistribution": "units of distribution", + "transferSize": 9.9, + "onlineOption": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "offlineOption": [ + { + "mediumSpecification": { + "title": "My Medium Specification Title" + }, + "density": 9.9, + "units": "units", + "numberOfVolumes": 9, + "mediumFormat": ["mediumFormat0", "mediumFormat1"], + "note": "note", + "identifier": { + "identifier": "Medium Identifier" + } + }, + { + "mediumSpecification": { + "title": "dium specification title 1" + } + } + ], + "transferFrequency": { + "months": 9 + }, + "distributionFormat": [ + { + "formatSpecification": { + "title": "CSV" + }, + "amendmentNumber": "2.0.8-beta", + "compressionMethod": "7ZipUp", + "technicalPrerequisite": "Must have ArcGIS 10.x or higher installed." + }, + { + "formatSpecification": { + "title": "format specification title 1" + } + } + ] + }, + { + "onlineOption": [ + { + "uri": "http://ISO.uri/adiwg/3" + } + ], + "transferSize": 10.9 + } + ] + }, + { + "contact": { + "role": "distributor", + "party": [ + { + "contactId": "CID003" + } + ] + } + } + ] + } + ], + "associatedResource": [ + { + "resourceType": [ + { + "type": "modelHardcopy", + "name": "Hardcopy of Model" + }, + { + "type": "videoDigital", + "name": "Video of the Making" + } + ], + "associationType": "partOfSeamlessDatabase", + "initiativeType": "investigation", + "resourceCitation": { + "title": "Resource Citation Title" + }, + "metadataCitation": { + "title": "Metadata Citation Title" + } + }, + { + "resourceType": [ + { + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "associationType", + "initiativeType": "initiativeType", + "resourceCitation": { + "title": "title" + }, + "metadataCitation": { + "title": "title" + } + } + ], + "additionalDocumentation": [ + { + "resourceType": [ + { + "type": "webService", + "name": "ADIwg API" + }, + { + "type": "databaseDigital", + "name": "DMV Data" + } + ], + "citation": [ + { + "title": "A Good Additional Document" + }, + { + "title": "A More Better Additional Document" + } + ] + }, + { + "resourceType": [ + { + "type": "multimediaHardcopy", + "name": "Multi-Media Hard-Copy" + }, + { + "type": "physicalObject", + "name": "Lab Specimen" + } + ], + "citation": [ + { + "title": "A Much Mo Betha Additional Document" + } + ] + } + ], + "funding": [ + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "allocation": [ + { + "sourceAllocationID": "A999999X1", + "amount": 9999.99, + "currency": "USD", + "sourceId": "CID005", + "recipientId": "CID006", + "responsibleParty": [ + { + "role": "use", + "party": [ + { + "contactId": "CID001" + } + ] + }, + { + "role": "audit", + "party": [ + { + "contactId": "CID002" + } + ] + } + ], + "matching": true, + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/8" + }, + { + "uri": "http://ISO.uri/adiwg/9" + } + ], + "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "sourceAllocationID": "A999999X2", + "amount": 999.99, + "currency": "CAD" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": ["periodName0", "periodName1"], + "timeInterval": { + "interval": 5, + "units": "year" + }, + "duration": { + "months": 9 + } + } + }, + { + "allocation": [ + { + "amount": 9999.99, + "currency": "EUR" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14" + } + } + ] + }, + "dataDictionary": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "subject": ["subject0", "subject1"], + "citation": { + "title": "title" + }, + "recommendedUse": ["use0", "use1"], + "locale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "responsibleParty": { + "role": "author", + "party": [ + { + "contactId": "CID001" + } + ] + }, + "dictionaryFunctionalLanguage": "SQL", + "dictionaryIncludedWithResource": true, + "domain": [ + { + "domainId": "domainId0", + "commonName": "country", + "codeName": "country", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [ + { + "name": "Canada", + "value": "CAN", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "reference": { + "title": "author defined" + } + }, + { + "name": "United States of America", + "value": "USA", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "reference": { + "title": "GCMD version 8.3" + } + }, + { + "name": "United States of Mexico", + "value": "MEX", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "domainId": "domainId1", + "commonName": "administrative area", + "codeName": "province", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [ + { + "name": "Alberta, CA", + "value": "Alberta", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "California, USA", + "value": "California", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "Jalisco, MEX", + "value": "Jalisco", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "domainId": "domainId2", + "commonName": "time zones", + "codeName": "timezone", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainReference": { + "title": "World Time Zone Reference", + "onlineResource": [ + { + "uri": "https://www.worldtimezone.com" + } + ] + } + }, + { + "domainId": "domainId3", + "commonName": "ID type", + "codeName": "type", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "entity": [ + { + "entityId": "entityId0", + "commonName": "country", + "codeName": "country", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [ + { + "title": "entity reference title 1" + }, + { + "title": "entity reference title 2" + } + ], + "primaryKeyAttributeCodeName": [ + "primaryAttribute0", + "primaryAttribute1" + ], + "index": [ + { + "codeName": "codeName0", + "allowDuplicates": false, + "attributeCodeName": [ + "attributeCodeName00", + "attributeCodeName01" + ] + }, + { + "codeName": "codeName1", + "allowDuplicates": true, + "attributeCodeName": ["attributeCodeName1"] + } + ], + "attribute": [ + { + "commonName": "Common Name for Attribute", + "codeName": "codeName", + "alias": ["alias0", "alias1"], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "domainId", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": ["employeeId", "employeeNumber"], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "dom042", + "minValue": "1000000", + "maxValue": "5000000" + } + ], + "foreignKey": [ + { + "localAttributeCodeName": [ + "localAttributeCodeName0", + "localAttributeCodeName1" + ], + "referencedEntityCodeName": "referencedEntityCodeName", + "referencedAttributeCodeName": [ + "referencedAttributeCodeName0", + "referencedAttributeCodeName1" + ] + }, + { + "localAttributeCodeName": ["employeeID"], + "referencedEntityCodeName": "EMPLOYEE", + "referencedAttributeCodeName": ["employeeID"] + } + ], + "fieldSeparatorCharacter": "tab", + "numberOfHeaderLines": 4, + "quoteCharacter": "double" + }, + { + "entityId": "entityId1", + "commonName": "administrative area", + "codeName": "province", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "primaryKeyAttributeCodeName": ["primaryAttribute"], + "attribute": [ + { + "commonName": "commonName", + "codeName": "codeName", + "alias": ["alias0", "alias1"], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference title" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "unitsResolution": 9.9, + "isCaseSensitive": true, + "fieldWidth": 4, + "missingValue": "-", + "domainId": "domainId", + "minValue": "minValue", + "maxValue": "maxValue", + "valueRange": [ + { + "minRangeValue": "0", + "maxRangeValue": "9" + }, + { + "minRangeValue": "20", + "maxRangeValue": "40" + } + ], + "timePeriod": [ + { + "startDateTime": "2016-10-14", + "endDateTime": "2016-12-31" + }, + { + "startDateTime": "2017-05-22", + "endDateTime": "2017-06-15" + } + ] + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": ["employeeId", "employeeNumber"], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "dom042", + "minValue": "1000000", + "maxValue": "5000000" + } + ] + } + ] + }, + { + "citation": { + "title": "My Dictionary Title" + }, + "subject": ["birds", "loons"], + "recommendedUse": ["Reconstruct database"], + "locale": [ + { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + ], + "responsibleParty": { + "role": "author", + "party": [ + { + "contactId": "CID006" + } + ] + }, + "dictionaryFunctionalLanguage": "MSSQL", + "dictionaryIncludedWithResource": false + } + ], + "metadataRepository": [ + { + "repository": "data.gov", + "citation": { + "title": "My Repository Citation Title", + "alternateTitle": ["alternateTitle0", "alternateTitle1"], + "identifier": [ + { + "identifier": "identifier 0" + }, + { + "identifier": "identifier 1" + } + ] + }, + "metadataStandard": "FGDC" + }, + { + "repository": "dataOne", + "metadataStandard": "iso19115_2" + } + ] +} diff --git a/test/writers/simple_html/testData/metadataLargeGeo.json b/test/writers/simple_html/testData/metadataLargeGeo.json new file mode 100644 index 000000000..e60fa1ce0 --- /dev/null +++ b/test/writers/simple_html/testData/metadataLargeGeo.json @@ -0,0 +1,21201 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.0.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [ + { + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [ + { + "uri": "http://ISO.uri/adiwg/0" + } + ] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + } + ], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + } + ], + "address": [ + { + "addressType": [ + "addressType" + ] + } + ], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal" + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual" + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [ + { + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + } + ] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [ + { + "contactId": "CID002" + } + ] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [ + { + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [ + { + "scopeCode": "dataset", + "scopeDescription": [ + { + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [ + { + "role": "processor", + "party": [ + { + "contactId": "CID004" + } + ] + }, + { + "role": "contributor", + "party": [ + { + "contactId": "CID006" + } + ] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "date type" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "dateTime type" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + } + ] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [ + { + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + } + ] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [ + { + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [ + { + "contactId": "CID006" + } + ] + }, + { + "role": "coPrincipalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID004" + } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "otherResourceLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "credit": [ + "Lim, Sonny B. - Guitar", + "Peterson, Jeff - Slack Key Guitar", + "Kamakawiwo'ole, Israel - Vocal" + ], + "timePeriod": { + "startDateTime": "2016-11-01" + }, + "temporalResolution": [ + { + "years": 1, + "months": 8, + "days": 13 + }, + { + "seconds": 5 + } + ], + "spatialReferenceSystem": [ + { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "spatial reference system identifier", + "namespace": "namespace", + "version": "version", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [ + { + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + } + ] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + } + }, + { + "referenceSystemType": "referenceSystemType1" + }, + { + "referenceSystemIdentifier": { + "identifier": "identifier2" + } + } + ], + "spatialRepresentationType": [ + "vector", + "stereoModel" + ], + "spatialRepresentation": [ + { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "column", + "dimensionSize": 9, + "resolution": { + "type": "distance", + "value": 9.9, + "unitOfMeasure": "feet" + }, + "dimensionTitle": "COLUMN TITLE", + "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + }, + { + "dimensionType": "row", + "dimensionSize": 9 + } + ], + "cellGeometry": "voxel", + "transformParamsAvailability": true + } + }, + { + "vectorRepresentation": { + "topologyLevel": "fullTopology3D", + "vectorObject": [ + { + "objectType": "object Type 0", + "objectCount": 9 + }, + { + "objectType": "object Type 1", + "objectCount": 9 + } + ] + } + }, + { + "georectifiedRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "checkPointAvailable": true, + "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "cornerPoints": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ], + [ + 1.0, + 0.0 + ] + ], + "centerPoint": [ + 0.5, + 0.5 + ], + "pointInPixel": "upperRight", + "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + }, + { + "georeferenceableRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "controlPointAvailable": true, + "orientationParameterAvailable": true, + "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "georeferencedParameter": "Georeferenced Parameter 00", + "parameterCitation": [ + { + "title": "title0" + }, + { + "title": "title1" + } + ] + } + } + ], + "spatialResolution": [ + { + "scaleFactor": 99999 + }, + { + "measure": { + "type": "distance", + "value": 99.9, + "unitOfMeasure": "unitOfMeasure" + } + }, + { + "levelOfDetail": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "keyword": [ + { + "keyword": [ + { + "keyword": "Barrow" + }, + { + "keyword": "Prudhoe Bay" + }, + { + "keyword": "Kaparuk" + } + ], + "keywordType": "Place Names", + "thesaurus": { + "title": "USGS Geographic Names Information System" + } + }, + { + "keyword": [ + { + "keyword": "Brown Bear", + "keywordId": "TSN12365741" + }, + { + "keyword": "Polar Bear", + "keywordId": "TSN125415741" + }, + { + "keyword": "Black Bear", + "keywordId": "TSN123689426" + }, + { + "keyword": "Cinnamon Bear", + "keywordId": "TSN123842165" + }, + { + "keyword": "Teddy Bear" + } + ], + "keywordType": "Taxonomy" + }, + { + "keyword": [ + { + "keyword": "butter" + }, + { + "keyword": "sugar" + }, + { + "keyword": "eggs" + } + ] + }, + { + "keyword": [ + { + "keyword": "inlandWaters", + "keywordId": "012" + }, + { + "keyword": "location", + "keywordId": "013" + }, + { + "keyword": "climatologyMeteorologyAtmosphere", + "keywordId": "004" + } + ], + "keywordType": "isoTopicCategory" + } + ], + "taxonomy": { + "taxonomicSystem": [ + { + "citation": { + "title": "ITIS - Integrated Taxonomic Information System", + "alternateTitle": [ + "Citation for ITIS" + ] + }, + "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "citation": { + "title": "Some OTHER Taxonomic System" + } + } + ], + "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationReference": [ + { + "identifier": "identifier0", + "namespace": "namespace0", + "version": "version0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title0" + } + }, + { + "identifier": "identifier1", + "namespace": "namespace1", + "version": "version1", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title1" + } + } + ], + "observer": [ + { + "role": "coPrincipalInvestigator", + "party": [ + { + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "editor", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "voucher": [ + { + "specimen": "bear claw", + "repository": { + "role": "custodian", + "party": [ + { + "contactId": "CID002" + } + ] + } + }, + { + "specimen": "moose tooth", + "repository": { + "role": "custodian", + "party": [ + { + "contactId": "CID002" + } + ] + } + } + ], + "taxonomicClassification": { + "taxonomicRank": "taxonomicRank0", + "latinName": "latinName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [ + { + "taxonomicSystemId": "taxonomicSystemId00", + "taxonomicRank": "taxonomicRank00", + "latinName": "latinName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [ + { + "taxonomicRank": "taxonomicRank000", + "latinName": "latinName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [ + { + "taxonomicSystemId": "taxonomicSystemId0000.1", + "taxonomicRank": "taxonomicRank0000.1", + "latinName": "latinName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }, + { + "taxonomicSystemId": "taxonomicSystemId0000.2", + "taxonomicRank": "taxonomicRank0000.2", + "latinName": "latinName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + } + ] + } + ] + }, + { + "taxonomicRank": "taxonomicRank01", + "latinName": "latinName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [ + { + "taxonomicRank": "taxonomicRank010", + "latinName": "latinName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + } + ] + } + ] + } + }, + "graphicOverview": [ + { + "fileName": "fileName 0", + "fileDescription": "fileDescription 0", + "fileType": "fileType 0", + "fileConstraint": [ + { + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + } + ], + "fileUri": [ + { + "uri": "http://ISO.uri/adiwg/0" + } + ] + }, + { + "fileName": "fileName 1", + "fileDescription": "fileDescription 1", + "fileType": "fileType 1", + "fileUri": [ + { + "uri": "http://ISO.uri/adiwg/1" + } + ] + } + ], + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [ + { + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [ + { + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [ + { + "role": "client", + "party": [ + { + "contactId": "CID001" + } + ] + }, + { + "role": "stakeholder", + "party": [ + { + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [ + { + "role": "coAuthor", + "party": [ + { + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [ + { + "contactId": "CID005" + } + ] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [ + { + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ], + "coverageDescription": [ + { + "coverageName": "My First Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "processing level code" + }, + "attributeGroup": [ + { + "attributeContentType": [ + "thematicClassification", + "physicalMeasurement" + ], + "attribute": [ + { + "sequenceIdentifier": "sequenceIdentifier 1", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "attributeIdentifier": [ + { + "identifier": "identifier 1" + }, + { + "identifier": "identifier 2" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999, + "boundMin": 9.9, + "boundMax": 9.9, + "boundUnits": "boundUnits", + "peakResponse": 9.9, + "toneGradations": 999, + "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "nominalSpatialResolution": 9.9, + "transferFunctionType": "transferFunctionType", + "transmittedPolarization": "transmittedPolarization", + "detectedPolarization": "detectedPolarization" + }, + { + "sequenceIdentifier": "sequenceIdentifier 2", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "attributeDescription", + "attributeIdentifier": [ + { + "identifier": "identifier" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999 + } + ] + }, + { + "attributeContentType": [ + "modelResult" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 9.9, + "illuminationAzimuthAngle": 9.9, + "imagingCondition": "imagingCondition", + "imageQualityCode": { + "identifier": "identifier" + }, + "cloudCoverPercent": 9.9, + "compressionQuantity": 9, + "triangulationIndicator": true, + "radiometricCalibrationAvailable": true, + "cameraCalibrationAvailable": true, + "filmDistortionAvailable": true, + "lensDistortionAvailable": true + } + }, + { + "coverageName": "My Second Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "identifier" + }, + "attributeGroup": [ + { + "attributeContentType": [ + "attributeContentType" + ] + }, + { + "attributeContentType": [ + "attributeContentType" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 60.0 + } + } + ], + "resourceFormat": [ + { + "formatSpecification": { + "title": "specification 1" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + }, + { + "formatSpecification": { + "title": "specification 2" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + } + ], + "resourceMaintenance": [ + { + "frequency": "semi-annually", + "date": [ + { + "date": "2016-10-12", + "dateType": "dateType" + }, + { + "date": "2016-10-12", + "dateType": "dateType" + } + ], + "scope": [ + { + "scopeCode": "scopeCode" + }, + { + "scopeCode": "scopeCode" + } + ], + "note": [ + "note0", + "note1" + ], + "contact": [ + { + "role": "custodian", + "party": [ + { + "contactId": "CID005" + } + ] + } + ] + }, + { + "frequency": "frequency1" + } + ], + "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "extent": [ + { + "description": "Extent Large: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [ + { + "id": "2005798", + "type": "Feature", + "bbox": [ + -179.99999999994, + 7.206110972617194, + -12.157639504892504, + 83.6235961786649 + ], + "crs": { + "type": "name", + "properties": { + "name": "urn:ogc:def:crs:OGC:1.3:CRS84" + } + }, + "geometry": { + "coordinates": [ + [ + [ + [ + -114.15077971834302, + 28.019506455618625 + ], + [ + -114.061317442823, + 28.517568572768074 + ], + [ + -114.16771699183201, + 28.671871190984973 + ], + [ + -114.94598390505803, + 29.373888007668697 + ], + [ + -115.69667052169702, + 29.774232892008758 + ], + [ + -116.055488584268, + 30.796524037415015 + ], + [ + -116.67562867499299, + 31.560760475155238 + ], + [ + -116.608131420397, + 31.84451100538663 + ], + [ + -117.06584167374702, + 32.36166383599583 + ], + [ + -117.40943909097302, + 33.24415588739998 + ], + [ + -118.53000642667702, + 34.0479125790683 + ], + [ + -119.12917328837503, + 34.11388397782553 + ], + [ + -119.541671779835, + 34.41415404956392 + ], + [ + -120.55832673113702, + 34.561935451937885 + ], + [ + -120.61819459130301, + 35.139438640892465 + ], + [ + -121.86763002302101, + 36.31533815797081 + ], + [ + -121.94325253774201, + 36.59457398258209 + ], + [ + -121.79916379638301, + 36.884017922190274 + ], + [ + -122.388343798519, + 37.220268276139855 + ], + [ + -122.48430631382202, + 37.78992461805765 + ], + [ + -122.023185730611, + 37.45790865522564 + ], + [ + -122.393409741312, + 37.95915984622404 + ], + [ + -122.01583860971603, + 38.066101067717725 + ], + [ + -122.47832486905001, + 38.11957170727394 + ], + [ + -122.45667266240801, + 37.83346555570554 + ], + [ + -122.81696316837301, + 38.02027128869355 + ], + [ + -123.107223505964, + 38.462772362801026 + ], + [ + -123.70152280571901, + 38.9304123180597 + ], + [ + -123.77236176641901, + 39.70971296663839 + ], + [ + -124.331184370552, + 40.27245715049358 + ], + [ + -124.039993262052, + 41.42777253696964 + ], + [ + -124.524436933766, + 42.86610410458482 + ], + [ + -124.131378152221, + 43.920829798624816 + ], + [ + -123.89241790380102, + 45.57260129835821 + ], + [ + -123.951950077987, + 46.18110657986323 + ], + [ + -123.26347351771702, + 46.1448554902191 + ], + [ + -123.16357421137901, + 46.19519041017541 + ], + [ + -124.000000017013, + 46.32360838966543 + ], + [ + -124.04998778488802, + 46.625129706981625 + ], + [ + -123.94124603967602, + 46.39297865218142 + ], + [ + -123.895233148732, + 46.68736269555391 + ], + [ + -124.097503657085, + 46.861381535359406 + ], + [ + -123.801246663411, + 46.97679136623243 + ], + [ + -124.15306089672202, + 47.09110258320635 + ], + [ + -124.655685427117, + 47.99693679487154 + ], + [ + -124.71430970498001, + 48.39707563508805 + ], + [ + -123.93472292242001, + 48.17582699944814 + ], + [ + -122.77749632689, + 48.11048128109844 + ], + [ + -122.630279529204, + 47.91582489824594 + ], + [ + -123.01722716650302, + 47.569717384209035 + ], + [ + -123.147926324095, + 47.37165453194212 + ], + [ + -123.006668096596, + 47.36846539989743 + ], + [ + -122.87610624413402, + 47.41499328591295 + ], + [ + -123.09749604535102, + 47.40082550529654 + ], + [ + -122.51409910713801, + 47.922073347623346 + ], + [ + -122.46003724309901, + 47.76374053861714 + ], + [ + -122.68083190176701, + 47.639228812301845 + ], + [ + -122.53652190497301, + 47.593181638289245 + ], + [ + -122.54776761576802, + 47.28804780743525 + ], + [ + -122.797500583874, + 47.395271302463925 + ], + [ + -122.98006437770701, + 47.18047716032493 + ], + [ + -122.63971711062601, + 47.15193175214085 + ], + [ + -122.31353762416201, + 47.37179563990032 + ], + [ + -122.41832730941, + 47.672218343317546 + ], + [ + -122.29109955739702, + 47.95818707451823 + ], + [ + -122.374404878993, + 48.213428496285374 + ], + [ + -122.528465268603, + 48.182907115737855 + ], + [ + -122.500000007896, + 48.74485397336814 + ], + [ + -122.867561347725, + 49.07912443688917 + ], + [ + -123.08653260809102, + 48.97207258767806 + ], + [ + -123.20736694232102, + 49.12540819288466 + ], + [ + -123.17888641268401, + 49.24541091782168 + ], + [ + -122.918060307843, + 49.29082872383608 + ], + [ + -122.855133072726, + 49.43811414527735 + ], + [ + -123.178947430784, + 49.345882434503466 + ], + [ + -123.20162202191402, + 49.61571501837988 + ], + [ + -123.516532922997, + 49.385475172633555 + ], + [ + -123.9616775386, + 49.51193999672699 + ], + [ + -124.03055573824798, + 49.71651841821358 + ], + [ + -123.63890077634001, + 49.63499449095969 + ], + [ + -123.84827421795, + 49.81056978208179 + ], + [ + -123.748962390886, + 50.08506394139678 + ], + [ + -123.987213123831, + 50.210929877733 + ], + [ + -123.982215862413, + 49.80374145908608 + ], + [ + -124.432777433336, + 49.76763533784657 + ], + [ + -124.74194335639301, + 49.95832825225177 + ], + [ + -124.81809233228803, + 50.06391906655237 + ], + [ + -124.703338604445, + 49.99554445349226 + ], + [ + -124.356521632552, + 50.4959296945096 + ], + [ + -125.07528685183301, + 50.32096861769302 + ], + [ + -124.806938177452, + 50.919578537976996 + ], + [ + -125.11672972329801, + 50.477348328921096 + ], + [ + -125.488327015777, + 50.456382763168506 + ], + [ + -125.467987072814, + 50.71124269216671 + ], + [ + -125.70368195977703, + 50.4295043763998 + ], + [ + -126.27694701240503, + 50.5163116414347 + ], + [ + -126.270210245369, + 50.6273536941248 + ], + [ + -125.62013245054301, + 50.752082815428196 + ], + [ + -125.507858281651, + 50.941482537913004 + ], + [ + -125.61081696294002, + 51.08776856468921 + ], + [ + -125.73110962468603, + 50.73554990640549 + ], + [ + -126.04989624108502, + 50.70680617499049 + ], + [ + -126.50570680910201, + 50.8478126668136 + ], + [ + -126.17929840392901, + 50.948043798684616 + ], + [ + -127.17314912224501, + 50.9222145314351 + ], + [ + -127.06492617493299, + 50.83374024498481 + ], + [ + -127.474685650872, + 51.00119016074442 + ], + [ + -126.82173159301401, + 51.06588363651083 + ], + [ + -126.68930814111499, + 51.112632777961025 + ], + [ + -126.65763853705201, + 51.19033434472593 + ], + [ + -127.19957733487, + 51.05679700999832 + ], + [ + -127.78999331365499, + 51.165542615656406 + ], + [ + -127.132568340315, + 51.328464515898624 + ], + [ + -127.78333283364901, + 51.34999468633971 + ], + [ + -127.551666236061, + 51.46832272658724 + ], + [ + -127.496391269959, + 51.61429980241543 + ], + [ + -126.65930175563999, + 51.65013119815693 + ], + [ + -126.62000275714603, + 51.679992672847035 + ], + [ + -126.660278333338, + 51.79222109256794 + ], + [ + -126.69805147599303, + 51.66457364665271 + ], + [ + -127.17637634018602, + 51.697631859042936 + ], + [ + -127.34725191235499, + 51.85794450085893 + ], + [ + -127.659156793313, + 51.45749665207561 + ], + [ + -127.87610627452602, + 51.668601993646725 + ], + [ + -127.86477661342602, + 51.900894156405144 + ], + [ + -127.580291734103, + 52.12915802978814 + ], + [ + -127.07073971909598, + 52.22379687293005 + ], + [ + -126.67540742272301, + 51.99089429869392 + ], + [ + -127.22805786450799, + 52.45304873249454 + ], + [ + -126.92277526242202, + 52.72262952307716 + ], + [ + -127.019584655948, + 52.836658466516084 + ], + [ + -126.98200989414299, + 52.71846387095277 + ], + [ + -127.61499023287702, + 52.29332731516185 + ], + [ + -127.873046899575, + 52.22332002137345 + ], + [ + -128.05528261308402, + 52.47457123966166 + ], + [ + -128.393890374547, + 52.291381823039146 + ], + [ + -128.13165284441402, + 52.8763809041212 + ], + [ + -128.43861387639902, + 52.820827467312164 + ], + [ + -128.53973389045402, + 53.131935137282674 + ], + [ + -128.853881863619, + 53.27971648203808 + ], + [ + -128.96957396802702, + 53.553184511656404 + ], + [ + -128.523620617716, + 53.39665983202389 + ], + [ + -128.131927512293, + 53.44887542317441 + ], + [ + -127.87092590118802, + 53.23717499667389 + ], + [ + -128.126922587601, + 53.481101968652204 + ], + [ + -128.814849869731, + 53.62123870766663 + ], + [ + -128.606170674666, + 54.02978513916202 + ], + [ + -129.217498806758, + 53.64027405022631 + ], + [ + -129.27279664744503, + 53.379158008576695 + ], + [ + -130.047653173192, + 53.88499448798343 + ], + [ + -130.01896665705002, + 54.14740752438152 + ], + [ + -129.474288958949, + 54.23936462489473 + ], + [ + -130.191680896452, + 54.19332125371003 + ], + [ + -130.481109624749, + 54.364715566159326 + ], + [ + -130.35598754457402, + 54.52518464248174 + ], + [ + -130.242523205824, + 54.43109893792635 + ], + [ + -130.029037466917, + 54.323047636431625 + ], + [ + -129.960128787027, + 54.31964491222653 + ], + [ + -130.27587890306, + 54.59418487833074 + ], + [ + -130.167907691423, + 54.85408781791767 + ], + [ + -129.62374879122203, + 55.000133517501865 + ], + [ + -129.975555418877, + 55.06694032838066 + ], + [ + -129.6630096462, + 55.4122123726774 + ], + [ + -130.078811642631, + 54.992561338344565 + ], + [ + -130.160629251903, + 55.080478683380484 + ], + [ + -129.946380642695, + 55.285408002157894 + ], + [ + -130.128311150465, + 55.735961909807095 + ], + [ + -129.9661102318, + 55.92249297491571 + ], + [ + -130.17443847195403, + 55.75721741236889 + ], + [ + -129.993652327254, + 55.281036363528486 + ], + [ + -130.709259009968, + 54.76787569543077 + ], + [ + -130.910552998241, + 54.79193877964955 + ], + [ + -131.007797239363, + 55.00020219887625 + ], + [ + -130.474151602278, + 55.325931568815875 + ], + [ + -131.058761584936, + 55.12748716616148 + ], + [ + -130.861267082567, + 55.31006242609688 + ], + [ + -130.886398300444, + 55.70790862210931 + ], + [ + -131.207214359269, + 56.01140977223523 + ], + [ + -131.802642810783, + 55.88179776244001 + ], + [ + -131.954986569361, + 55.501106237793074 + ], + [ + -132.143066422512, + 55.56749727283429 + ], + [ + -132.245269781538, + 55.7238769264436 + ], + [ + -131.900848360674, + 56.226932501606335 + ], + [ + -132.905273417826, + 57.03305051885345 + ], + [ + -133.508361801629, + 57.19360348786149 + ], + [ + -133.441314721177, + 57.3554115052752 + ], + [ + -133.640563940474, + 57.69638059231703 + ], + [ + -133.006423969741, + 57.51395035840479 + ], + [ + -133.51779171977702, + 57.745826745325644 + ], + [ + -133.544342026221, + 57.908149700192034 + ], + [ + -133.131103539046, + 57.85332871106144 + ], + [ + -133.557647717303, + 57.92360306707345 + ], + [ + -133.700607306904, + 57.79152296442872 + ], + [ + -134.05972291193999, + 58.07888030395625 + ], + [ + -133.92848208186302, + 58.49138259824345 + ], + [ + -133.774032593827, + 58.51499556593737 + ], + [ + -133.924713133818, + 58.51221466169337 + ], + [ + -134.18055724617, + 58.19707109669185 + ], + [ + -134.757644659287, + 58.38196942345365 + ], + [ + -135.359649640502, + 59.261524193725805 + ], + [ + -135.347839382637, + 59.464157123090054 + ], + [ + -135.488311750012, + 59.22387694771811 + ], + [ + -135.085540776784, + 58.233047460837845 + ], + [ + -135.321243269403, + 58.24971773260983 + ], + [ + -135.470901482525, + 58.47144696501546 + ], + [ + -135.910354590165, + 58.38110353109125 + ], + [ + -136.014434817557, + 58.79442216574271 + ], + [ + -135.76594543175503, + 58.895961758463905 + ], + [ + -136.236511202044, + 58.75172804869957 + ], + [ + -137.064300555309, + 59.061866746627416 + ], + [ + -136.98661806030202, + 58.88788224750911 + ], + [ + -136.189163230455, + 58.61485672875995 + ], + [ + -136.028335593568, + 58.38527298604346 + ], + [ + -136.455413838653, + 58.397575364395166 + ], + [ + -136.65890505472402, + 58.21651841226135 + ], + [ + -138.599533072411, + 59.123218516288894 + ], + [ + -138.43922423342303, + 59.1846427701528 + ], + [ + -139.710540790492, + 59.49582672715352 + ], + [ + -139.481246926966, + 59.98505781333505 + ], + [ + -139.147552476617, + 59.839790368218566 + ], + [ + -139.499999995991, + 60.03305053708876 + ], + [ + -140.403350845876, + 59.69804382306137 + ], + [ + -141.37664797144998, + 59.866386423833646 + ], + [ + -141.256958000289, + 59.99596783815088 + ], + [ + -141.38485718188002, + 60.137908961329465 + ], + [ + -141.730957032642, + 59.95332719117136 + ], + [ + -142.884460429298, + 60.09777069026815 + ], + [ + -143.90057370811599, + 59.99110413665387 + ], + [ + -144.931533802783, + 60.2973556531645 + ], + [ + -144.611389173536, + 60.715545652586826 + ], + [ + -145.28846739133098, + 60.350688929971604 + ], + [ + -145.675292992429, + 60.47082521482971 + ], + [ + -145.717773459693, + 60.64499662869531 + ], + [ + -146.64402770418002, + 60.6940841635203 + ], + [ + -146.125259420805, + 60.84540559522985 + ], + [ + -146.755432120263, + 60.952491785128146 + ], + [ + -146.296813970588, + 61.129295332005455 + ], + [ + -147.36694336427402, + 60.887771631948624 + ], + [ + -147.55096433257202, + 61.15318296757886 + ], + [ + -147.66806031423602, + 60.853050258589406 + ], + [ + -148.050277694722, + 60.94735335813317 + ], + [ + -147.715683011323, + 61.275405910136364 + ], + [ + -148.404174782904, + 61.054435745203754 + ], + [ + -148.20428467188802, + 60.99357603840984 + ], + [ + -148.69236753455303, + 60.78812025845871 + ], + [ + -148.66027829420602, + 60.67124558984753 + ], + [ + -148.229721095504, + 60.76582716009833 + ], + [ + -148.204574608697, + 60.6174888739286 + ], + [ + -148.481094349992, + 60.578117391232915 + ], + [ + -148.687149075319, + 60.451587688592795 + ], + [ + -148.085479722465, + 60.60013196126762 + ], + [ + -147.93785095177, + 60.451377841641516 + ], + [ + -148.36608888647402, + 60.247215253611095 + ], + [ + -148.09887696950702, + 60.20596696016736 + ], + [ + -148.438522326769, + 59.94845962922796 + ], + [ + -149.232772813259, + 59.90290451808296 + ], + [ + -149.419738783581, + 60.116241428139375 + ], + [ + -149.62805175480602, + 59.821937532243375 + ], + [ + -149.73428346082602, + 59.95467759836436 + ], + [ + -149.806320197041, + 59.684711454566624 + ], + [ + -150.90750123527496, + 59.24332426328763 + ], + [ + -151.72332764137698, + 59.16082001312612 + ], + [ + -151.97624207825302, + 59.27582547664493 + ], + [ + -150.997894278816, + 59.78082654393007 + ], + [ + -151.46922303464302, + 59.63673019691486 + ], + [ + -151.87831113862296, + 59.759994480480266 + ], + [ + -151.302642814074, + 60.3883285703239 + ], + [ + -151.40673825277602, + 60.728111290334645 + ], + [ + -150.404174795061, + 61.03680036183536 + ], + [ + -149.22805788299402, + 60.89193728407313 + ], + [ + -150.06201173533202, + 61.157768255987264 + ], + [ + -149.25204468018302, + 61.49249269647966 + ], + [ + -149.42279055287702, + 61.508327498511484 + ], + [ + -151.58361814430205, + 60.97693636211594 + ], + [ + -152.42178345555402, + 60.293258682414596 + ], + [ + -153.078887954226, + 60.2981872624582 + ], + [ + -152.58749392331498, + 60.046382905583584 + ], + [ + -153.225830084032, + 59.86513137542817 + ], + [ + -153.012008659145, + 59.81652069215987 + ], + [ + -153.04264833068402, + 59.70943830508926 + ], + [ + -154.08276367561905, + 59.37443545150831 + ], + [ + -154.256958021689, + 59.132766725428425 + ], + [ + -153.261184685835, + 58.8595733636894 + ], + [ + -153.905288699164, + 58.583049761947564 + ], + [ + -154.235671981268, + 58.13068772492484 + ], + [ + -155.033401478993, + 58.01461026730153 + ], + [ + -155.311126716696, + 57.73443600850691 + ], + [ + -155.60693359384499, + 57.78930280442663 + ], + [ + -155.734436013737, + 57.55138395463349 + ], + [ + -156.48999024993802, + 57.33110809386409 + ], + [ + -156.341659569424, + 57.17082979273549 + ], + [ + -156.552291862266, + 56.97887802709696 + ], + [ + -156.94082643112196, + 56.962493889306366 + ], + [ + -157.20666506631105, + 56.77054598411428 + ], + [ + -157.42793271608903, + 56.85749435710737 + ], + [ + -157.58332824396402, + 56.70735168677337 + ], + [ + -157.470123304163, + 56.62026975385904 + ], + [ + -157.787231433044, + 56.67832948465136 + ], + [ + -158.1156768863, + 56.56058120278496 + ], + [ + -157.882629401278, + 56.467491147685536 + ], + [ + -158.428482057927, + 56.44012830370453 + ], + [ + -158.63742065194, + 56.25874327124653 + ], + [ + -158.12644960598502, + 56.23519898492702 + ], + [ + -158.48944092633602, + 56.043052698885624 + ], + [ + -159.361450194864, + 55.87436294603172 + ], + [ + -159.69998166929705, + 55.56694033141978 + ], + [ + -159.624023410977, + 55.812072742186686 + ], + [ + -159.84263611077802, + 55.850269323953206 + ], + [ + -160.507781976889, + 55.4780426058578 + ], + [ + -161.24888610132, + 55.347907995335476 + ], + [ + -161.509902981354, + 55.36839296432228 + ], + [ + -161.48373411006, + 55.4834633063878 + ], + [ + -161.14527892265698, + 55.53026960549178 + ], + [ + -161.562500007655, + 55.622764575662 + ], + [ + -161.959442110171, + 55.125823947573984 + ], + [ + -162.445037865848, + 55.03642655348867 + ], + [ + -162.63638308045498, + 55.297355680390886 + ], + [ + -162.566940333737, + 54.957977270115656 + ], + [ + -162.873886096792, + 54.93096543866308 + ], + [ + -163.17944336675802, + 55.13957595235277 + ], + [ + -163.05308530993602, + 54.93266294031906 + ], + [ + -163.35290526514902, + 54.80971527097617 + ], + [ + -163.326248191434, + 55.117076867487484 + ], + [ + -162.626922624448, + 55.354438775866285 + ], + [ + -161.80763241842197, + 55.88373945173472 + ], + [ + -161.068328875328, + 55.93498993128901 + ], + [ + -160.67958071431102, + 55.6958236963645 + ], + [ + -160.745544449794, + 55.871376055282624 + ], + [ + -160.25007632271897, + 55.77151869528781 + ], + [ + -160.57402038025097, + 55.9937401057983 + ], + [ + -160.346954340001, + 56.28555297664094 + ], + [ + -159.035003646175, + 56.804992689594066 + ], + [ + -158.639038063739, + 56.762912729237975 + ], + [ + -158.68278504551, + 57.01263048603189 + ], + [ + -158.285278338305, + 57.32416534032349 + ], + [ + -157.785278335266, + 57.5498542959671 + ], + [ + -157.581665025376, + 57.47470857518399 + ], + [ + -157.39791872495803, + 57.4927711428731 + ], + [ + -157.70693967961003, + 57.66499326178853 + ], + [ + -157.551391577676, + 58.38777161675255 + ], + [ + -157.07249450313898, + 58.73943707883119 + ], + [ + -156.78181458688204, + 59.15124132374589 + ], + [ + -157.11193847003702, + 58.87443544846911 + ], + [ + -158.19096377266, + 58.60680009239059 + ], + [ + -158.526733414606, + 58.849227885943506 + ], + [ + -158.47154234119003, + 58.97512816296701 + ], + [ + -157.99276736047202, + 58.90499116970388 + ], + [ + -158.44862367765901, + 59.09871672402869 + ], + [ + -158.91139221052802, + 58.76707459069147 + ], + [ + -158.71089174565302, + 58.492771148951675 + ], + [ + -158.89752197237704, + 58.39554597958708 + ], + [ + -159.62089541227002, + 58.944087984520195 + ], + [ + -159.91430662315298, + 58.77040863352209 + ], + [ + -160.32276916196298, + 59.058326717291806 + ], + [ + -161.36111452104103, + 58.66332244362389 + ], + [ + -162.07839963365404, + 58.61985018735048 + ], + [ + -161.655853264532, + 58.80290604405158 + ], + [ + -161.79278566019002, + 59.017211926150715 + ], + [ + -161.568405165397, + 59.106658929853005 + ], + [ + -161.994018572744, + 59.14707567162152 + ], + [ + -161.95582579380502, + 59.38068770371351 + ], + [ + -161.70964051830998, + 59.49693680715446 + ], + [ + -162.38418576471005, + 60.33249666280749 + ], + [ + -162.221923827944, + 60.581665026223995 + ], + [ + -161.87942502461698, + 60.70221708691983 + ], + [ + -162.27972410216802, + 60.59915924401552 + ], + [ + -162.463897702144, + 60.368049645460296 + ], + [ + -162.510696395592, + 60.00082779443866 + ], + [ + -163.659454324124, + 59.794994382165065 + ], + [ + -164.138198824602, + 59.84762955198105 + ], + [ + -164.21421815864, + 59.95005796926868 + ], + [ + -164.09422303935904, + 59.97776796533136 + ], + [ + -165.13839721153005, + 60.440959937312 + ], + [ + -164.97964476623903, + 60.54040906950622 + ], + [ + -165.422439579984, + 60.55214690078803 + ], + [ + -164.710144065515, + 60.90901947123624 + ], + [ + -164.270919818965, + 60.78290560205223 + ], + [ + -164.252563454021, + 60.642742185624925 + ], + [ + -163.951385485958, + 60.780548079301305 + ], + [ + -163.786819438886, + 60.57770155777671 + ], + [ + -163.42715455571, + 60.702701544131926 + ], + [ + -163.673049952015, + 60.99068450644835 + ], + [ + -164.159179659284, + 60.86804964849966 + ], + [ + -164.89472963850102, + 60.952632893086246 + ], + [ + -165.15029908297305, + 60.928047208140335 + ], + [ + -164.82208249080801, + 61.10305023129975 + ], + [ + -165.286331187964, + 61.21405028002837 + ], + [ + -164.719360333884, + 61.6253356694252 + ], + [ + -165.19764711218102, + 61.40651704073847 + ], + [ + -165.386688216482, + 61.06860352582016 + ], + [ + -165.87359617821804, + 61.33263017118867 + ], + [ + -165.79306029476402, + 61.51971437488369 + ], + [ + -166.19735718145, + 61.5902672016031 + ], + [ + -166.14770509955503, + 61.7137756151882 + ], + [ + -165.82695005883, + 61.68124006114369 + ], + [ + -166.014678957071, + 61.8092422647963 + ], + [ + -165.75613403033304, + 61.841377254314196 + ], + [ + -165.70153809946504, + 62.11596677241695 + ], + [ + -165.267242432959, + 62.43471524530069 + ], + [ + -164.689178442144, + 62.61415864608257 + ], + [ + -164.493362427292, + 62.746730811595164 + ], + [ + -164.878601096832, + 62.735549921727696 + ], + [ + -164.754180926477, + 62.98249051948679 + ], + [ + -164.15223696336204, + 63.259582528744936 + ], + [ + -163.067092910836, + 63.058879880192116 + ], + [ + -162.30598447180301, + 63.54062273752053 + ], + [ + -161.15167234043798, + 63.51249696562054 + ], + [ + -160.78125000650698, + 63.87457272637317 + ], + [ + -161.18902590442804, + 64.41415405905933 + ], + [ + -161.529174790659, + 64.41886904694263 + ], + [ + -161.01716614890503, + 64.51047513492772 + ], + [ + -160.78279113127502, + 64.71915432999208 + ], + [ + -161.174575792658, + 64.93803403439766 + ], + [ + -161.425704974745, + 64.77082824865806 + ], + [ + -162.10777284830402, + 64.71623992344536 + ], + [ + -162.79028317511296, + 64.33610534021282 + ], + [ + -163.17001344861, + 64.65525818045076 + ], + [ + -163.35263059727, + 64.59068299567593 + ], + [ + -163.04055787332103, + 64.51831817913674 + ], + [ + -163.138748154282, + 64.41268922132105 + ], + [ + -163.82192991067, + 64.58915708221885 + ], + [ + -165.02862547617502, + 64.44386290207039 + ], + [ + -166.121368385271, + 64.57470702806737 + ], + [ + -166.489639298193, + 64.73657986640903 + ], + [ + -166.422241205213, + 64.91914366024247 + ], + [ + -166.6966705436, + 64.99588777868527 + ], + [ + -166.919738774715, + 65.13136294226099 + ], + [ + -166.959793095472, + 65.17990874698278 + ], + [ + -166.05416867314, + 65.25002286566041 + ], + [ + -167.462356550149, + 65.42012024098011 + ], + [ + -168.126373264501, + 65.66998290855996 + ], + [ + -166.259887712487, + 66.18012240284028 + ], + [ + -165.51129149875703, + 66.15713500031647 + ], + [ + -165.88737486041, + 66.23651125177079 + ], + [ + -164.36193848529504, + 66.59387968791447 + ], + [ + -163.642364473687, + 66.56671902761073 + ], + [ + -164.06222535497102, + 66.18942262151329 + ], + [ + -163.656402612447, + 66.07054138506057 + ], + [ + -161.840545662407, + 66.00846097054848 + ], + [ + -161.52334591994702, + 66.26860049211828 + ], + [ + -161.015563948418, + 66.18386841868067 + ], + [ + -161.15863036290904, + 66.34664915334629 + ], + [ + -161.87222287212603, + 66.37109373033412 + ], + [ + -161.93000793503901, + 66.55123137766063 + ], + [ + -162.63375855309903, + 66.86581419842007 + ], + [ + -162.32957456491198, + 66.95574951978087 + ], + [ + -161.594299311193, + 66.44719695705811 + ], + [ + -161.18612670919202, + 66.53858945288275 + ], + [ + -160.63833616607704, + 66.36526491724062 + ], + [ + -160.23500058816, + 66.39804840413291 + ], + [ + -160.20930482321302, + 66.52137756624485 + ], + [ + -160.24026491180203, + 66.64414978694253 + ], + [ + -160.87110898321902, + 66.66554259463454 + ], + [ + -161.497283931161, + 66.5333175812037 + ], + [ + -161.89779665849102, + 66.72831725569154 + ], + [ + -161.721099878885, + 66.95067597133247 + ], + [ + -161.498535176739, + 66.9604644500454 + ], + [ + -161.81610108542, + 67.04721069697995 + ], + [ + -163.727203372014, + 67.11220551803888 + ], + [ + -164.124145532149, + 67.60998536107635 + ], + [ + -166.37915038409002, + 68.3105316357803 + ], + [ + -166.23242184644405, + 68.87233732783365 + ], + [ + -163.99331667508204, + 68.99165346950018 + ], + [ + -163.156951887548, + 69.35220337441412 + ], + [ + -162.98275754147903, + 69.72526550463124 + ], + [ + -161.94223022353302, + 70.30720521076208 + ], + [ + -161.812744168004, + 70.2528304777098 + ], + [ + -162.114212015256, + 70.15429684749499 + ], + [ + -160.16390989178404, + 70.58970639682964 + ], + [ + -159.93197628958998, + 70.58414458834143 + ], + [ + -160.006134024192, + 70.41998290862333 + ], + [ + -159.836120599176, + 70.26832579093409 + ], + [ + -159.86305234077102, + 70.4376220948195 + ], + [ + -159.305648825207, + 70.53067780923183 + ], + [ + -160.036254897832, + 70.62997436736575 + ], + [ + -159.672363286813, + 70.79608914486195 + ], + [ + -159.17097473306504, + 70.87747956981336 + ], + [ + -159.445419282763, + 70.77818301167927 + ], + [ + -159.22387696510503, + 70.70443725008757 + ], + [ + -157.97943113153, + 70.83749387281217 + ], + [ + -156.596725484927, + 71.35144040103322 + ], + [ + -155.592498751005, + 71.16831972340403 + ], + [ + -156.177291845582, + 70.91776275166066 + ], + [ + -155.91070555140402, + 70.82263184565097 + ], + [ + -155.09443663443304, + 71.1501312014492 + ], + [ + -154.61415100918703, + 71.0213775359793 + ], + [ + -154.61262509573, + 70.82762144379505 + ], + [ + -154.20361327877998, + 70.77651979309177 + ], + [ + -153.222503646857, + 70.92858888379088 + ], + [ + -152.37915041423003, + 70.86164857060949 + ], + [ + -152.217224105825, + 70.81304169016887 + ], + [ + -152.492691040011, + 70.64609530337884 + ], + [ + -152.07736203469003, + 70.57839200465953 + ], + [ + -152.61946106984303, + 70.55838774767562 + ], + [ + -151.73664854377003, + 70.55859373418055 + ], + [ + -151.73831176235802, + 70.44581603631923 + ], + [ + -151.27334594407202, + 70.3944397177365 + ], + [ + -149.54306028241902, + 70.51165773560173 + ], + [ + -145.024871848349, + 69.98706818717008 + ], + [ + -142.888198839483, + 70.07540891369919 + ], + [ + -141.382080080463, + 69.63970948517402 + ], + [ + -139.143066407442, + 69.51081845695523 + ], + [ + -137.41915895226, + 68.98887636808388 + ], + [ + -135.160003659506, + 68.65721130254275 + ], + [ + -135.617553733141, + 68.88658139548018 + ], + [ + -134.810287492378, + 68.92442321950956 + ], + [ + -134.28277587412504, + 68.68136594272126 + ], + [ + -134.225128173961, + 68.69752502224955 + ], + [ + -134.619155869931, + 68.98803709551575 + ], + [ + -134.55860903215, + 69.08526612532667 + ], + [ + -133.073059077184, + 69.43498229245502 + ], + [ + -132.89389040190002, + 69.65386960251624 + ], + [ + -132.37277220143, + 69.64694211790534 + ], + [ + -132.535964966724, + 69.74039459401622 + ], + [ + -132.146972675687, + 69.68525693304484 + ], + [ + -131.417007437162, + 69.95401763805408 + ], + [ + -131.19068911352102, + 69.82485199957455 + ], + [ + -130.892242440085, + 70.09915163848656 + ], + [ + -129.969299306226, + 70.0705490150301 + ], + [ + -129.682647679345, + 70.26548006576189 + ], + [ + -129.40747068196802, + 70.10317992786197 + ], + [ + -130.923889169564, + 69.56526181376336 + ], + [ + -131.053070076973, + 69.63720705163716 + ], + [ + -132.001815800669, + 69.52928925244512 + ], + [ + -132.11663820988701, + 69.35720824148792 + ], + [ + -132.76403806491302, + 69.25165557070241 + ], + [ + -133.49192811184005, + 68.82415768933268 + ], + [ + -133.321380619995, + 68.74636842705436 + ], + [ + -133.04583739878, + 68.69094849254792 + ], + [ + -132.91833497888803, + 68.69026185165863 + ], + [ + -133.354156501232, + 68.83221438332065 + ], + [ + -132.47825624845902, + 68.80463408673296 + ], + [ + -132.772811880031, + 68.85968779740038 + ], + [ + -132.868103023375, + 69.06401062276508 + ], + [ + -131.870132459723, + 69.28137968264332 + ], + [ + -131.727081314162, + 69.3999862512165 + ], + [ + -131.964508043469, + 69.3999176274607 + ], + [ + -131.64570615814, + 69.4727630407654 + ], + [ + -131.239562998566, + 69.49123383625532 + ], + [ + -131.414733864716, + 69.2991561739697 + ], + [ + -131.13458253812502, + 69.36463164941291 + ], + [ + -131.130966164141, + 69.61442563561835 + ], + [ + -130.900695780535, + 69.34679413998612 + ], + [ + -130.364288310964, + 69.68012236649615 + ], + [ + -128.894042951647, + 69.97039797301676 + ], + [ + -129.151382439596, + 69.70081332198794 + ], + [ + -128.925018309165, + 69.68081667065954 + ], + [ + -128.317352300228, + 69.95332339150939 + ], + [ + -128.34304812279402, + 70.1169280721945 + ], + [ + -127.58500672198602, + 70.2294311597949 + ], + [ + -128.197769153957, + 70.39720915587873 + ], + [ + -128.00180056504502, + 70.58956909169925 + ], + [ + -127.18096162859501, + 70.27638242730352 + ], + [ + -126.26166534896001, + 69.53241730877092 + ], + [ + -125.420837424456, + 69.31259917018188 + ], + [ + -125.08944702679402, + 69.44970701448592 + ], + [ + -125.617011999872, + 69.42066954343423 + ], + [ + -125.26027679217302, + 69.52497102626053 + ], + [ + -125.363533015927, + 69.68927767438325 + ], + [ + -125.07250214476102, + 69.74317169543266 + ], + [ + -125.27639772818601, + 69.80824280352164 + ], + [ + -124.764450046914, + 69.97082521495636 + ], + [ + -125.19755554356102, + 70.00267026766538 + ], + [ + -124.56222534535102, + 70.01207731122776 + ], + [ + -124.423606856519, + 70.05636596548376 + ], + [ + -124.74568937223401, + 70.12428285636358 + ], + [ + -124.43611147616701, + 70.1510925041392 + ], + [ + -124.35861203546101, + 70.06860352290758 + ], + [ + -124.496734600978, + 69.72380066689306 + ], + [ + -124.040832534619, + 69.70138547471346 + ], + [ + -124.446662882799, + 69.3672027643244 + ], + [ + -123.47194672627602, + 69.3824844277695 + ], + [ + -123.165969820027, + 69.49832155820053 + ], + [ + -122.96104430407699, + 69.83200073962007 + ], + [ + -121.683883664985, + 69.79359436852087 + ], + [ + -117.87053679959901, + 68.98553466197886 + ], + [ + -115.96000672334802, + 68.80470276810746 + ], + [ + -116.31971741331301, + 68.95630647335194 + ], + [ + -115.593063343034, + 68.97164915489748 + ], + [ + -114.06652069074599, + 68.46970365973571 + ], + [ + -114.021041866631, + 68.24401090126432 + ], + [ + -115.23229218268499, + 68.18171689459147 + ], + [ + -115.21250151786201, + 68.02290343120107 + ], + [ + -115.53582761588001, + 67.92095186547007 + ], + [ + -115.108612065664, + 67.79762270335794 + ], + [ + -112.39584349030899, + 67.67915343991524 + ], + [ + -111.01208497897701, + 67.76416018123203 + ], + [ + -110.07736967314801, + 68.00555418181416 + ], + [ + -109.73151395240502, + 67.71859740681303 + ], + [ + -109.06277464451401, + 67.71207428955634 + ], + [ + -108.82806394090399, + 67.3515091157124 + ], + [ + -108.66277310942701, + 67.62844849329186 + ], + [ + -108.49262998493701, + 67.3572693050499 + ], + [ + -108.38409422623, + 67.44435118034569 + ], + [ + -108.020561233395, + 67.29470823615341 + ], + [ + -107.87790679191401, + 67.05054473981066 + ], + [ + -108.621246345277, + 67.15193175847179 + ], + [ + -107.25415804809802, + 66.35151671528963 + ], + [ + -107.74665829856302, + 66.92275998876515 + ], + [ + -107.643478419458, + 67.07498931679848 + ], + [ + -107.48735810718, + 66.92102048314744 + ], + [ + -107.66792299644601, + 66.93853757552417 + ], + [ + -107.567359923805, + 66.83568571912487 + ], + [ + -107.42041013072401, + 66.80664824807315 + ], + [ + -107.414024376217, + 66.97206877902457 + ], + [ + -107.15527346297301, + 66.89971923141516 + ], + [ + -107.648620591662, + 67.3599853307473 + ], + [ + -107.578407311369, + 67.48626710053962 + ], + [ + -107.99645994804301, + 67.69581604841284 + ], + [ + -107.65833284096401, + 67.94046019913998 + ], + [ + -107.88791658368, + 68.08499145136898 + ], + [ + -106.848609915835, + 68.1166534497767 + ], + [ + -106.42639162703702, + 68.35081481762752 + ], + [ + -105.72666929835201, + 68.4219207829335 + ], + [ + -105.65180204827601, + 68.63610076838563 + ], + [ + -106.543876649507, + 68.51193239132421 + ], + [ + -106.56443784790501, + 68.2905349844519 + ], + [ + -106.78755949146502, + 68.4105377093888 + ], + [ + -107.88346860040201, + 68.265060417321 + ], + [ + -107.624023440615, + 68.16443632657919 + ], + [ + -108.394310004502, + 68.11401365349089 + ], + [ + -108.39903259804, + 68.29206084029038 + ], + [ + -108.81597135188498, + 68.2660980131198 + ], + [ + -108.31416321947201, + 68.61137391786275 + ], + [ + -106.208061200771, + 68.94094846525816 + ], + [ + -105.48020174932202, + 68.72380066081455 + ], + [ + -105.525421116869, + 68.4073486349628 + ], + [ + -104.88474275994902, + 68.33970641196252 + ], + [ + -104.500488273763, + 68.03338621407737 + ], + [ + -103.421661351989, + 68.16665648658099 + ], + [ + -103.36763002580899, + 68.00832367757496 + ], + [ + -102.25110624841001, + 67.72526549247432 + ], + [ + -100.39555359579698, + 67.84748837741326 + ], + [ + -98.9869384768486, + 67.71832273893365 + ], + [ + -98.52888487424408, + 67.77748108362495 + ], + [ + -98.72194671988368, + 67.95123291882537 + ], + [ + -98.61555483414868, + 68.0747070493419 + ], + [ + -98.094451902608, + 67.76609801008044 + ], + [ + -97.509735095061, + 67.59915162329055 + ], + [ + -97.119781495256, + 67.78858948929017 + ], + [ + -97.6830596883217, + 68.01860047394626 + ], + [ + -98.1112442105806, + 67.83887479962944 + ], + [ + -98.58354188083129, + 68.14609528818278 + ], + [ + -98.3297271532875, + 68.17213440238349 + ], + [ + -98.7102126914296, + 68.3619995103227 + ], + [ + -98.09666445695439, + 68.31776426851148 + ], + [ + -97.8444442666236, + 68.54137422973014 + ], + [ + -97.2591705176622, + 68.46665955371422 + ], + [ + -96.93916319354501, + 68.23970033835388 + ], + [ + -96.4073638869675, + 68.31345364798251 + ], + [ + -96.80305480152478, + 68.05525967615375 + ], + [ + -96.7083435317991, + 68.00860595110997 + ], + [ + -95.98028564188189, + 68.25471493957507 + ], + [ + -96.454864490235, + 67.47456360994512 + ], + [ + -96.19110104664391, + 67.42053983180229 + ], + [ + -96.24951173234568, + 67.2490845012526 + ], + [ + -96.1222152989585, + 67.21498869306379 + ], + [ + -95.57138825547692, + 67.37845612623721 + ], + [ + -95.32736206426459, + 67.02207181582887 + ], + [ + -96.11054995187911, + 66.95082093973716 + ], + [ + -96.4555511311242, + 67.06414797335717 + ], + [ + -95.8836212167596, + 66.76887510541833 + ], + [ + -96.0890960684681, + 66.91349030795153 + ], + [ + -95.22472380002571, + 66.97796633111106 + ], + [ + -95.3493042077155, + 67.151100149178 + ], + [ + -95.16804507190449, + 67.28296660204389 + ], + [ + -95.3345870913403, + 67.34609988128452 + ], + [ + -95.32472226797871, + 67.52928924028822 + ], + [ + -95.7063903703241, + 67.72949216269924 + ], + [ + -95.4703445284511, + 68.05942532827815 + ], + [ + -94.7165298554867, + 68.05879209983368 + ], + [ + -93.5533294784588, + 68.5863800051163 + ], + [ + -93.66694639126939, + 68.97221375958608 + ], + [ + -93.92555239372659, + 68.97470092419317 + ], + [ + -94.075424199009, + 68.84554289136928 + ], + [ + -93.81687166661519, + 68.88616942247036 + ], + [ + -94.09333038981029, + 68.75888059473873 + ], + [ + -94.6249999969128, + 68.76138302827563 + ], + [ + -94.5990981878425, + 68.96186067618456 + ], + [ + -94.07264709759271, + 69.13581849788982 + ], + [ + -94.32298281390129, + 69.15290068505288 + ], + [ + -94.28791809128829, + 69.3163757238819 + ], + [ + -93.53326414575591, + 69.43177794909923 + ], + [ + -93.84874725718359, + 69.16963958058071 + ], + [ + -93.3675689469251, + 69.37393186808592 + ], + [ + -93.44040681219302, + 69.47790527058822 + ], + [ + -94.2791748140296, + 69.44026182740822 + ], + [ + -94.5919494477969, + 69.63720705163716 + ], + [ + -95.9681930528629, + 69.77999113497437 + ], + [ + -96.57028198438209, + 70.22942349652071 + ], + [ + -95.81666563464839, + 70.70970917938516 + ], + [ + -96.20278932592731, + 70.62164306311706 + ], + [ + -96.6079101586324, + 70.79123685184847 + ], + [ + -96.43096924900601, + 71.0804138444701 + ], + [ + -96.50041960137989, + 71.2788696556077 + ], + [ + -96.0370864638223, + 71.41790005983026 + ], + [ + -95.5431899993745, + 71.29039763993822 + ], + [ + -95.5477752877829, + 71.48776244283253 + ], + [ + -95.9004211303877, + 71.60623170627545 + ], + [ + -95.28819276524611, + 71.7600555139033 + ], + [ + -95.2161102222419, + 71.94414522119389 + ], + [ + -94.5302886695687, + 71.99443053153318 + ], + [ + -94.39076234203202, + 71.93365477504352 + ], + [ + -94.41715241114241, + 71.66234588732667 + ], + [ + -93.73430634073479, + 71.7677688586374 + ], + [ + -93.8095855638206, + 71.64859774299416 + ], + [ + -92.98353577379189, + 71.34685517024343 + ], + [ + -92.85444642234239, + 71.15138244702679 + ], + [ + -92.98249817799321, + 70.82554625219757 + ], + [ + -92.20360564197802, + 70.60845186019887 + ], + [ + -92.24402618657419, + 70.49429321728515 + ], + [ + -91.51348113204989, + 70.15630341533658 + ], + [ + -92.2683410640872, + 70.20887756705231 + ], + [ + -92.4412536843381, + 70.0733261164463 + ], + [ + -91.94318390449169, + 70.01804354468888 + ], + [ + -92.7769470392546, + 69.71429446171513 + ], + [ + -91.8022918432137, + 69.5041503712939 + ], + [ + -91.19541169439981, + 69.65456390667975 + ], + [ + -91.0973587185693, + 69.63088992088544 + ], + [ + -91.360824562077, + 69.54553222465881 + ], + [ + -90.31340023976131, + 69.44811247727283 + ], + [ + -90.8100661999699, + 69.2551345819375 + ], + [ + -91.2147217048389, + 69.2902679283066 + ], + [ + -90.43638611023812, + 68.87442018270515 + ], + [ + -90.55776978022757, + 68.47470092115393 + ], + [ + -90.2631988797263, + 68.2358169597643 + ], + [ + -89.9122161980905, + 68.46720888947301 + ], + [ + -89.71194459430511, + 69.0104064809064 + ], + [ + -89.3144454927558, + 69.24929810556996 + ], + [ + -88.9688873144778, + 69.24136350540132 + ], + [ + -88.0452728086584, + 68.81859588084455 + ], + [ + -87.8005523709013, + 68.31192018648842 + ], + [ + -87.93527221221339, + 68.19720460216021 + ], + [ + -88.221939108024, + 68.3655395396583 + ], + [ + -88.3891677683489, + 68.28873446073389 + ], + [ + -88.3712463662365, + 67.96282958453035 + ], + [ + -88.1322250420979, + 67.65998839788062 + ], + [ + -87.3591613767947, + 67.25352476363788 + ], + [ + -87.51042173278529, + 67.11463166454566 + ], + [ + -86.96694181019849, + 67.24907683797859 + ], + [ + -87.08715057925902, + 67.34686280920369 + ], + [ + -86.8744354315451, + 67.40498350047778 + ], + [ + -86.52938078223659, + 67.3502578701347 + ], + [ + -86.5233383193642, + 67.67664334310402 + ], + [ + -85.9139633426689, + 68.09193420490958 + ], + [ + -85.636459360401, + 68.73963926567424 + ], + [ + -84.77139284541379, + 68.74220277492994 + ], + [ + -85.1848144445083, + 68.85974120984507 + ], + [ + -84.74554444878818, + 69.03970335090767 + ], + [ + -85.47555543648342, + 69.27415465556757 + ], + [ + -85.55499264841951, + 69.85970307240856 + ], + [ + -82.2590331789751, + 69.63721465729273 + ], + [ + -82.48854063466152, + 69.49768827213754 + ], + [ + -83.22805788515329, + 69.53858947111812 + ], + [ + -82.2288894883688, + 69.39408875674862 + ], + [ + -82.2730560488055, + 69.23748779008599 + ], + [ + -81.3357010043093, + 69.1849823197448 + ], + [ + -81.7166595335615, + 68.94914246437665 + ], + [ + -81.3541717421805, + 68.85748290632814 + ], + [ + -81.2590332305153, + 68.64179227634854 + ], + [ + -81.964447009544, + 68.42220305646833 + ], + [ + -82.38832857454811, + 68.4676284681385 + ], + [ + -82.4261016595843, + 68.276657083026 + ], + [ + -82.0997237922705, + 67.90484619838674 + ], + [ + -81.2422179903389, + 67.47012328994133 + ], + [ + -81.5022201491597, + 67.00096128167176 + ], + [ + -81.9297180305294, + 66.97859189628129 + ], + [ + -82.5810775511744, + 66.57647702608273 + ], + [ + -83.4022216933634, + 66.34748842591422 + ], + [ + -83.67680360581049, + 66.52276611695305 + ], + [ + -83.975067167326, + 66.58220673517934 + ], + [ + -84.0113982892094, + 66.66360470816763 + ], + [ + -84.29096985741909, + 66.72525788074034 + ], + [ + -84.43611146350712, + 66.98136899769759 + ], + [ + -84.8443069400932, + 67.03054808848235 + ], + [ + -84.64569855489529, + 66.97922518234448 + ], + [ + -85.2270813196117, + 66.87469483842763 + ], + [ + -84.60221863534781, + 66.93580628089714 + ], + [ + -84.4379425250846, + 66.71960451629234 + ], + [ + -84.14875792680739, + 66.68358614818494 + ], + [ + -83.7678985591705, + 66.16864011006167 + ], + [ + -84.51465604804912, + 66.40332033343041 + ], + [ + -84.6309051514901, + 66.33164976343599 + ], + [ + -84.3736038070554, + 66.16345979434259 + ], + [ + -85.22125244889969, + 66.2633208995466 + ], + [ + -85.48583223285482, + 66.58165739942051 + ], + [ + -86.75792692915451, + 66.52845762491593 + ], + [ + -86.6450042628886, + 66.3197098060957 + ], + [ + -85.8972625906561, + 66.168022150547 + ], + [ + -86.5302886785605, + 65.69552609944684 + ], + [ + -87.3958435112061, + 65.32138062426051 + ], + [ + -88.07028199033469, + 65.35609433434531 + ], + [ + -88.8293075744964, + 65.64276123015604 + ], + [ + -88.5133362030289, + 65.64443971767324 + ], + [ + -89.66819000687819, + 65.93720243118234 + ], + [ + -89.9955520575458, + 65.94591522820019 + ], + [ + -89.7933349616379, + 65.82249451012837 + ], + [ + -90.04861452691992, + 65.88832094048095 + ], + [ + -91.42916869489629, + 65.95109560153807 + ], + [ + -89.9600067381671, + 65.78887941394235 + ], + [ + -89.0574951032307, + 65.33068844858903 + ], + [ + -86.9351272377305, + 65.14290619552139 + ], + [ + -87.98735810388922, + 64.188446031658 + ], + [ + -88.7366638330939, + 63.9683227449488 + ], + [ + -89.2852783222293, + 64.13929747873279 + ], + [ + -89.03555295977979, + 63.946586588002916 + ], + [ + -89.7269439842153, + 64.04748534662419 + ], + [ + -89.80326080309979, + 64.22248842740201 + ], + [ + -90.11784362385919, + 64.12594603848041 + ], + [ + -89.82604216150003, + 63.924159987339756 + ], + [ + -89.94514465338719, + 63.91110228672447 + ], + [ + -89.9549255264446, + 63.97186277428428 + ], + [ + -90.27208712538949, + 64.00158688622541 + ], + [ + -89.96743775174761, + 63.814228072269266 + ], + [ + -90.2363891743321, + 63.60721589862034 + ], + [ + -90.93666078115659, + 63.565410606143644 + ], + [ + -93.66250612888419, + 64.0851287898042 + ], + [ + -93.77055356993249, + 63.95777128069799 + ], + [ + -93.52652737872012, + 63.84109879576398 + ], + [ + -93.334861747063, + 63.80902102151848 + ], + [ + -93.38999940803448, + 63.97165678777939 + ], + [ + -92.10374447915541, + 63.697978968828345 + ], + [ + -92.48083495636651, + 63.527214024377024 + ], + [ + -91.76972200610061, + 63.71457669877933 + ], + [ + -90.94554136354569, + 63.44026945421185 + ], + [ + -90.7419433802038, + 63.36082457900144 + ], + [ + -90.6274871948253, + 63.059432961160205 + ], + [ + -91.36151886624039, + 62.78805158924118 + ], + [ + -92.41152951477861, + 62.8344383096797 + ], + [ + -91.88479615099381, + 62.602909074840795 + ], + [ + -92.71000672607319, + 62.465827965568344 + ], + [ + -92.56916807724001, + 62.192836787506515 + ], + [ + -93.1222228863791, + 62.334991445227054 + ], + [ + -92.89820100976931, + 62.260967270546764 + ], + [ + -92.9683380030324, + 62.07721710968232 + ], + [ + -93.30444333095869, + 61.8847160082851 + ], + [ + -93.6161041395158, + 61.93998717155921 + ], + [ + -93.2555694459129, + 61.742492669189886 + ], + [ + -93.9850006176084, + 61.45513152683461 + ], + [ + -93.9363861315123, + 61.29582974578566 + ], + [ + -94.80387879300619, + 60.00597002426137 + ], + [ + -94.81916806210701, + 59.63638304483314 + ], + [ + -94.68055723654979, + 59.35721590159624 + ], + [ + -94.78971861804541, + 59.092216481357305 + ], + [ + -94.252227803505, + 58.64999387795679 + ], + [ + -94.36332701384903, + 58.21887968022143 + ], + [ + -94.1438903680289, + 58.76361084838597 + ], + [ + -93.1538924904426, + 58.739021302993564 + ], + [ + -92.4486084108887, + 57.43777084465072 + ], + [ + -92.51445005255239, + 57.023605331775954 + ], + [ + -90.82472229824471, + 57.25652311732309 + ], + [ + -88.81500243113099, + 56.82444000516347 + ], + [ + -87.97916410477079, + 56.43957522273652 + ], + [ + -87.5486145117241, + 56.049995394807816 + ], + [ + -85.56305694806319, + 55.554435711772314 + ], + [ + -85.2256927689036, + 55.3647155722378 + ], + [ + -85.4199676589871, + 54.99908831604766 + ], + [ + -85.0019531082101, + 55.29666137622757 + ], + [ + -82.30776975889047, + 55.14888003147217 + ], + [ + -82.2211151255343, + 54.787498459645846 + ], + [ + -82.44166565418301, + 54.33082580209405 + ], + [ + -82.1319427320928, + 53.8177719012671 + ], + [ + -82.11486054492978, + 53.29249571194631 + ], + [ + -82.2738952637548, + 52.95638277836448 + ], + [ + -81.5533981445117, + 52.44887921992376 + ], + [ + -81.7629242177995, + 52.237419120615336 + ], + [ + -80.9913864083348, + 52.00971604909335 + ], + [ + -80.43818663079111, + 51.466377234464716 + ], + [ + -81.0091705053168, + 51.0334663158393 + ], + [ + -80.40534973145411, + 51.33520128293442 + ], + [ + -80.1251297234889, + 51.29708098819792 + ], + [ + -79.3459396450089, + 50.734954821475995 + ], + [ + -79.75118257153322, + 51.18228151118412 + ], + [ + -79.66860963999719, + 51.39860536960815 + ], + [ + -79.3269577148939, + 51.66234968382303 + ], + [ + -78.96333310848028, + 51.35332486872413 + ], + [ + -78.7791747774338, + 51.474990869867135 + ], + [ + -78.9809646890208, + 51.800689701947235 + ], + [ + -78.5794525094072, + 52.11138153846154 + ], + [ + -78.50709535614219, + 52.45749285532626 + ], + [ + -78.88138579973308, + 52.899856566684875 + ], + [ + -79.1194458151031, + 54.07860566938173 + ], + [ + -79.4252776953296, + 54.282356284402326 + ], + [ + -79.5249328716474, + 54.59012605109583 + ], + [ + -79.7618103228141, + 54.65165712984933 + ], + [ + -77.7486114444651, + 55.30082702835208 + ], + [ + -76.6797867088018, + 56.03644943415244 + ], + [ + -76.5316696204481, + 56.318744633715035 + ], + [ + -76.53138734691308, + 57.09186551429099 + ], + [ + -76.8619384720069, + 57.719154345061604 + ], + [ + -77.46083832910001, + 58.19985200093597 + ], + [ + -78.5729904102508, + 58.62887954097188 + ], + [ + -78.5640258775575, + 58.9631156638057 + ], + [ + -78.33833311908589, + 58.9127654749197 + ], + [ + -77.6797180335057, + 59.39929580433374 + ], + [ + -77.9097900362621, + 59.41186524490944 + ], + [ + -77.76778409215531, + 59.709854138545545 + ], + [ + -77.50233461301002, + 59.67821501472286 + ], + [ + -77.4274902375193, + 59.91471097312066 + ], + [ + -76.7588958980323, + 60.15915680061708 + ], + [ + -77.5922241275815, + 60.06415559408215 + ], + [ + -77.4719467347652, + 60.2151298737101 + ], + [ + -77.82917020250409, + 60.64242171095621 + ], + [ + -77.5189285401332, + 60.83283995748206 + ], + [ + -78.1799240230497, + 60.78794480981324 + ], + [ + -77.5172271780307, + 61.53971863186779 + ], + [ + -77.99777986550029, + 61.7215194977818 + ], + [ + -78.1532668917156, + 62.28006363120694 + ], + [ + -77.508346538023, + 62.56166078139697 + ], + [ + -75.709732070099, + 62.296386693278436 + ], + [ + -75.8889541578277, + 62.16151808073393 + ], + [ + -75.3147201331569, + 62.31068803381606 + ], + [ + -74.5716705166037, + 62.103050237378234 + ], + [ + -74.75688171237859, + 62.20585634460704 + ], + [ + -73.68346402503272, + 62.47998808291067 + ], + [ + -72.6219406034751, + 62.11207578817182 + ], + [ + -72.5888824487035, + 61.92141721445391 + ], + [ + -72.0100555299688, + 61.67527008247362 + ], + [ + -72.3034667984707, + 61.56853484748479 + ], + [ + -71.9735412385473, + 61.605064407836 + ], + [ + -71.92887881241509, + 61.70582580370838 + ], + [ + -71.5733413802304, + 61.60707852371439 + ], + [ + -71.8801727127406, + 61.42651749489468 + ], + [ + -71.38999938954791, + 61.137771604659044 + ], + [ + -70.14847562579409, + 61.08457563298214 + ], + [ + -69.92749024955019, + 60.807769757705316 + ], + [ + -69.5134429700483, + 61.066066751595834 + ], + [ + -69.37026978828669, + 60.807769757705316 + ], + [ + -69.7100677772273, + 60.67922593918701 + ], + [ + -69.7781219732374, + 60.476028462752815 + ], + [ + -69.6308288309033, + 60.06638335973977 + ], + [ + -70.94583129402501, + 60.063049316909066 + ], + [ + -69.7229156308914, + 59.96166229824788 + ], + [ + -69.6005554408222, + 59.83305360118268 + ], + [ + -69.54083249144229, + 59.67110441819225 + ], + [ + -69.74607087640501, + 59.31137845929782 + ], + [ + -69.23805238051139, + 59.231792476129336 + ], + [ + -69.5524978385218, + 58.805824253425996 + ], + [ + -69.8638839791995, + 59.0509643274671 + ], + [ + -69.8158264345177, + 58.82388307590612 + ], + [ + -70.1562499886286, + 58.769298553521175 + ], + [ + -69.81597140292229, + 58.588878632659565 + ], + [ + -69.279174777308, + 58.88804628767131 + ], + [ + -68.3586044351288, + 58.7701301628149 + ], + [ + -68.20403291089279, + 58.44221117073298 + ], + [ + -68.34666442016989, + 58.12617111789095 + ], + [ + -69.13111115901759, + 57.89818951804293 + ], + [ + -69.363647451796, + 57.767768831157916 + ], + [ + -68.4105606273298, + 58.037078871925864 + ], + [ + -68.0082016271113, + 58.57499692840598 + ], + [ + -67.8618011697899, + 58.32540892870536 + ], + [ + -68.1181488111115, + 58.07596589740943 + ], + [ + -67.8084716958105, + 58.30277253870976 + ], + [ + -67.7775039439474, + 58.46853255846868 + ], + [ + -67.5851440657455, + 58.20804980288224 + ], + [ + -66.62971498745809, + 58.50360868956515 + ], + [ + -66.3886108660666, + 58.850547812895776 + ], + [ + -65.939018267186, + 58.61131283897808 + ], + [ + -66.05888368699249, + 58.32027436215676 + ], + [ + -65.8799896219694, + 58.627212519556494 + ], + [ + -66.1026382168008, + 58.77235412564458 + ], + [ + -65.6519470040212, + 59.079162583569506 + ], + [ + -65.549575802006, + 59.48811338241945 + ], + [ + -64.98943327092158, + 59.37443545150831 + ], + [ + -65.4158325383923, + 59.51318738502372 + ], + [ + -65.5277862326154, + 59.71693419721657 + ], + [ + -64.8447875881476, + 60.3611373721606 + ], + [ + -64.57667543813119, + 60.32276914457629 + ], + [ + -64.74537659946849, + 60.230751025962704 + ], + [ + -64.41223142725948, + 60.15370175939989 + ], + [ + -64.75464628028202, + 59.99080659418918 + ], + [ + -64.1655502284501, + 60.02152249513958 + ], + [ + -64.25806427037779, + 59.76068878464358 + ], + [ + -63.7255515878794, + 59.516101849189134 + ], + [ + -64.06047821204879, + 59.38596343583885 + ], + [ + -63.3596534666377, + 59.1993636893559 + ], + [ + -64.04402159005598, + 59.01818850384906 + ], + [ + -63.128051747596295, + 59.04617311017253 + ], + [ + -63.264450076425696, + 58.98554992774288 + ], + [ + -62.8463859736504, + 58.68776702061159 + ], + [ + -63.58100892716709, + 58.30172727963687 + ], + [ + -63.2416687180255, + 58.46638488266909 + ], + [ + -62.5569457792513, + 58.480266586922674 + ], + [ + -62.603752135973906, + 58.254161855441346 + ], + [ + -63.33528137385219, + 57.98012922113453 + ], + [ + -62.45062257489091, + 58.16849515064823 + ], + [ + -62.31048583587659, + 58.037837997017355 + ], + [ + -62.451583883659524, + 57.96796034508543 + ], + [ + -62.1218032921406, + 57.96527099680114 + ], + [ + -61.88486102004579, + 57.63311767122013 + ], + [ + -62.52694319660319, + 57.48860549074872 + ], + [ + -61.89138794013029, + 57.41193391412701 + ], + [ + -61.80263898580058, + 57.36249542439262 + ], + [ + -62.0133361571898, + 57.24752810438889 + ], + [ + -61.36111448939142, + 57.09235383194946 + ], + [ + -61.8702774059732, + 56.72693636509185 + ], + [ + -61.654304502458686, + 56.63804624518544 + ], + [ + -62.5454215977486, + 56.83596418666636 + ], + [ + -61.657249446864796, + 56.52575300453625 + ], + [ + -62.136806484878605, + 56.45082473635985 + ], + [ + -61.74147032805868, + 56.29971695442955 + ], + [ + -62.008960715732705, + 56.23547745563424 + ], + [ + -61.408191653547014, + 56.21610262426702 + ], + [ + -61.328056334619795, + 55.96415710181561 + ], + [ + -60.3327751192525, + 55.78131103444719 + ], + [ + -60.51222226524349, + 55.12054441262078 + ], + [ + -60.104808788334296, + 55.233604441635585 + ], + [ + -60.28989789028989, + 55.027248371016476 + ], + [ + -59.77763745524179, + 55.32944106029199 + ], + [ + -59.7351341133926, + 55.19700239708208 + ], + [ + -59.96583559938431, + 55.11471559952738 + ], + [ + -59.43187334807738, + 55.13544083808777 + ], + [ + -59.9409294397697, + 54.75034333412417 + ], + [ + -59.15638353930651, + 55.23387910951509 + ], + [ + -59.38360975927221, + 54.98120119700376 + ], + [ + -59.03354263723441, + 55.15589140876879 + ], + [ + -58.904167151803485, + 54.84471131221466 + ], + [ + -57.349685642362786, + 54.574958818195846 + ], + [ + -57.62555314107488, + 54.382633223062555 + ], + [ + -58.17888642092119, + 54.35457993536473 + ], + [ + -58.6324997035217, + 54.03527071823883 + ], + [ + -60.082778949369995, + 53.762496935165224 + ], + [ + -60.2052040179859, + 53.57891847773688 + ], + [ + -60.856948834227815, + 53.792770382865015 + ], + [ + -60.19043729199369, + 53.515449512516504 + ], + [ + -60.4077758716311, + 53.267215722836994 + ], + [ + -59.076950072579585, + 53.68180081437732 + ], + [ + -58.55027772689519, + 54.009162922663506 + ], + [ + -57.79694365069649, + 54.07509231745922 + ], + [ + -58.417011257219286, + 54.14027025043772 + ], + [ + -58.177780143748016, + 54.23693847838782 + ], + [ + -57.42833710941302, + 54.182495121579734 + ], + [ + -57.0803108382853, + 53.8234672696765 + ], + [ + -57.451385472418394, + 53.61804583041269 + ], + [ + -57.3055534226133, + 53.50048066046588 + ], + [ + -57.0147247351247, + 53.711380015532214 + ], + [ + -56.6608276469422, + 53.72054292907489 + ], + [ + -55.7458343245623, + 53.24943542868279 + ], + [ + -55.91930388622762, + 53.025825525082865 + ], + [ + -55.80582808137521, + 52.83103563992757 + ], + [ + -56.06082917595008, + 52.76610563979699 + ], + [ + -55.7634773135862, + 52.61124417875186 + ], + [ + -56.487739578045904, + 52.59429169106347 + ], + [ + -55.6455879237616, + 52.432872772074354 + ], + [ + -56.18985750929931, + 52.43696974282436 + ], + [ + -55.70722196695811, + 52.24832914543125 + ], + [ + -55.69930649616551, + 52.08526994005844 + ], + [ + -56.951595316330504, + 51.42457580243443 + ], + [ + -57.7394409189371, + 51.47165682703653 + ], + [ + -58.6243019015755, + 51.27638242705071 + ], + [ + -58.95874787136059, + 50.998325363814715 + ], + [ + -59.0129203631171, + 50.7513847084371 + ], + [ + -60.00500489840281, + 50.24887846903317 + ], + [ + -61.720832842630294, + 50.091934210735204 + ], + [ + -61.85680387190161, + 50.225543972046395 + ], + [ + -62.74694824993949, + 50.2847213884953 + ], + [ + -66.44902800437269, + 50.2677726460163 + ], + [ + -67.14194488464669, + 49.816936464831976 + ], + [ + -67.3720779631221, + 49.32999422002687 + ], + [ + -68.5905609119074, + 49.05416106200218 + ], + [ + -69.67832949178928, + 48.14082715538194 + ], + [ + -69.96833037281189, + 48.27193834360255 + ], + [ + -71.0395813126007, + 48.44387818898296 + ], + [ + -69.732498180718, + 48.10756301410544 + ], + [ + -70.2261123716308, + 47.497425051872135 + ], + [ + -71.29916383513739, + 46.74221802537192 + ], + [ + -70.506958002385, + 47.020271285779934 + ], + [ + -69.45056154172039, + 47.979156500717245 + ], + [ + -68.2022247239007, + 48.63985444116915 + ], + [ + -66.2250061277629, + 49.20082852392866 + ], + [ + -64.8255615280127, + 49.18776702048546 + ], + [ + -64.21166994428341, + 48.88499071238247 + ], + [ + -64.157630897211, + 48.75985716610595 + ], + [ + -64.53041841716728, + 48.87370299762534 + ], + [ + -64.1654815470756, + 48.62776565497774 + ], + [ + -64.24638365436849, + 48.48804474941965 + ], + [ + -65.30583188432868, + 48.00555417548305 + ], + [ + -65.8965377999221, + 48.20249173643795 + ], + [ + -66.8437041977165, + 47.99665071850875 + ], + [ + -66.3554077428904, + 48.07027052583485 + ], + [ + -65.793609598874, + 47.890830985499335 + ], + [ + -65.6315307740274, + 47.62193677818745 + ], + [ + -64.803886389167, + 47.80818556976102 + ], + [ + -64.67492673719241, + 47.724853513133525 + ], + [ + -64.9100036646412, + 47.35305023414974 + ], + [ + -65.3661803988789, + 47.08547975661783 + ], + [ + -64.8020858654491, + 47.08152389382624 + ], + [ + -64.90430449340403, + 46.84596631199303 + ], + [ + -64.5041809221172, + 46.24027253021014 + ], + [ + -63.82625582609771, + 46.14513396092632 + ], + [ + -64.09388732172991, + 46.02165983040983 + ], + [ + -63.31361389828069, + 45.73693848434022 + ], + [ + -62.67778017110061, + 45.76416016274441 + ], + [ + -62.46194457271651, + 45.6124954393995 + ], + [ + -61.92301940067861, + 45.84117128579222 + ], + [ + -61.78778076146718, + 45.63790893081152 + ], + [ + -61.4687462122207, + 45.68068694054003 + ], + [ + -61.26000213860971, + 45.51027681144453 + ], + [ + -61.46055601593, + 45.34527205633073 + ], + [ + -60.970275867847796, + 45.26971436253773 + ], + [ + -63.634861001873595, + 44.43637846971443 + ], + [ + -63.93194580201371, + 44.513603184922815 + ], + [ + -63.90860750219911, + 44.67804719579452 + ], + [ + -64.20083620649781, + 44.57638550925382 + ], + [ + -64.6688918799755, + 43.98832705322063 + ], + [ + -65.4969482378457, + 43.49082948371843 + ], + [ + -65.7212448399535, + 43.500686643805714 + ], + [ + -65.9178390516543, + 43.82561874513872 + ], + [ + -66.1216583480495, + 43.76221465846511 + ], + [ + -66.1891632083008, + 44.15623855160694 + ], + [ + -65.85156250477681, + 44.581104299964906 + ], + [ + -66.19485471626369, + 44.41804503697362 + ], + [ + -66.10305785308479, + 44.50000000899484 + ], + [ + -64.7108306747548, + 45.18387601192692 + ], + [ + -64.42610166541121, + 45.26208116528 + ], + [ + -64.21569823365903, + 45.107078538658214 + ], + [ + -63.369613648786796, + 45.359855670403306 + ], + [ + -64.93534086902308, + 45.331729898503326 + ], + [ + -64.27430724259139, + 45.80582809247194 + ], + [ + -64.47833252549148, + 45.75054932354231 + ], + [ + -64.7508315830671, + 46.08665845429633 + ], + [ + -64.58306885591308, + 45.82694242945683 + ], + [ + -64.78201292709068, + 45.610271476569814 + ], + [ + -65.8868102816909, + 45.20832825218892 + ], + [ + -66.0689849770998, + 45.29282380126213 + ], + [ + -65.9999313288061, + 45.459228515567425 + ], + [ + -66.1918716283426, + 45.33131026221931 + ], + [ + -66.1472320767957, + 45.19221497945002 + ], + [ + -66.4277801650852, + 45.0849914268027 + ], + [ + -67.1869354487217, + 45.19221497945002 + ], + [ + -66.9708328457323, + 44.82791139542133 + ], + [ + -67.1899948236729, + 44.660266901640114 + ], + [ + -68.0594711208043, + 44.35179902795562 + ], + [ + -68.321151709524, + 44.46588132622061 + ], + [ + -68.81319429542769, + 44.330272660342224 + ], + [ + -68.8109435975663, + 44.522266372323514 + ], + [ + -69.2483367825383, + 43.93804168526282 + ], + [ + -69.3699951204073, + 44.046943667808826 + ], + [ + -69.54071806089719, + 43.87457658048872 + ], + [ + -70.1725006241165, + 43.78054809120594 + ], + [ + -70.7375946098299, + 43.07802584413851 + ], + [ + -70.80596922289008, + 42.715896613322734 + ], + [ + -70.58180998353129, + 42.65283581828423 + ], + [ + -71.0395126312262, + 42.304851551118055 + ], + [ + -70.7176437652908, + 42.21387863395865 + ], + [ + -70.3329162879942, + 41.71388243374726 + ], + [ + -70.01930998731449, + 41.79256438103824 + ], + [ + -70.2440185624321, + 42.073947881449236 + ], + [ + -70.07417298040659, + 42.05887986778314 + ], + [ + -69.93540952317069, + 41.67249677755455 + ], + [ + -70.6486129915823, + 41.53944015482993 + ], + [ + -70.72610471139579, + 41.727767940828656 + ], + [ + -71.1883239661246, + 41.46832278104073 + ], + [ + -71.11485293003089, + 41.789508808914725 + ], + [ + -71.2713928209747, + 41.65304565915723 + ], + [ + -71.38944244813361, + 41.80669401813964 + ], + [ + -71.51167299634659, + 41.36999127688454 + ], + [ + -72.9063873392838, + 41.286109942116866 + ], + [ + -73.9341583019064, + 40.79804995403666 + ], + [ + -73.8661041058962, + 41.08915711223248 + ], + [ + -73.9512786902031, + 41.30443571158343 + ], + [ + -73.90417479101579, + 40.95943453233846 + ], + [ + -74.2591705507159, + 40.52221679601177 + ], + [ + -73.9563903821664, + 40.398185724080776 + ], + [ + -74.0737686373658, + 39.84621431752968 + ], + [ + -74.0455475066781, + 40.05297850071217 + ], + [ + -74.1687088258003, + 39.70027158238859 + ], + [ + -74.82083127436469, + 38.971935279382905 + ], + [ + -74.96444702461419, + 38.93332292177861 + ], + [ + -74.89493559652139, + 39.1690216115699 + ], + [ + -75.54277041437919, + 39.500549314362004 + ], + [ + -75.4527816805739, + 39.75680159689598 + ], + [ + -75.1375656313701, + 39.87394713055879 + ], + [ + -75.0285186804195, + 40.01230622044048 + ], + [ + -75.40972139731029, + 39.821941386359384 + ], + [ + -75.58860779905919, + 39.6488799948761 + ], + [ + -75.5721588403405, + 39.452907545517796 + ], + [ + -75.0445785407137, + 38.417213448828214 + ], + [ + -75.9608307143269, + 37.15221402251087 + ], + [ + -75.93055726662719, + 37.57610319317064 + ], + [ + -75.6440429448768, + 37.96117401972106 + ], + [ + -75.8785323930517, + 37.94755937769124 + ], + [ + -75.8463515967445, + 38.39877699402572 + ], + [ + -76.03750609377651, + 38.22665403672592 + ], + [ + -76.3421554674184, + 38.688255331939914 + ], + [ + -76.255172753738, + 38.84103393811341 + ], + [ + -76.10443880130231, + 38.799091340506415 + ], + [ + -76.26014708295232, + 39.15367126675041 + ], + [ + -76.1683349508436, + 39.316520682790404 + ], + [ + -75.83535001596888, + 39.57193755320291 + ], + [ + -76.5827789344256, + 39.24207687182611 + ], + [ + -76.3938904041847, + 39.0110358970269 + ], + [ + -76.5375060968156, + 38.7316589068388 + ], + [ + -76.3785705396059, + 38.36520384418263 + ], + [ + -76.67916108601291, + 38.66252516868711 + ], + [ + -76.66346739193928, + 38.474712377759914 + ], + [ + -76.3123474051732, + 38.04730224952243 + ], + [ + -77.04444885339551, + 38.43832018015774 + ], + [ + -77.2437438794826, + 38.398258196126406 + ], + [ + -77.0061187693263, + 38.75499726427202 + ], + [ + -77.0168075387075, + 38.86429975372582 + ], + [ + -77.06169127789289, + 38.904571527089615 + ], + [ + -77.32000734354091, + 38.34526826857323 + ], + [ + -77.06874846197869, + 38.37901686706172 + ], + [ + -76.2436141739294, + 37.90610123729626 + ], + [ + -76.3536071647188, + 37.618598929364154 + ], + [ + -77.0545119999878, + 38.16068269558724 + ], + [ + -77.1298904423076, + 38.169120767106925 + ], + [ + -76.2906951985315, + 37.56860735866194 + ], + [ + -76.2394409161494, + 37.37346265815087 + ], + [ + -76.37401578905701, + 37.28890228814955 + ], + [ + -76.682769796723, + 37.429718004778856 + ], + [ + -76.2677154592819, + 37.086311362746855 + ], + [ + -76.3897247520603, + 36.973320015106566 + ], + [ + -76.6538848997314, + 37.226936361801165 + ], + [ + -76.99027250119249, + 37.31290815709585 + ], + [ + -77.2322235008076, + 37.29638671417497 + ], + [ + -76.71665956078839, + 37.14749142897217 + ], + [ + -76.4774932682452, + 36.90526581909649 + ], + [ + -75.98728940719309, + 36.90922928754369 + ], + [ + -75.5326461920681, + 35.80152132922463 + ], + [ + -75.9453048632433, + 36.71242142606378 + ], + [ + -75.8995819091084, + 36.49277113046478 + ], + [ + -76.0347289923602, + 36.496658311881994 + ], + [ + -75.79315187985861, + 36.07384874098262 + ], + [ + -76.1507721092962, + 36.25867464116072 + ], + [ + -76.07096861590229, + 36.149295807058294 + ], + [ + -76.6597900574734, + 36.03311918781962 + ], + [ + -76.7461013991943, + 36.228183740854206 + ], + [ + -76.72951507772669, + 35.93984988124681 + ], + [ + -75.8508300602634, + 35.97526930397853 + ], + [ + -75.72083281249, + 35.814506545637826 + ], + [ + -75.74076078244389, + 35.618465414905025 + ], + [ + -76.149169908809, + 35.33693694608936 + ], + [ + -77.0495834199441, + 35.526939416777545 + ], + [ + -76.4688873537356, + 35.27165985149556 + ], + [ + -76.7613983315692, + 34.98777005710125 + ], + [ + -77.0681609827049, + 35.149780258191946 + ], + [ + -76.93180085500912, + 34.96957398710946 + ], + [ + -76.2924957222494, + 34.93693541100327 + ], + [ + -76.50062558155491, + 34.73617174435027 + ], + [ + -77.38571928572989, + 34.61260225504597 + ], + [ + -78.0259704583285, + 33.8893661779017 + ], + [ + -78.6005554379087, + 33.87082670103744 + ], + [ + -79.27139281198279, + 33.37332152587956 + ], + [ + -79.2058410495096, + 33.16554262148346 + ], + [ + -79.3883361619686, + 33.00819013538475 + ], + [ + -80.46500394184089, + 32.317493415112715 + ], + [ + -80.7664032229564, + 32.2847213943225 + ], + [ + -81.4595947134913, + 30.942218782089594 + ], + [ + -81.2552795514007, + 29.79666519691347 + ], + [ + -80.55249024210949, + 28.524997684934785 + ], + [ + -80.4864578252519, + 27.940176011530923 + ], + [ + -80.6031951887327, + 28.608608269888073 + ], + [ + -80.84361266923501, + 28.78096959534786 + ], + [ + -80.03533937053268, + 26.795690560012915 + ], + [ + -80.13612364099029, + 25.905551886216685 + ], + [ + -80.4211120492836, + 25.249856969043346 + ], + [ + -81.1466751113194, + 25.160411809136352 + ], + [ + -81.1175384786523, + 25.282638554521633 + ], + [ + -80.91784669086661, + 25.246871922089632 + ], + [ + -81.34090425223239, + 25.809719070387985 + ], + [ + -81.8004150293007, + 26.09999657832247 + ], + [ + -81.915092470114, + 26.51961517338193 + ], + [ + -81.78593443729001, + 26.70690346216813 + ], + [ + -82.06694791103389, + 26.55437278884233 + ], + [ + -82.01722714776449, + 26.964717842641797 + ], + [ + -82.1919402917335, + 26.938049302824286 + ], + [ + -82.1588897426175, + 26.782878890831213 + ], + [ + -82.39639281657311, + 26.96235657468171 + ], + [ + -82.6552734292911, + 27.46166227355758 + ], + [ + -82.424163830736, + 27.91943930686853 + ], + [ + -82.6912460482279, + 28.029857638183607 + ], + [ + -82.5950698831455, + 27.82187268966393 + ], + [ + -82.7247238392835, + 27.658050556372036 + ], + [ + -82.85416414564249, + 27.85860823652013 + ], + [ + -82.62888336018081, + 28.849580790390934 + ], + [ + -82.80278016378561, + 29.154994993365907 + ], + [ + -83.0716705106511, + 29.2244377400843 + ], + [ + -84.01097871054401, + 30.097637178470737 + ], + [ + -85.30659487619639, + 29.699995067549576 + ], + [ + -85.6636200207047, + 30.246105221734055 + ], + [ + -85.872222928739, + 30.21693799358885 + ], + [ + -86.2600021177127, + 30.495828625150914 + ], + [ + -86.9266662340068, + 30.399162298614723 + ], + [ + -87.1608352651318, + 30.517774571429726 + ], + [ + -87.3066559064535, + 30.321384444819845 + ], + [ + -87.5225601285935, + 30.279293075980338 + ], + [ + -87.3408355497094, + 30.43457791851863 + ], + [ + -87.4203949130834, + 30.48094556719971 + ], + [ + -87.56861876870802, + 30.279441847212738 + ], + [ + -87.73361205771991, + 30.234992955622523 + ], + [ + -88.0213546928442, + 30.225479144788963 + ], + [ + -87.7577133430724, + 30.28242873796164 + ], + [ + -88.0202789535304, + 30.701106997424006 + ], + [ + -88.13145445090447, + 30.318954495485226 + ], + [ + -88.9808349350922, + 30.41832734064942 + ], + [ + -89.59312437595278, + 30.153259296654348 + ], + [ + -90.2362518115831, + 30.376523949586545 + ], + [ + -90.4279098375846, + 30.178606008105632 + ], + [ + -90.34973141926329, + 30.06166455953397 + ], + [ + -89.8277893303918, + 30.03291512387734 + ], + [ + -89.6256942706845, + 29.873397849254175 + ], + [ + -89.3994445707987, + 30.050830821748058 + ], + [ + -89.4041748276116, + 29.762496962140872 + ], + [ + -89.7527160361923, + 29.632980368751884 + ], + [ + -89.0093154647296, + 29.196382550972537 + ], + [ + -89.1538848604735, + 29.039997077884227 + ], + [ + -90.18249509566421, + 29.569858555613187 + ], + [ + -90.0265274150645, + 29.425134684395303 + ], + [ + -90.1358337649646, + 29.126384706635115 + ], + [ + -90.4444427466075, + 29.32610703228041 + ], + [ + -90.8783264401035, + 29.128746032213915 + ], + [ + -91.27791594456129, + 29.25583267626823 + ], + [ + -91.11444090573241, + 29.32541462953092 + ], + [ + -91.89916991811509, + 29.836109163811376 + ], + [ + -92.14862061268519, + 29.768886577094985 + ], + [ + -92.0997314587097, + 29.615550971888496 + ], + [ + -92.2732009627564, + 29.54096985579388 + ], + [ + -93.66777039490748, + 29.763885512849175 + ], + [ + -93.79666136550779, + 29.994159699282655 + ], + [ + -94.06834414033791, + 29.67416384126747 + ], + [ + -94.61999512983918, + 29.461940756421292 + ], + [ + -94.7570190238389, + 29.784997948420077 + ], + [ + -95.06006619699349, + 29.715063081215494 + ], + [ + -94.8938980070526, + 29.33777618218761 + ], + [ + -95.3031921551562, + 28.931524296310247 + ], + [ + -96.2120132575703, + 28.488119128706593 + ], + [ + -96.0723647785959, + 28.573884937496473 + ], + [ + -96.19207762434232, + 28.695480355851256 + ], + [ + -96.39411160833059, + 28.736188878224144 + ], + [ + -96.4319381634302, + 28.59930228935486 + ], + [ + -96.6447295981742, + 28.71193887925798 + ], + [ + -96.39997101690201, + 28.441730506854093 + ], + [ + -96.88276673895878, + 28.1402740680846 + ], + [ + -97.1693725590505, + 28.161800378079388 + ], + [ + -97.0224991106189, + 28.031665825175594 + ], + [ + -97.19451144020161, + 27.821802164494205 + ], + [ + -97.5170898216114, + 27.863815287271116 + ], + [ + -97.27972411040491, + 27.656105064249445 + ], + [ + -97.4286728080524, + 27.396554923367365 + ], + [ + -97.7233276588579, + 27.39554976684206 + ], + [ + -97.473289485014, + 27.233482350478894 + ], + [ + -97.5604095614433, + 26.842081083279194 + ], + [ + -97.1375045741377, + 25.933193200904693 + ], + [ + -97.65167235779317, + 24.52027512470162 + ], + [ + -97.7413940293749, + 22.90583039630757 + ], + [ + -97.888267535425, + 22.59881785329179 + ], + [ + -97.6979217731014, + 21.974721899775076 + ], + [ + -97.3150100884526, + 21.556524294696995 + ], + [ + -97.4134750372929, + 21.271734209634428 + ], + [ + -97.7422333019428, + 22.012496943843676 + ], + [ + -97.17535400382259, + 20.683956125722293 + ], + [ + -96.44445038873309, + 19.854997633388688 + ], + [ + -96.2952880989253, + 19.341108320440348 + ], + [ + -95.91139223092239, + 18.825275416783388 + ], + [ + -95.1822280638321, + 18.701803187680728 + ], + [ + -94.46917722709922, + 18.146247846418575 + ], + [ + -92.0041732531419, + 18.726247764668525 + ], + [ + -91.8327865463481, + 18.472915650541452 + ], + [ + -91.49570464072339, + 18.435554480896446 + ], + [ + -91.1861877627568, + 18.650068308533015 + ], + [ + -91.42861175348189, + 18.851774212197096 + ], + [ + -90.7538910008183, + 19.320274355576657 + ], + [ + -90.6766738912655, + 19.768329632516693 + ], + [ + -90.4552764843933, + 19.975971231782363 + ], + [ + -90.33264923210021, + 21.027498229089574 + ], + [ + -88.45140075692129, + 21.5688857897351 + ], + [ + -87.24917604927938, + 21.441387172671007 + ], + [ + -87.1338272365068, + 21.557220442655716 + ], + [ + -87.41077421974168, + 21.528610213543416 + ], + [ + -87.0054245259465, + 21.579719527521 + ], + [ + -86.81556702366292, + 21.408607488606535 + ], + [ + -86.8264007614486, + 20.98777769289826 + ], + [ + -87.42556001749139, + 20.222776425824836 + ], + [ + -87.4758529911049, + 19.87055396471317 + ], + [ + -87.7366028089153, + 19.6775684637224 + ], + [ + -87.66639707665911, + 19.547775243421526 + ], + [ + -87.4122237885502, + 19.58166506510552 + ], + [ + -87.67694854090989, + 19.314998623451157 + ], + [ + -87.5483398438447, + 19.139442461705258 + ], + [ + -87.82806398611449, + 18.31083296524845 + ], + [ + -88.07333375963039, + 18.493610408860935 + ], + [ + -88.0397262691, + 18.86819269067499 + ], + [ + -88.21778872482929, + 18.69999695972111 + ], + [ + -88.31556703278031, + 18.36416624205567 + ], + [ + -88.09750366873881, + 18.373262433256254 + ], + [ + -88.07778929094539, + 18.21555328800646 + ], + [ + -88.2825012147346, + 17.623886121263237 + ], + [ + -88.2133407415513, + 16.962081903638317 + ], + [ + -88.36128998691511, + 16.501768096103156 + ], + [ + -88.34722903118832, + 16.602775581027856 + ], + [ + -88.91056824235439, + 15.893610024298537 + ], + [ + -88.61806487017628, + 15.69853970940378 + ], + [ + -88.4958419852374, + 15.849512087617638 + ], + [ + -88.13695524129231, + 15.682846072948857 + ], + [ + -87.70777893002399, + 15.921282741125047 + ], + [ + -87.47444917146699, + 15.784442880942661 + ], + [ + -86.40347289955761, + 15.767568581698452 + ], + [ + -85.9101486454539, + 15.955832468666532 + ], + [ + -86.011604287871, + 16.02162934067593 + ], + [ + -85.4961166348818, + 15.889026637304045 + ], + [ + -84.9969635100661, + 15.991277704532221 + ], + [ + -84.59917447170758, + 15.775553713381758 + ], + [ + -84.2601470739605, + 15.825970624609747 + ], + [ + -83.85556030808439, + 15.459999097268094 + ], + [ + -84.20951841436741, + 15.545658138787084 + ], + [ + -83.91133119750049, + 15.239513389547533 + ], + [ + -84.02770994279759, + 15.400901770677097 + ], + [ + -83.7583465472034, + 15.196664797030616 + ], + [ + -83.3934784161048, + 15.256387688791818 + ], + [ + -83.13185118221139, + 14.992979060556662 + ], + [ + -83.4191055572958, + 14.809443471368871 + ], + [ + -83.1869506996678, + 14.323888797755826 + ], + [ + -83.49389646272309, + 13.726664547249712 + ], + [ + -83.4784850998032, + 12.423888233068473 + ], + [ + -83.6327133324038, + 12.479581855938074 + ], + [ + -83.5370941087357, + 12.770693796477849 + ], + [ + -83.60292053908842, + 12.818192498331323 + ], + [ + -83.80042264711308, + 11.895833040917655 + ], + [ + -83.653442373792, + 11.602810870840282 + ], + [ + -83.87167358082351, + 11.337221148015825 + ], + [ + -83.41083527114719, + 10.396944033698936 + ], + [ + -82.3636169353365, + 9.407220823992064 + ], + [ + -82.24278260110569, + 9.002359390236759 + ], + [ + -81.8163909969093, + 8.945276237142819 + ], + [ + -81.88632966694159, + 9.173609713797815 + ], + [ + -81.50729369760799, + 8.79312325375812 + ], + [ + -80.83708955197831, + 8.87840178202436 + ], + [ + -79.53445434575501, + 9.620138155383147 + ], + [ + -78.03438565526301, + 9.228817957557693 + ], + [ + -77.3666686742403, + 8.674999240983063 + ], + [ + -77.4685821540751, + 8.471699722003553 + ], + [ + -77.19833373674228, + 7.999443998095625 + ], + [ + -77.5774383298318, + 7.526180294350832 + ], + [ + -77.7440338193309, + 7.7199993060492424 + ], + [ + -77.8897247035592, + 7.228888528189589 + ], + [ + -78.43278504748059, + 8.048887270173969 + ], + [ + -78.13413999319609, + 8.337531117864179 + ], + [ + -77.78527830994679, + 8.130277637506746 + ], + [ + -77.77917482897399, + 8.154998783787837 + ], + [ + -78.13909150544369, + 8.406970983652222 + ], + [ + -78.41306306403159, + 8.343609822837674 + ], + [ + -78.5072326612726, + 8.61694337063712 + ], + [ + -79.0676727348217, + 9.052887908698303 + ], + [ + -79.69778441617939, + 8.86666487264016 + ], + [ + -79.952789313582, + 8.450832338350095 + ], + [ + -80.47126005449239, + 8.215554264359156 + ], + [ + -79.9904250934878, + 7.518888487314546 + ], + [ + -80.436874367113, + 7.24458262559341 + ], + [ + -80.882507300374, + 7.220276851819672 + ], + [ + -81.058059716911, + 7.873332952223303 + ], + [ + -81.21792604502969, + 7.608263467763324 + ], + [ + -81.4969482198621, + 7.69861030118492 + ], + [ + -81.73861694594221, + 8.162498478742897 + ], + [ + -82.7216796756434, + 8.317220675625109 + ], + [ + -82.8988495039786, + 8.02566910514617 + ], + [ + -83.3440322630963, + 8.728055026599307 + ], + [ + -83.48042298627009, + 8.704546924762345 + ], + [ + -83.2794570783213, + 8.377637871549735 + ], + [ + -83.59556581253791, + 8.468332318001961 + ], + [ + -83.7358398566826, + 8.612499247805522 + ], + [ + -83.62646482540791, + 9.036457042220968 + ], + [ + -84.6186141816217, + 9.57944392242372 + ], + [ + -84.7475738335963, + 9.967151664329858 + ], + [ + -85.23625183880989, + 10.20736027739707 + ], + [ + -84.8972320467183, + 9.807498928371501 + ], + [ + -85.14222715235479, + 9.589443227604093 + ], + [ + -85.3450012472957, + 9.832777016066903 + ], + [ + -85.656677267164, + 9.904998765615375 + ], + [ + -85.8575134180192, + 10.369442962690048 + ], + [ + -85.63250730043701, + 10.621665976332409 + ], + [ + -85.9113922277575, + 10.891109461784371 + ], + [ + -85.6695861965471, + 11.054998375037043 + ], + [ + -87.68982699005201, + 12.91770743096992 + ], + [ + -87.58583831862008, + 13.050555243878097 + ], + [ + -87.3269501002466, + 12.926942828714926 + ], + [ + -87.51181028349339, + 13.277290322873663 + ], + [ + -87.3983383390874, + 13.412359217681356 + ], + [ + -87.8369522317777, + 13.436318415559354 + ], + [ + -87.9377899146801, + 13.156387307268474 + ], + [ + -88.22000122155701, + 13.158054328683786 + ], + [ + -88.5504303104501, + 13.273957259559278 + ], + [ + -88.7081680345268, + 13.260935801045072 + ], + [ + -88.5350646967007, + 13.199110003138365 + ], + [ + -89.82889554994641, + 13.576109903905921 + ], + [ + -90.4922332866841, + 13.900276196389491 + ], + [ + -91.38473512985429, + 13.978887560892074 + ], + [ + -92.2189025743528, + 14.521665573659822 + ], + [ + -93.2830657921963, + 15.540276503669888 + ], + [ + -94.1119537593603, + 16.175277699658306 + ], + [ + -94.3643798785774, + 16.2874984561052 + ], + [ + -94.4161224209993, + 16.200553885940003 + ], + [ + -94.0526428406088, + 16.047637917017322 + ], + [ + -94.47750853134811, + 16.18833159744609 + ], + [ + -94.8591766336934, + 16.427082056532893 + ], + [ + -95.58944702033838, + 15.938610095442938 + ], + [ + -96.55778502800881, + 15.656387322464079 + ], + [ + -97.7927856168873, + 15.972083104154429 + ], + [ + -98.78222655305929, + 16.553054817758664 + ], + [ + -99.6859817702993, + 16.706943503933243 + ], + [ + -100.910003652987, + 17.21749877405088 + ], + [ + -101.952789332069, + 17.978469850335 + ], + [ + -102.18099973538801, + 17.920829755826492 + ], + [ + -103.47834013772803, + 18.32930376073827 + ], + [ + -103.97194672298602, + 18.877220142882393 + ], + [ + -105.02250670728301, + 19.37194441379615 + ], + [ + -105.52778624527502, + 20.043888065043365 + ], + [ + -105.67536166114401, + 20.42416381385281 + ], + [ + -105.24472806017499, + 20.574649833440798 + ], + [ + -105.321807864597, + 20.765483855804096 + ], + [ + -105.53618623089801, + 20.792568229077776 + ], + [ + -105.24138641168801, + 21.064720134571647 + ], + [ + -105.18945315169101, + 21.437496188425918 + ], + [ + -105.650276192438, + 21.98124887747807 + ], + [ + -105.820426922584, + 22.66402436509718 + ], + [ + -107.025146458107, + 23.968053826270253 + ], + [ + -107.99549103361899, + 24.6490955125133 + ], + [ + -107.99000551216102, + 24.959510779734476 + ], + [ + -108.10417176072998, + 24.821941352803687 + ], + [ + -108.22126007912003, + 25.029441844111055 + ], + [ + -108.04251098250201, + 25.073608404547954 + ], + [ + -109.06833651062003, + 25.48722077883602 + ], + [ + -108.878341703206, + 25.670276635537103 + ], + [ + -108.834930407415, + 25.793607699063006 + ], + [ + -109.15390013573301, + 25.61319158102922 + ], + [ + -109.43749999331801, + 25.8202743374667 + ], + [ + -109.231666581045, + 26.319442731211964 + ], + [ + -109.10389709892901, + 26.283607475024066 + ], + [ + -109.444313047384, + 26.71555328205312 + ], + [ + -109.75389100107002, + 26.69610976931122 + ], + [ + -109.94904324961803, + 27.093469606697695 + ], + [ + -110.52971649886003, + 27.371108992682064 + ], + [ + -110.63459013441201, + 27.66235921786844 + ], + [ + -110.511360191533, + 27.854997624396216 + ], + [ + -111.103340169671, + 27.936943031729523 + ], + [ + -112.16194918468202, + 28.971387841873543 + ], + [ + -112.21347807732501, + 29.306108479538008 + ], + [ + -113.08139037510301, + 30.69888689504073 + ], + [ + -113.09167477713, + 31.229719188607874 + ], + [ + -113.589736951321, + 31.33166505009716 + ], + [ + -113.974693289707, + 31.65569305793427 + ], + [ + -114.02084348578201, + 31.49763681822136 + ], + [ + -114.217506436476, + 31.522220601753464 + ], + [ + -115.017242444424, + 31.954429610559828 + ], + [ + -114.78666685508, + 31.664165470141167 + ], + [ + -114.88069914719001, + 31.15166470790109 + ], + [ + -114.706390370576, + 30.927497862886696 + ], + [ + -114.556396471474, + 30.018608079098048 + ], + [ + -113.19493105850201, + 28.81381605937274 + ], + [ + -112.753059410011, + 27.837497702363123 + ], + [ + -112.34667206279902, + 27.54138567709355 + ], + [ + -111.85861207471801, + 26.661941534538737 + ], + [ + -111.68750764145902, + 26.600587863463325 + ], + [ + -111.844993572242, + 26.902080544333792 + ], + [ + -111.56188203231501, + 26.71965025280304 + ], + [ + -111.299728394867, + 25.780277231982 + ], + [ + -110.686256389803, + 24.89638712280047 + ], + [ + -110.691184969847, + 24.386873251309122 + ], + [ + -110.35417174559701, + 24.11583326961156 + ], + [ + -110.21000671720701, + 24.348194113744544 + ], + [ + -109.79972838575, + 24.012218485292962 + ], + [ + -109.682510367885, + 23.656665784178504 + ], + [ + -109.40750121349798, + 23.4612483748207 + ], + [ + -109.518753055521, + 23.124582302652247 + ], + [ + -109.99819186016202, + 22.881942760734173 + ], + [ + -110.31118774936301, + 23.56069186039189 + ], + [ + -112.087509176546, + 24.756107316795383 + ], + [ + -112.10014343804902, + 25.728054035175795 + ], + [ + -112.40068817766702, + 26.27610968148286 + ], + [ + -114.47549436418102, + 27.238054271371375 + ], + [ + -115.04389951814001, + 27.817775718914138 + ], + [ + -114.00598145862101, + 27.68680379485624 + ], + [ + -114.307640081067, + 27.86592481955561 + ], + [ + -114.15077971834302, + 28.019506455618625 + ] + ] + ], + [ + [ + [ + -38.61028289585629, + 82.74359131690856 + ], + [ + -38.5358352725663, + 82.82249450017206 + ], + [ + -39.147220617392385, + 82.97942351885258 + ], + [ + -37.2702789170848, + 83.00526429263452 + ], + [ + -38.797363267586896, + 83.0560913185722 + ], + [ + -36.87791441865218, + 83.1486053352345 + ], + [ + -38.678054813841506, + 83.20526122615385 + ], + [ + -38.8552780214302, + 83.24942778499913 + ], + [ + -38.856391903649, + 83.43165587456446 + ], + [ + -37.7961120557634, + 83.35914611649815 + ], + [ + -38.05860901449409, + 83.43136597535054 + ], + [ + -37.625831595374876, + 83.5041656637292 + ], + [ + -36.4380493027258, + 83.36109925103247 + ], + [ + -36.90083312528811, + 83.49247742624327 + ], + [ + -34.726104725824506, + 83.60137939384367 + ], + [ + -33.882774353710204, + 83.45248411616538 + ], + [ + -33.7470817430306, + 83.48317717211249 + ], + [ + -34.08153151871831, + 83.56401063259167 + ], + [ + -32.579170234677186, + 83.6235961786649 + ], + [ + -25.653402321282304, + 83.29047393115155 + ], + [ + -26.956108101054195, + 83.14360045325785 + ], + [ + -30.047500613703193, + 83.17137147315735 + ], + [ + -31.929164884781308, + 83.05165099681122 + ], + [ + -33.3877792205857, + 83.15054320045813 + ], + [ + -32.4722175454105, + 83.0438766474998 + ], + [ + -35.40694428727069, + 82.91110230996252 + ], + [ + -35.5509719823748, + 82.76138304927936 + ], + [ + -34.886947632679686, + 82.90637205788909 + ], + [ + -33.92444610622238, + 82.9033203104467 + ], + [ + -33.88194275159919, + 82.78887940817707 + ], + [ + -33.53694915926561, + 82.9452514546499 + ], + [ + -30.059444417777897, + 83.12553405988552 + ], + [ + -26.66500090120691, + 83.06080627023672 + ], + [ + -25.1883316162385, + 83.16331481263995 + ], + [ + -24.750835420352697, + 83.0037383878149 + ], + [ + -25.899028775320193, + 82.77609252668466 + ], + [ + -23.992774974278106, + 82.9116516008673 + ], + [ + -23.842222214482007, + 82.8951263505268 + ], + [ + -24.022224436611808, + 82.75721741961817 + ], + [ + -23.378887172914492, + 82.84887694575268 + ], + [ + -21.316389077595606, + 82.61095427877375 + ], + [ + -22.481666552113296, + 82.3308258065898 + ], + [ + -25.06888962599619, + 82.15248106657769 + ], + [ + -31.591388700649492, + 82.2083282438028 + ], + [ + -29.9081935923676, + 82.09526823454908 + ], + [ + -33.09833525605881, + 81.77388000135544 + ], + [ + -33.0183334287889, + 81.65637208233281 + ], + [ + -28.997219085562595, + 81.99443054657226 + ], + [ + -25.20249939074681, + 81.98651121655568 + ], + [ + -25.428333272945807, + 81.74803160846733 + ], + [ + -27.628471360276006, + 81.48901365799209 + ], + [ + -27.186388027118483, + 81.40596008327982 + ], + [ + -27.570972454135696, + 81.38970946284249 + ], + [ + -27.328613290497785, + 81.3808136122064 + ], + [ + -24.21055602106189, + 81.70832825979993 + ], + [ + -24.002223972019692, + 82.00971985350395 + ], + [ + -22.301391597082187, + 82.08442686848478 + ], + [ + -22.016944895425812, + 81.93304443467794 + ], + [ + -21.973609938691506, + 81.73304747006034 + ], + [ + -22.2311096345517, + 81.4658203214529 + ], + [ + -24.51166915976029, + 80.54081726764207 + ], + [ + -20.769168859204914, + 81.58055115403471 + ], + [ + -19.940834038607605, + 81.68304442712751 + ], + [ + -20.305557259633893, + 81.4510955747368 + ], + [ + -18.017223354015695, + 81.46804808589049 + ], + [ + -17.803333275891298, + 81.55026243938559 + ], + [ + -17.85958289741239, + 81.73151397723291 + ], + [ + -17.534725203169696, + 81.85359192941144 + ], + [ + -16.70055389848479, + 81.93193055245939 + ], + [ + -14.76805687936479, + 81.91831968796195 + ], + [ + -12.157639504892504, + 81.60067750491923 + ], + [ + -14.027223574347012, + 81.14193725082787 + ], + [ + -14.975276943190114, + 81.12831114811836 + ], + [ + -15.138958915582206, + 81.08464051533663 + ], + [ + -14.6505565794483, + 80.94692992997464 + ], + [ + -16.005001065629397, + 80.72859191098297 + ], + [ + -17.959163650565387, + 80.80525206049802 + ], + [ + -18.577777847801713, + 80.62525938557471 + ], + [ + -20.087501520749992, + 80.68719481947228 + ], + [ + -21.24888609850791, + 80.57158660794579 + ], + [ + -17.438610085963507, + 80.6296997073359 + ], + [ + -16.11923407514581, + 80.50693513375178 + ], + [ + -17.113887794121304, + 80.23692321740076 + ], + [ + -19.700832381900298, + 80.28581237811484 + ], + [ + -20.37333297162299, + 80.1224823151311 + ], + [ + -20.752361297658297, + 79.86235045133866 + ], + [ + -20.348888391265895, + 79.77276612092857 + ], + [ + -19.927497866210313, + 79.83137511528389 + ], + [ + -20.257225040029095, + 79.88136292000439 + ], + [ + -19.289443970593595, + 80.10331724665392 + ], + [ + -17.45076178279129, + 80.05657959711911 + ], + [ + -18.222499861611595, + 79.75498962677017 + ], + [ + -19.228611005804794, + 79.78887937976667 + ], + [ + -19.631389609488696, + 79.66137696610134 + ], + [ + -19.799999246549003, + 79.45796965847863 + ], + [ + -19.656387336951205, + 79.3502655076581 + ], + [ + -19.86458398359291, + 79.1519317472624 + ], + [ + -19.57361221724449, + 79.33110047027931 + ], + [ + -19.09166718240571, + 79.29998780372371 + ], + [ + -19.079444892227084, + 79.20249176240308 + ], + [ + -19.378334060491802, + 79.2749939013633 + ], + [ + -20.091110240400198, + 79.06359862957189 + ], + [ + -19.9147224289263, + 78.96415710392176 + ], + [ + -20.018058779436686, + 78.87719726014095 + ], + [ + -21.183609017954105, + 78.80727386207464 + ], + [ + -20.909860598658607, + 78.6212310882063 + ], + [ + -22.036945328919384, + 77.6856765675451 + ], + [ + -21.429531093310093, + 77.67485808989761 + ], + [ + -21.724998474361296, + 77.54914856075065 + ], + [ + -21.578334817321192, + 77.56414793736985 + ], + [ + -20.86639023952381, + 78.01527406106764 + ], + [ + -19.2399978687701, + 77.76304625798113 + ], + [ + -18.958747864163012, + 77.62990570577499 + ], + [ + -20.2569465539253, + 77.72915650498472 + ], + [ + -20.913887031915312, + 77.66609191955767 + ], + [ + -20.246803284573407, + 77.5580367922807 + ], + [ + -20.403888697069302, + 77.50721741654746 + ], + [ + -21.049583436598805, + 77.54484556949038 + ], + [ + -19.036388390498406, + 77.22526549012554 + ], + [ + -18.39583206944251, + 77.34275817093597 + ], + [ + -18.144721973677004, + 77.08749388971783 + ], + [ + -18.305278775322197, + 76.80609131639748 + ], + [ + -20.723052990927705, + 76.98831175575843 + ], + [ + -21.0336131992673, + 76.945808401135 + ], + [ + -20.580417633047794, + 76.921783462485 + ], + [ + -21.727914819403193, + 76.8816528219062 + ], + [ + -21.072776804236298, + 76.86499024106482 + ], + [ + -21.604999543009612, + 76.64471435684965 + ], + [ + -22.240554807191106, + 76.85720824154907 + ], + [ + -22.73888779296799, + 76.70443726452196 + ], + [ + -21.814445505369005, + 76.59027099215575 + ], + [ + -21.679164886191796, + 76.52193451395507 + ], + [ + -21.910945900558595, + 76.48182679289137 + ], + [ + -21.7221088428385, + 76.42097473368965 + ], + [ + -22.177194600446096, + 76.42414857342052 + ], + [ + -21.721942901816703, + 76.41181184115793 + ], + [ + -21.68222045873639, + 76.23915101652052 + ], + [ + -19.8058357306366, + 76.22859193056402 + ], + [ + -19.71611024462349, + 76.05970763250198 + ], + [ + -21.98152541250749, + 75.9905395521903 + ], + [ + -19.825000768015396, + 75.90914918170007 + ], + [ + -19.33680532948621, + 75.4020690888977 + ], + [ + -19.58861159386379, + 75.137908925945 + ], + [ + -19.89833450908659, + 75.14721679918198 + ], + [ + -20.135555254250892, + 75.3316650340788 + ], + [ + -20.685276032177196, + 75.29248046879349 + ], + [ + -21.501667017601406, + 75.54971312275812 + ], + [ + -22.251113893147707, + 75.66415405612605 + ], + [ + -21.406805041215108, + 75.4542999273665 + ], + [ + -22.511390675448595, + 75.530822746381 + ], + [ + -21.4150009292352, + 75.42359925231328 + ], + [ + -20.515003190894788, + 75.1408233739851 + ], + [ + -21.229721061129084, + 75.11192320255607 + ], + [ + -21.740413667585297, + 74.97650910907875 + ], + [ + -21.92888640763849, + 75.07832334877348 + ], + [ + -22.42583085019499, + 75.1591491590482 + ], + [ + -21.742496482415888, + 74.95359802154915 + ], + [ + -20.6388893280006, + 75.06192015962327 + ], + [ + -20.61555480475999, + 74.73081971189464 + ], + [ + -21.11736107668809, + 74.66026305726415 + ], + [ + -19.3927764960017, + 74.6847076376212 + ], + [ + -18.9781932846476, + 74.48345946028408 + ], + [ + -19.684997546969388, + 74.23748778299219 + ], + [ + -20.363334651878098, + 74.4430389515898 + ], + [ + -21.661109937027906, + 74.4472045812508 + ], + [ + -22.100555411247406, + 74.59664918093235 + ], + [ + -21.764169698436387, + 74.42248533989219 + ], + [ + -22.16305540536041, + 74.11276245576767 + ], + [ + -22.49152564435539, + 74.07637786533984 + ], + [ + -21.98624801437629, + 74.00032805287364 + ], + [ + -21.821666707574707, + 73.651092515424 + ], + [ + -21.706247325486892, + 73.69512177486689 + ], + [ + -21.914443972128595, + 74.01054381257815 + ], + [ + -21.748607627505102, + 74.05831909107354 + ], + [ + -20.27944564995259, + 73.87692260361914 + ], + [ + -20.5330581711572, + 73.7208251870496 + ], + [ + -20.3709716706885, + 73.52471160308379 + ], + [ + -20.5011139024904, + 73.45277405543736 + ], + [ + -21.560832984164392, + 73.47804258770088 + ], + [ + -22.379165659914502, + 73.25054932638213 + ], + [ + -23.506389617678106, + 73.44470215670766 + ], + [ + -24.032222756356706, + 73.70248413267579 + ], + [ + -22.6944427480189, + 73.54443358157181 + ], + [ + -22.185554501387703, + 73.62331390751682 + ], + [ + -22.7472190833886, + 73.56303405873508 + ], + [ + -24.02722549348619, + 73.81526183072323 + ], + [ + -24.7305526756529, + 73.56944275324291 + ], + [ + -25.688749313847893, + 73.95234680972553 + ], + [ + -24.6754169363506, + 73.518386843137 + ], + [ + -26.01250077607631, + 73.24220276665085 + ], + [ + -27.337501522027793, + 73.49247740410469 + ], + [ + -27.457916269984185, + 73.44206236966926 + ], + [ + -26.389720917184288, + 73.24866485709823 + ], + [ + -27.72833252763321, + 73.13179016354154 + ], + [ + -26.013614658295, + 73.19970703113385 + ], + [ + -25.051250462338608, + 73.08096313760382 + ], + [ + -25.1597213751219, + 72.92747496945141 + ], + [ + -26.02722549169401, + 72.78720091250598 + ], + [ + -26.7163886933563, + 72.87109373953363 + ], + [ + -27.38777732896041, + 72.84068299479262 + ], + [ + -26.305139540650586, + 72.72568512031529 + ], + [ + -26.46277617215169, + 72.57221984057969 + ], + [ + -25.566665639565304, + 72.8330535950883 + ], + [ + -24.8424987715894, + 72.71943664472532 + ], + [ + -24.6099300349432, + 72.52429199337115 + ], + [ + -25.907499324342, + 72.41540526398295 + ], + [ + -25.288335805102395, + 72.38304138470784 + ], + [ + -25.513057702084588, + 72.12025452676323 + ], + [ + -25.1936111592168, + 72.35775758313355 + ], + [ + -24.58833313437769, + 72.42109679846375 + ], + [ + -22.494441989397284, + 71.892761234346 + ], + [ + -23.129306807070904, + 71.62789153047235 + ], + [ + -22.42972181885451, + 71.79498291291767 + ], + [ + -22.636112208669207, + 71.57707977384524 + ], + [ + -21.8980541241886, + 71.73831175268766 + ], + [ + -22.540279402669096, + 71.48394011972483 + ], + [ + -22.471109394257088, + 71.26068877242372 + ], + [ + -21.8055572427405, + 71.50942991705014 + ], + [ + -21.607776629450388, + 71.32443236015014 + ], + [ + -21.683332443953294, + 71.15408326560981 + ], + [ + -22.32819365327139, + 71.05380248764389 + ], + [ + -21.679027555691015, + 71.06637572318058 + ], + [ + -21.739166248869605, + 70.57470702959844 + ], + [ + -21.475831997022105, + 70.54164887871295 + ], + [ + -22.373056411827207, + 70.44059754478042 + ], + [ + -22.50694655968359, + 70.85054016072657 + ], + [ + -22.622776036271887, + 70.44664002461921 + ], + [ + -23.3490276471787, + 70.43997955752674 + ], + [ + -24.021945950507885, + 70.65220643142926 + ], + [ + -24.192497246795796, + 71.01304627180377 + ], + [ + -24.739997848292305, + 71.33221435966603 + ], + [ + -25.099166865338702, + 71.29832457557112 + ], + [ + -25.623889915802394, + 71.53720093694967 + ], + [ + -26.950275410970406, + 71.57859802846025 + ], + [ + -27.69388962753122, + 71.93026732609883 + ], + [ + -28.639720922942708, + 72.12442015642432 + ], + [ + -28.358333587834686, + 72.01512908573821 + ], + [ + -28.461109172133597, + 71.93664551308348 + ], + [ + -27.439441679113386, + 71.73609925756088 + ], + [ + -28.46694183111899, + 71.55247497457054 + ], + [ + -27.3849983144193, + 71.60247801750357 + ], + [ + -25.412361138612486, + 71.35095978643635 + ], + [ + -25.59777830612101, + 71.16914368837323 + ], + [ + -26.478885636985794, + 70.96026611133158 + ], + [ + -27.500833513111896, + 70.93747711609049 + ], + [ + -27.798889151165206, + 71.14971922820509 + ], + [ + -27.92069244234201, + 71.12998198040621 + ], + [ + -27.855834972396796, + 70.9713745192914 + ], + [ + -28.405414594720007, + 70.9770660537721 + ], + [ + -27.9156932824696, + 70.86956024849837 + ], + [ + -28.305416096861993, + 70.55983733327544 + ], + [ + -29.203678140627595, + 70.39303588114234 + ], + [ + -28.29777907805149, + 70.50749205272265 + ], + [ + -28.22527693909131, + 70.36831663978361 + ], + [ + -26.724441528771408, + 70.47859191239213 + ], + [ + -26.32694626206969, + 70.37879944138375 + ], + [ + -28.54277802872771, + 70.0447082612586 + ], + [ + -27.3419456377929, + 69.96249390776367 + ], + [ + -26.89888761882099, + 70.2485961945358 + ], + [ + -26.307502738586997, + 70.19775389928738 + ], + [ + -25.229164116435282, + 70.41442871405712 + ], + [ + -23.5605583213705, + 70.10609437315289 + ], + [ + -22.08110999076269, + 70.13713837445829 + ], + [ + -23.08139037297239, + 69.86804199477925 + ], + [ + -22.9091663252562, + 69.80997467222275 + ], + [ + -23.00041578798851, + 69.75666045905817 + ], + [ + -23.688610088137395, + 69.70999144367555 + ], + [ + -23.58069418836309, + 69.62581633653994 + ], + [ + -23.792778009660402, + 69.5108184931609 + ], + [ + -24.347221389455605, + 69.60199736254276 + ], + [ + -24.073541635410514, + 69.47963716135493 + ], + [ + -24.664165506884206, + 69.24693299120989 + ], + [ + -25.20972062405101, + 69.2744293190093 + ], + [ + -24.99277497338199, + 69.16331482518378 + ], + [ + -26.363334646501393, + 68.66748047084204 + ], + [ + -28.847778310983294, + 68.3186035289551 + ], + [ + -29.187221524439213, + 68.39054869570751 + ], + [ + -29.37694550831041, + 68.19941710530138 + ], + [ + -29.866109848353, + 68.41318512223563 + ], + [ + -30.196945182286402, + 68.24247743213247 + ], + [ + -30.025835047887202, + 68.11303712214519 + ], + [ + -30.709720603573185, + 68.26081848650651 + ], + [ + -30.813611998191, + 68.2444915817127 + ], + [ + -30.422916426084605, + 68.06525422454364 + ], + [ + -31.571666722161396, + 68.06694031718247 + ], + [ + -31.745830532103298, + 68.20734405442418 + ], + [ + -31.530347812009296, + 68.23429109131868 + ], + [ + -32.00722502172531, + 68.26193236872518 + ], + [ + -32.47583009016289, + 68.62191771857184 + ], + [ + -32.55750274076091, + 68.48776245692032 + ], + [ + -32.133331304162404, + 68.19609069685748 + ], + [ + -32.3916702212397, + 68.22637938040829 + ], + [ + -32.400276172662004, + 68.19941710530138 + ], + [ + -31.999164567203987, + 68.0952606279869 + ], + [ + -32.13194276094189, + 67.84887695919255 + ], + [ + -33.0579147473645, + 67.63505554631854 + ], + [ + -33.36625291337088, + 67.24748231500509 + ], + [ + -33.9730529868288, + 66.99053956025426 + ], + [ + -34.09249877107502, + 66.69970702140856 + ], + [ + -34.71999358073519, + 66.33831785903071 + ], + [ + -35.203887925006086, + 66.23776245116169 + ], + [ + -35.85583496522789, + 66.43247987280122 + ], + [ + -35.551391592983286, + 66.2431717055346 + ], + [ + -35.640838623991016, + 66.11859129681868 + ], + [ + -37.19305420735409, + 65.76914979471624 + ], + [ + -37.81076431212679, + 66.02928924651647 + ], + [ + -37.38111113080258, + 66.3174896174299 + ], + [ + -38.1061096319879, + 66.38693235874334 + ], + [ + -37.69437027532298, + 66.26429749655388 + ], + [ + -37.9868049722464, + 66.23095703446229 + ], + [ + -38.05194092829548, + 65.91249083731626 + ], + [ + -38.4806938111599, + 66.01332855639146 + ], + [ + -38.1029853941929, + 65.80227661085206 + ], + [ + -38.24652863854019, + 65.62831114645701 + ], + [ + -39.0575027504854, + 65.55941772714681 + ], + [ + -39.324447618985, + 65.71554565123934 + ], + [ + -39.20111083498091, + 65.583602915813 + ], + [ + -39.660274493684696, + 65.67998504381633 + ], + [ + -39.8294448969567, + 65.49581908902732 + ], + [ + -40.09638976545631, + 65.56721496487495 + ], + [ + -40.215003978689886, + 65.49345399408915 + ], + [ + -39.755561833882204, + 65.2427520647238 + ], + [ + -40.256393419996016, + 65.01638795493449 + ], + [ + -40.59610746935129, + 65.13499451796338 + ], + [ + -41.155414575520005, + 64.96234893153824 + ], + [ + -40.432502745365994, + 64.42248534885213 + ], + [ + -41.5679893593982, + 64.263877856639 + ], + [ + -40.56777953944079, + 64.10914612597131 + ], + [ + -40.51597596178509, + 63.699573518697946 + ], + [ + -41.617774962371506, + 63.792221071857284 + ], + [ + -40.74833680567811, + 63.50916291342116 + ], + [ + -41.414443970203706, + 63.549438472508555 + ], + [ + -41.11333465660759, + 63.307212814269214 + ], + [ + -41.85514068824111, + 63.48499299406584 + ], + [ + -41.4324302541172, + 63.120964044649604 + ], + [ + -42.02305602259278, + 63.24694061569201 + ], + [ + -41.53881835207002, + 63.032146445104 + ], + [ + -41.7302780305158, + 63.029716478919305 + ], + [ + -42.17319489388459, + 63.20304871784841 + ], + [ + -41.9997253555529, + 63.03137971423947 + ], + [ + -41.61791611797452, + 62.98929976422872 + ], + [ + -41.75167083233209, + 62.84068297265428 + ], + [ + -43.03417204876269, + 62.72193146001836 + ], + [ + -42.36472703158469, + 62.55957412365026 + ], + [ + -42.165344229118396, + 62.38262940216534 + ], + [ + -42.98041533657269, + 62.51096724304394 + ], + [ + -42.321113588746584, + 62.308601389483925 + ], + [ + -42.115837112249, + 62.006660473777025 + ], + [ + -42.3255615296138, + 61.76138306809532 + ], + [ + -42.782775878885616, + 61.78665925056329 + ], + [ + -42.317642199597216, + 61.642635349463085 + ], + [ + -42.434722888905085, + 61.55721282361188 + ], + [ + -43.07917024081729, + 61.59360503314577 + ], + [ + -42.52826309031959, + 61.52707670877406 + ], + [ + -42.507507339071495, + 61.35527037466438 + ], + [ + -43.24444578813071, + 61.33735275600127 + ], + [ + -42.664302821255106, + 61.25652694572665 + ], + [ + -42.5779190129966, + 61.193462360299655 + ], + [ + -43.089721676569305, + 61.19748686545615 + ], + [ + -42.63402937591649, + 61.10117340270304 + ], + [ + -43.6123619122024, + 61.126380919920734 + ], + [ + -42.70777510849008, + 61.05915832393885 + ], + [ + -43.008613586186804, + 60.88388060067984 + ], + [ + -43.483608254719286, + 60.93568420943402 + ], + [ + -42.7908401585091, + 60.80110168696924 + ], + [ + -43.524650575769506, + 60.836936955393824 + ], + [ + -42.7872238197528, + 60.744995118053225 + ], + [ + -42.8346519468939, + 60.57110214401071 + ], + [ + -43.208610519706106, + 60.464439385056195 + ], + [ + -43.69777678784911, + 60.71568681132262 + ], + [ + -43.6299972507578, + 60.5486068730857 + ], + [ + -44.19388580319239, + 60.63402174873233 + ], + [ + -43.31465149740289, + 60.440963737311016 + ], + [ + -43.587638845741516, + 60.3052673326275 + ], + [ + -43.1662483206859, + 60.396244062458564 + ], + [ + -43.09277342401172, + 60.25721739313051 + ], + [ + -43.322013855211715, + 60.21367264664119 + ], + [ + -43.08721925113021, + 60.100273136237675 + ], + [ + -44.113891595028505, + 60.18360137195161 + ], + [ + -44.0825042674713, + 60.2875633288218 + ], + [ + -44.6105575514813, + 59.981376642896386 + ], + [ + -45.1690292304367, + 60.09221268171656 + ], + [ + -44.824447629605594, + 60.189987178042585 + ], + [ + -44.47083281653911, + 60.55721282450793 + ], + [ + -45.186527238491294, + 60.12929533775848 + ], + [ + -44.7762489464978, + 60.64665985551551 + ], + [ + -45.2177734415439, + 60.4341583206115 + ], + [ + -45.48735809708189, + 60.49186707870371 + ], + [ + -45.31333161764079, + 60.69999695709691 + ], + [ + -45.55638884689268, + 60.504165653238715 + ], + [ + -45.9779815736956, + 60.57791138581251 + ], + [ + -45.40916442364101, + 60.88304899856884 + ], + [ + -45.43388366499959, + 60.93193815928305 + ], + [ + -45.80694579555271, + 60.74610138116583 + ], + [ + -45.83124925140509, + 60.84915542047003 + ], + [ + -46.22235488691359, + 60.75805283544502 + ], + [ + -45.3444442841965, + 61.07582855498474 + ], + [ + -46.06555175452551, + 60.92110444342322 + ], + [ + -45.65361022721161, + 61.14221954885554 + ], + [ + -45.86666870322501, + 61.215133679318164 + ], + [ + -45.77416609967272, + 61.334159852955985 + ], + [ + -46.0097274657173, + 61.22304535913036 + ], + [ + -45.8395805418257, + 61.162769304352466 + ], + [ + -45.91500092282969, + 61.090270990494666 + ], + [ + -46.22943878971701, + 60.97470855580164 + ], + [ + -46.40416715987429, + 61.06888198268203 + ], + [ + -46.86222076146159, + 60.797355636818224 + ], + [ + -47.023056018112314, + 60.97609709902205 + ], + [ + -48.226943981591795, + 60.81610106358856 + ], + [ + -47.689857485346494, + 61.00680159917764 + ], + [ + -48.40666578951729, + 60.99207688355996 + ], + [ + -47.920696249522095, + 61.32256699423937 + ], + [ + -48.4102783342698, + 61.132209784902244 + ], + [ + -48.6391677890134, + 61.210407252347046 + ], + [ + -48.3786086955063, + 61.36388397629117 + ], + [ + -49.0652770908356, + 61.39943696460806 + ], + [ + -48.2327041502245, + 61.53589630615208 + ], + [ + -48.344162001400505, + 61.604995721213385 + ], + [ + -48.94888305403169, + 61.46554564727286 + ], + [ + -49.29750060422771, + 61.5574951037197 + ], + [ + -48.59921263666289, + 61.63633727193709 + ], + [ + -49.1490287933586, + 61.71984864608391 + ], + [ + -48.77527618519929, + 61.98721312519202 + ], + [ + -49.23805235755701, + 61.71166230527011 + ], + [ + -49.43860626328409, + 61.84130857991012 + ], + [ + -48.8425674464316, + 62.07610704019243 + ], + [ + -49.013618462786795, + 62.19526671922872 + ], + [ + -49.172225955, + 62.01610564641642 + ], + [ + -49.669448852562, + 61.99554444671093 + ], + [ + -49.6977767824724, + 62.112213144516446 + ], + [ + -49.4022216728563, + 62.25582884811805 + ], + [ + -49.807777394079295, + 62.25027464413835 + ], + [ + -50.315624248844316, + 62.49430083710044 + ], + [ + -50.1508331211892, + 62.93082427527209 + ], + [ + -49.69971847279831, + 63.05526732238892 + ], + [ + -50.11305998754101, + 62.9627685439389 + ], + [ + -50.32278061090189, + 62.82860566318117 + ], + [ + -50.60639191644348, + 63.09443664946202 + ], + [ + -50.1366653466809, + 63.214714035819334 + ], + [ + -51.0594406049557, + 63.18415831037291 + ], + [ + -51.10736465816031, + 63.34040450165174 + ], + [ + -50.27965164991892, + 63.40061568518293 + ], + [ + -51.15833283970111, + 63.378044129901234 + ], + [ + -50.748474127217804, + 63.53832627054494 + ], + [ + -51.1318054134151, + 63.62026978814067 + ], + [ + -50.59749603470888, + 63.642494192067936 + ], + [ + -51.0819435260853, + 63.66540907360166 + ], + [ + -51.184371959029804, + 63.622421268221565 + ], + [ + -51.20916748474499, + 63.524436951042055 + ], + [ + -51.54028320178408, + 63.751941687667774 + ], + [ + -50.92430879158619, + 63.930965429979295 + ], + [ + -51.4308319121806, + 63.80360414081866 + ], + [ + -51.657775882594514, + 64.0105438215382 + ], + [ + -50.25083923815338, + 64.22331236723929 + ], + [ + -51.445831288799894, + 64.07804869762789 + ], + [ + -51.748474126321696, + 64.2020721341362 + ], + [ + -50.95083618677381, + 64.2180480935717 + ], + [ + -50.88249970857311, + 64.40776063323453 + ], + [ + -50.352226248133285, + 64.38275146156352 + ], + [ + -50.208377835261494, + 64.44315337153532 + ], + [ + -50.64083861054931, + 64.46971130534425 + ], + [ + -50.735557565429104, + 64.64526365850656 + ], + [ + -50.52527617585649, + 64.70498656617895 + ], + [ + -50.07041550841309, + 64.47412108848414 + ], + [ + -49.58777617086559, + 64.35359192954202 + ], + [ + -50.56402968632491, + 64.77040862743807 + ], + [ + -50.8469467202563, + 65.15832518500339 + ], + [ + -50.9819412342234, + 65.2167968799561 + ], + [ + -50.63409806509639, + 64.75832366776025 + ], + [ + -51.14333343198349, + 64.61360166994764 + ], + [ + -51.0238876477373, + 64.75471497920847 + ], + [ + -51.22416686136429, + 64.76220701731366 + ], + [ + -51.66500090990249, + 64.3060913120484 + ], + [ + -52.004726403466215, + 64.2017974731344 + ], + [ + -52.11624909479029, + 64.72276306033737 + ], + [ + -51.249862685539306, + 65.01547241826229 + ], + [ + -52.2113876291803, + 64.80664061805437 + ], + [ + -52.1222229093788, + 65.01638030472976 + ], + [ + -52.2729148966776, + 65.09540558028182 + ], + [ + -52.09972381335151, + 65.23915099527811 + ], + [ + -52.222770698141694, + 65.32777404328091 + ], + [ + -52.519165028975, + 65.18525695258741 + ], + [ + -52.5621528654534, + 65.32005308990934 + ], + [ + -51.71930311899349, + 65.58346558531224 + ], + [ + -51.899234778871, + 65.62171172550873 + ], + [ + -51.69444275313011, + 65.69859314008576 + ], + [ + -50.546947463776704, + 65.70769501757155 + ], + [ + -51.4847259548714, + 65.76304626873318 + ], + [ + -51.948051449232416, + 65.65887452210784 + ], + [ + -51.9344406158335, + 65.54637145396343 + ], + [ + -52.4959030271855, + 65.38796995750153 + ], + [ + -52.799167645964815, + 65.5366516203224 + ], + [ + -52.7266616819023, + 65.74971009633596 + ], + [ + -53.26500321596949, + 65.74282836418155 + ], + [ + -52.69860841299349, + 65.93553160514237 + ], + [ + -52.31999969756671, + 65.86886598136817 + ], + [ + -51.921943664653384, + 66.03498840010329 + ], + [ + -52.31750489123369, + 65.89915466491905 + ], + [ + -52.61805726372042, + 65.97998047519368 + ], + [ + -53.1516647206119, + 65.85581970818475 + ], + [ + -53.467010505065, + 65.97241212163365 + ], + [ + -51.27138519875029, + 66.84387207811173 + ], + [ + -50.35444642456318, + 66.82748412717386 + ], + [ + -51.00750352190149, + 66.90221406166984 + ], + [ + -50.00111006650221, + 66.97644041989797 + ], + [ + -50.948608391237904, + 66.97859193107726 + ], + [ + -53.006668092896, + 66.19331361220867 + ], + [ + -53.620834349265095, + 66.14387512949128 + ], + [ + -53.1224975694843, + 66.28470612754619 + ], + [ + -53.61583329239068, + 66.24179078142038 + ], + [ + -53.62902451518101, + 66.50624084358704 + ], + [ + -52.417362202390294, + 66.5442886382368 + ], + [ + -53.451942432097006, + 66.6374969576077 + ], + [ + -52.8383903378793, + 66.70944977456473 + ], + [ + -53.20472336718778, + 66.74456023275782 + ], + [ + -52.98277283454222, + 66.85304258974958 + ], + [ + -52.23256302213541, + 66.83748627202094 + ], + [ + -53.675003052957386, + 66.91360474973736 + ], + [ + -53.82583619585941, + 66.97803495886967 + ], + [ + -53.22208021963929, + 66.99081422125597 + ], + [ + -53.961109164832, + 67.07429505678111 + ], + [ + -53.816665653123216, + 67.17886352559826 + ], + [ + -52.1513900605064, + 67.3699798466938 + ], + [ + -51.524719233851, + 67.3230438205139 + ], + [ + -51.1894378560523, + 67.12359617789939 + ], + [ + -50.35048675955488, + 67.18431855680477 + ], + [ + -51.14778137285071, + 67.13638305939175 + ], + [ + -51.5239601220927, + 67.349494931345 + ], + [ + -52.226387036898, + 67.38943481438473 + ], + [ + -53.7983398369616, + 67.20277405326269 + ], + [ + -53.803611760833704, + 67.4144287167451 + ], + [ + -52.49610902293671, + 67.76971435313983 + ], + [ + -51.809440627607394, + 67.62580871922573 + ], + [ + -51.3302841234177, + 67.67581176215862 + ], + [ + -50.700553899115505, + 67.49165345757422 + ], + [ + -50.19583131324381, + 67.46734617661953 + ], + [ + -50.070972449522415, + 67.51138305516851 + ], + [ + -50.84999846769859, + 67.60359193440462 + ], + [ + -49.94110870382439, + 67.69233704359752 + ], + [ + -51.0109748799524, + 67.62470245611316 + ], + [ + -51.23110960856459, + 67.71249390200504 + ], + [ + -50.41750335978562, + 67.84443663743136 + ], + [ + -50.77944184416659, + 67.90664673233037 + ], + [ + -50.678054803088195, + 67.85054016341446 + ], + [ + -51.173614496428215, + 67.75860594517995 + ], + [ + -51.33111572552869, + 67.86886597957616 + ], + [ + -50.97367478395091, + 67.88331603419228 + ], + [ + -51.0599975460651, + 67.97415160842014 + ], + [ + -51.5643081715327, + 67.93358611902055 + ], + [ + -51.32041930907141, + 67.81373596237803 + ], + [ + -51.7130584685057, + 67.69497679953744 + ], + [ + -52.34013749265961, + 67.82221223350395 + ], + [ + -51.6133346627476, + 67.97415160842014 + ], + [ + -53.729438767447014, + 67.53665161853053 + ], + [ + -53.53944397877481, + 67.71081542847226 + ], + [ + -53.627777096465294, + 67.81469727588366 + ], + [ + -53.19138336968818, + 68.04164886540377 + ], + [ + -52.691108693585505, + 67.95942689280247 + ], + [ + -52.240837091514, + 67.95082091028185 + ], + [ + -53.4500007728695, + 68.15137481600888 + ], + [ + -53.32111357888939, + 68.18441772868208 + ], + [ + -50.311668408938296, + 67.93247985590789 + ], + [ + -51.4347190868363, + 68.2001266462224 + ], + [ + -50.971382148266805, + 68.17761993108878 + ], + [ + -51.22083283381419, + 68.27360533690037 + ], + [ + -51.18277742005819, + 68.39443207635931 + ], + [ + -50.81999968336168, + 68.50360108585524 + ], + [ + -51.645004270412706, + 68.40776062965051 + ], + [ + -51.240837092410096, + 68.28997801852779 + ], + [ + -52.4463882601115, + 68.17886352470221 + ], + [ + -53.38861083587291, + 68.32902525331241 + ], + [ + -52.46166991683861, + 68.544982908055 + ], + [ + -51.03319931497809, + 68.57943725236541 + ], + [ + -50.65555191305699, + 68.82332611482677 + ], + [ + -51.2888221606606, + 68.74700164135902 + ], + [ + -51.07430647617639, + 69.13011931269907 + ], + [ + -50.322086339291815, + 68.90998840918928 + ], + [ + -50.687080396217404, + 69.12081147056047 + ], + [ + -50.19083405037329, + 69.14804075646441 + ], + [ + -50.13083265659709, + 69.2187423607018 + ], + [ + -51.12027360084289, + 69.200401306328 + ], + [ + -50.86583709663342, + 69.4574890106857 + ], + [ + -50.3672752266885, + 69.51271058155103 + ], + [ + -50.88277816357861, + 69.49553680533553 + ], + [ + -50.8005523658751, + 69.64221190658425 + ], + [ + -50.437274940209605, + 69.60912321707735 + ], + [ + -50.81541823709589, + 69.70762634873705 + ], + [ + -50.1916656524843, + 69.75749206116926 + ], + [ + -50.58930207478909, + 69.92372895308668 + ], + [ + -50.2176361065626, + 70.02429198006189 + ], + [ + -52.31277467025869, + 70.04664612648229 + ], + [ + -54.627220154459806, + 70.65304565264634 + ], + [ + -54.1286087136775, + 70.82916259712239 + ], + [ + -52.970832824471394, + 70.76443480747358 + ], + [ + -50.546527853168115, + 70.33998870987324 + ], + [ + -50.5872192288602, + 70.46582030021031 + ], + [ + -51.345275880930906, + 70.56415559384635 + ], + [ + -50.74110794430671, + 70.54525756726464 + ], + [ + -50.997222890950404, + 70.66453551348714 + ], + [ + -50.8478927644513, + 70.65470123776225 + ], + [ + -51.440967562426295, + 70.72575378735766 + ], + [ + -50.6318054294124, + 70.73706819106866 + ], + [ + -51.9524993900997, + 71.0211029012228 + ], + [ + -51.1899947971617, + 70.95387268613469 + ], + [ + -50.9180603159961, + 71.02026368000558 + ], + [ + -52.2459030196349, + 71.12191773188108 + ], + [ + -51.52611160217359, + 71.27803803686741 + ], + [ + -51.64555359241601, + 71.36137389168742 + ], + [ + -52.5551376279004, + 71.1762313851804 + ], + [ + -52.18555450560279, + 71.37915038584585 + ], + [ + -51.345970152541085, + 71.48415373458222 + ], + [ + -52.98617935244499, + 71.41803740171294 + ], + [ + -51.8027801605149, + 71.59443665739516 + ], + [ + -51.6434059063389, + 71.70895384402117 + ], + [ + -53.25055695535731, + 71.70277403368158 + ], + [ + -52.687149059675605, + 71.99998472841361 + ], + [ + -53.3219451810004, + 71.82221984902618 + ], + [ + -53.406105049923596, + 72.04470825946673 + ], + [ + -53.85653304581041, + 72.31887053616822 + ], + [ + -53.5575675931891, + 72.35289765076384 + ], + [ + -53.8547210668792, + 72.35276793936914 + ], + [ + -53.953891756630085, + 72.32485200096122 + ], + [ + -53.82791901069, + 72.15054321031393 + ], + [ + -53.39736176800051, + 71.84818268399827 + ], + [ + -53.8530578626572, + 71.62997437640125 + ], + [ + -53.898750295223614, + 71.44831846615766 + ], + [ + -54.643615724504, + 71.34915160150884 + ], + [ + -55.5150070157317, + 71.45138548291052 + ], + [ + -55.74083710392671, + 71.74552916088957 + ], + [ + -54.826530466573494, + 71.9170684842023 + ], + [ + -54.53666686033961, + 72.04136658171201 + ], + [ + -54.38930510658701, + 72.2229690649177 + ], + [ + -54.86194609329109, + 71.94274900796817 + ], + [ + -55.2983398511666, + 71.92858885256598 + ], + [ + -55.58000181617769, + 71.9988708461948 + ], + [ + -54.9316711458106, + 72.23831176778894 + ], + [ + -54.943031326355204, + 72.38034058262355 + ], + [ + -55.64722061815582, + 72.44226836631658 + ], + [ + -54.29930878467449, + 72.48123169763846 + ], + [ + -55.017364507561105, + 72.52346039126019 + ], + [ + -54.605415330042696, + 72.82637785868509 + ], + [ + -54.85055540522361, + 73.01443481323201 + ], + [ + -55.621383669476096, + 73.0560912964336 + ], + [ + -55.140560135962, + 73.20762633005204 + ], + [ + -55.456668857275886, + 73.25485228654405 + ], + [ + -55.2704200876563, + 73.38637544246038 + ], + [ + -55.64055632596101, + 73.5708312964633 + ], + [ + -56.071807871359006, + 73.64596557225728 + ], + [ + -55.6112518443326, + 73.72373198488509 + ], + [ + -55.944927207852906, + 73.8541488776886 + ], + [ + -55.641250597571194, + 73.86914825430782 + ], + [ + -56.286666882095204, + 74.10887145600977 + ], + [ + -56.129165652994594, + 74.27832031428719 + ], + [ + -57.32333754573859, + 74.10470579525024 + ], + [ + -56.1295814385009, + 74.38067625687898 + ], + [ + -56.79444886561369, + 74.44587708417467 + ], + [ + -56.19291306582339, + 74.5502624456573 + ], + [ + -57.01500702993669, + 74.67137146522403 + ], + [ + -57.18722153044648, + 74.77221680340526 + ], + [ + -56.8611144893879, + 74.80693053940664 + ], + [ + -57.026390067799696, + 74.91387940357103 + ], + [ + -58.0950012061059, + 75.04470825677866 + ], + [ + -57.95889280992011, + 75.185531604629 + ], + [ + -58.688049321660294, + 75.3422088507246 + ], + [ + -58.159580221045715, + 75.50859834245362 + ], + [ + -58.42361449770599, + 75.71971130303884 + ], + [ + -59.061668393322705, + 75.70416260441635 + ], + [ + -59.21611022477638, + 75.87220765016278 + ], + [ + -59.78472899818601, + 75.79637145255415 + ], + [ + -59.624637615081305, + 75.91601561344538 + ], + [ + -60.73805236280101, + 75.99331663863087 + ], + [ + -60.878608699854105, + 76.15248107195362 + ], + [ + -63.38555907946949, + 76.37275695616881 + ], + [ + -63.788894655361084, + 76.15693663192698 + ], + [ + -64.376525866338, + 76.25666046878344 + ], + [ + -65.354858402624, + 76.17082215742595 + ], + [ + -65.29652403817201, + 76.075408930936 + ], + [ + -65.47972106034919, + 76.01860047130356 + ], + [ + -65.8868026863918, + 76.10061644815359 + ], + [ + -65.5569381820722, + 76.23664855998302 + ], + [ + -65.7694549551885, + 76.27554322605454 + ], + [ + -66.19415282537342, + 76.28027344702951 + ], + [ + -66.4330596942749, + 76.08276366963881 + ], + [ + -66.9600067151722, + 76.26361083508989 + ], + [ + -67.30527496850739, + 76.1651229727407 + ], + [ + -66.6480560355119, + 75.93637084849787 + ], + [ + -68.3091583171647, + 76.07609558343998 + ], + [ + -69.63151551317239, + 76.37365722353033 + ], + [ + -67.98222349909729, + 76.67942809285096 + ], + [ + -70.0996551630695, + 76.80157471027978 + ], + [ + -69.79110717620969, + 76.97859192211739 + ], + [ + -70.5472259630568, + 76.7885894832408 + ], + [ + -71.37527464734569, + 77.05609132394812 + ], + [ + -70.1491699301434, + 77.24053955884482 + ], + [ + -68.54055784755201, + 77.16609190445664 + ], + [ + -66.4486083928974, + 77.13388062499271 + ], + [ + -66.171386718549, + 77.19025420470594 + ], + [ + -69.1016693135458, + 77.27192688640227 + ], + [ + -67.6199951155024, + 77.38638305798247 + ], + [ + -66.2383270344232, + 77.24859618826392 + ], + [ + -66.65701293229229, + 77.41248322345548 + ], + [ + -66.0555572419607, + 77.49136351830195 + ], + [ + -66.72333526091279, + 77.6784515402371 + ], + [ + -67.7886047214644, + 77.5083312987663 + ], + [ + -68.6994323816606, + 77.6638793933325 + ], + [ + -68.8155517574628, + 77.65138244215227 + ], + [ + -68.6056900095972, + 77.5192947260208 + ], + [ + -69.2502899302225, + 77.45304871285497 + ], + [ + -70.2888870148811, + 77.56679534351439 + ], + [ + -69.5011138896795, + 77.68470763493342 + ], + [ + -69.4813919111913, + 77.75263215272989 + ], + [ + -70.6027832099696, + 77.6780395487347 + ], + [ + -69.97492980474671, + 77.83457184522342 + ], + [ + -71.32000733074509, + 77.7636108492952 + ], + [ + -72.8697204575708, + 78.14553832296134 + ], + [ + -72.5522155739306, + 78.52110291005201 + ], + [ + -70.8719329855883, + 78.61109923196452 + ], + [ + -68.3405609140327, + 79.06303406935648 + ], + [ + -65.9766692969096, + 79.10165404332787 + ], + [ + -64.83528135864161, + 79.52192689216083 + ], + [ + -65.05139161319568, + 80.01693726349772 + ], + [ + -64.12054442509279, + 80.13832091296752 + ], + [ + -67.04972840718142, + 80.05747986448053 + ], + [ + -67.48361205831489, + 80.19081114312743 + ], + [ + -67.4819488540929, + 80.32415772218303 + ], + [ + -63.680557247976296, + 81.14387511605156 + ], + [ + -62.79444886023708, + 80.75109862611632 + ], + [ + -63.371108993755, + 81.15248871767825 + ], + [ + -61.0566635095539, + 81.11970519669606 + ], + [ + -60.89194487225138, + 81.16554260996776 + ], + [ + -61.31118012322211, + 81.35324858805818 + ], + [ + -60.76902769885588, + 81.49679565750772 + ], + [ + -61.45222473613418, + 81.75305175975474 + ], + [ + -60.8066635020033, + 81.87997437499206 + ], + [ + -58.8994445934517, + 81.86470030627277 + ], + [ + -58.6425018387008, + 81.67553711971162 + ], + [ + -56.47833252519379, + 81.33248901170788 + ], + [ + -59.46583174622311, + 81.99275969214577 + ], + [ + -55.9024963435824, + 82.26805115147513 + ], + [ + -55.11333464406211, + 82.1566467273374 + ], + [ + -55.6022224571996, + 82.280822763657 + ], + [ + -54.5052795327823, + 82.36553954259124 + ], + [ + -53.5597228983724, + 82.1160888570438 + ], + [ + -53.50833893132531, + 81.89387510760484 + ], + [ + -53.821533204599085, + 81.69567108970233 + ], + [ + -53.634445182664, + 81.5133209078482 + ], + [ + -53.47305298490389, + 81.5016632089836 + ], + [ + -53.5405578609936, + 81.67608641061643 + ], + [ + -52.93860627569689, + 81.85636901585225 + ], + [ + -53.0280532756061, + 82.01193237972905 + ], + [ + -52.89916990672832, + 82.03414916455026 + ], + [ + -49.6197891358811, + 81.64019774625213 + ], + [ + -51.06638717725821, + 81.93525696090326 + ], + [ + -49.435134874134796, + 81.92900848531318 + ], + [ + -50.6949996951356, + 82.18247985091469 + ], + [ + -51.11750030840601, + 82.49136351382205 + ], + [ + -49.86444855430922, + 82.51470948127103 + ], + [ + -44.639999394708816, + 81.75416564197334 + ], + [ + -44.230278012726295, + 81.84248352145154 + ], + [ + -44.9218063404253, + 81.9878997908745 + ], + [ + -44.50250245530261, + 82.08970641146308 + ], + [ + -44.79347611865301, + 82.18852233075359 + ], + [ + -44.6180572397909, + 82.27665710289742 + ], + [ + -42.30083466914902, + 82.21498871089538 + ], + [ + -43.8302841145894, + 82.33581541925584 + ], + [ + -43.728469843796205, + 82.40415192855482 + ], + [ + -45.76333617781678, + 82.76193237128248 + ], + [ + -42.14277649893909, + 82.76165771028087 + ], + [ + -41.682777413022016, + 82.47804261073544 + ], + [ + -41.60889434994759, + 82.64166260403145 + ], + [ + -41.8991661225816, + 82.73026276361756 + ], + [ + -41.550277705387906, + 82.73664856970836 + ], + [ + -39.7533378634486, + 82.4015197606226 + ], + [ + -40.01194761642528, + 82.55998230322894 + ], + [ + -39.9049987833592, + 82.67164611905777 + ], + [ + -40.1352767813232, + 82.71443175378886 + ], + [ + -42.191108718543816, + 82.85165406329176 + ], + [ + -45.993057265769785, + 82.84443665508991 + ], + [ + -46.88902664275311, + 82.96276855711749 + ], + [ + -45.986110693467296, + 82.91734313534799 + ], + [ + -46.701251968314, + 83.0030517664092 + ], + [ + -46.03305816385561, + 83.08859252834831 + ], + [ + -44.904441837769305, + 82.9458160459639 + ], + [ + -43.989440928805784, + 82.91192626186889 + ], + [ + -43.38666532940589, + 82.91442871840651 + ], + [ + -45.521106725573595, + 83.12109373812453 + ], + [ + -42.8727722318964, + 83.09275818910781 + ], + [ + -43.98309324934399, + 83.20104981965906 + ], + [ + -42.69499970230449, + 83.27442930646556 + ], + [ + -39.446945181771994, + 82.9577636751408 + ], + [ + -38.61028289585629, + 82.74359131690856 + ] + ] + ], + [ + [ + [ + -79.2368087806254, + 81.81608581729296 + ], + [ + -79.8533325205289, + 82.01887512496565 + ], + [ + -82.72867583587849, + 82.3983917178728 + ], + [ + -81.54194641106088, + 82.50054169019025 + ], + [ + -82.3918838533254, + 82.61602020186396 + ], + [ + -82.21528625822103, + 82.66859436638686 + ], + [ + -80.57987212893102, + 82.54457091998954 + ], + [ + -81.5791702303624, + 82.7929687511132 + ], + [ + -81.4730529737018, + 82.82499694656458 + ], + [ + -79.86166381448689, + 82.64414978547755 + ], + [ + -79.9722900332063, + 82.69261932064606 + ], + [ + -79.8297271771041, + 82.70887756004188 + ], + [ + -79.3847351144009, + 82.67276001336589 + ], + [ + -78.5119552546257, + 82.67900848383435 + ], + [ + -80.4300003008611, + 82.89082337050542 + ], + [ + -79.79333495622221, + 82.957489016115 + ], + [ + -77.12832641521001, + 82.86331176036188 + ], + [ + -75.89430999197229, + 82.59012603324904 + ], + [ + -76.23388672212032, + 82.44497680800343 + ], + [ + -75.5008392313577, + 82.60026550812236 + ], + [ + -77.37909699052729, + 82.99012756178743 + ], + [ + -74.43582152636829, + 83.02720642864462 + ], + [ + -72.63389586665559, + 82.69442748574546 + ], + [ + -72.5006942813826, + 82.72137451679457 + ], + [ + -73.64034270948069, + 82.9237976080085 + ], + [ + -71.7127838167229, + 83.0988769587178 + ], + [ + -71.5893173261709, + 83.08818054381521 + ], + [ + -71.78971862733569, + 83.01082610655213 + ], + [ + -70.8713836701169, + 82.88108825996837 + ], + [ + -71.481277460779, + 83.0068664612737 + ], + [ + -70.26000976712109, + 83.11387634979442 + ], + [ + -66.3004150362209, + 82.93067931426097 + ], + [ + -68.64250182756781, + 82.62858581530647 + ], + [ + -65.7677764856882, + 82.84304808874559 + ], + [ + -65.16277313585769, + 82.76533508990426 + ], + [ + -65.29833221882642, + 82.86942291745109 + ], + [ + -64.72972107406203, + 82.904159548927 + ], + [ + -64.9263839781472, + 82.87220001016507 + ], + [ + -63.49083709555579, + 82.82527160495479 + ], + [ + -63.38972091173418, + 82.7645721481744 + ], + [ + -63.84263991987512, + 82.71748352820586 + ], + [ + -62.9354133651442, + 82.57735443392197 + ], + [ + -63.36805343935469, + 82.44192504108345 + ], + [ + -62.245002754107404, + 82.52804566126875 + ], + [ + -61.076393128160305, + 82.32083129472511 + ], + [ + -64.35527038324298, + 81.72637939153714 + ], + [ + -68.1566619921153, + 81.56109618480521 + ], + [ + -69.29721069113849, + 81.71456909657563 + ], + [ + -68.367530820919, + 81.54747772474454 + ], + [ + -68.84923553402069, + 81.5438690177949 + ], + [ + -68.5794525121569, + 81.51443481473602 + ], + [ + -66.6231155376875, + 81.5138092022011 + ], + [ + -70.2081985443282, + 81.17678833238405 + ], + [ + -64.4439468321278, + 81.4819946316992 + ], + [ + -68.6725006097212, + 80.66693115010557 + ], + [ + -69.42749023125329, + 80.38275146413687 + ], + [ + -70.28443908571639, + 80.35108948514424 + ], + [ + -70.31416320947959, + 80.46443176313716 + ], + [ + -70.819442741378, + 80.55886841496637 + ], + [ + -70.4441528288903, + 80.34027100336077 + ], + [ + -69.96292113681429, + 80.25429535143532 + ], + [ + -70.1369400018403, + 80.19539642068933 + ], + [ + -72.41667174700079, + 80.20915984901033 + ], + [ + -71.89930724593489, + 80.1108169620939 + ], + [ + -72.3063812201121, + 80.05747985584101 + ], + [ + -70.5038223246154, + 80.09381102746663 + ], + [ + -71.4566726651113, + 79.90227509054172 + ], + [ + -70.913337699676, + 79.88262176914617 + ], + [ + -71.1838836632698, + 79.77748107916527 + ], + [ + -72.26722716883009, + 79.65914916320695 + ], + [ + -74.23889160295779, + 79.88720702695969 + ], + [ + -74.83966064911979, + 79.84734344413909 + ], + [ + -73.3847351035231, + 79.74887085127686 + ], + [ + -73.1304397560758, + 79.56044005983185 + ], + [ + -74.9344177304656, + 79.50326537518144 + ], + [ + -75.0583343564801, + 79.37387084367752 + ], + [ + -77.15152741011451, + 79.54553985007294 + ], + [ + -75.8953475920925, + 79.3534545963679 + ], + [ + -77.3591613716766, + 79.45555114267783 + ], + [ + -77.31723022768081, + 79.3277740527027 + ], + [ + -78.0513153027475, + 79.3508148170331 + ], + [ + -74.4969482488639, + 79.2249908446014 + ], + [ + -74.61749267844179, + 79.15138244348299 + ], + [ + -74.44284057763178, + 79.05907440208537 + ], + [ + -77.77749633985091, + 79.2088775576499 + ], + [ + -78.2465286191274, + 79.1719894459949 + ], + [ + -76.08348083958411, + 79.09651946958581 + ], + [ + -78.8854141164509, + 79.06178283810989 + ], + [ + -77.70916748158609, + 79.00908660670589 + ], + [ + -78.29138946316229, + 78.79373168559074 + ], + [ + -78.2480468793383, + 78.77026367136114 + ], + [ + -77.7119445743002, + 78.96609497702654 + ], + [ + -76.71055602613019, + 79.02832031726699 + ], + [ + -75.7262496925264, + 78.96734618628057 + ], + [ + -76.40319824663601, + 78.83901214046006 + ], + [ + -75.31610108168181, + 78.89221191751794 + ], + [ + -74.7750091544942, + 78.82998657727762 + ], + [ + -74.7234725900915, + 78.70443726323604 + ], + [ + -75.04804992916279, + 78.52804565401628 + ], + [ + -76.68634033248462, + 78.51453399852241 + ], + [ + -75.05722046060541, + 78.31275940540668 + ], + [ + -76.9102783203845, + 78.19831085478806 + ], + [ + -75.58236693884889, + 78.11144257100275 + ], + [ + -75.92277526741651, + 77.95664977747295 + ], + [ + -78.26083374097949, + 77.99525451197434 + ], + [ + -78.41538238493148, + 77.91011809753374 + ], + [ + -77.72430420185789, + 77.6038742139142 + ], + [ + -78.30387878085021, + 77.37330627677278 + ], + [ + -80.45611571767479, + 77.29609680776986 + ], + [ + -81.8300018233043, + 77.62386322714039 + ], + [ + -81.73999023034608, + 77.43886566557246 + ], + [ + -81.16722106185179, + 77.33380127134625 + ], + [ + -82.15875244841959, + 77.29817199219424 + ], + [ + -81.7966613693425, + 77.15748595788091 + ], + [ + -80.25862121517, + 77.21220397933405 + ], + [ + -80.3730468802254, + 77.07138061582552 + ], + [ + -79.25500487525039, + 77.21859741806253 + ], + [ + -79.00444794069868, + 77.10026550210424 + ], + [ + -79.3868102988254, + 76.9313659651737 + ], + [ + -78.7160339352455, + 76.82276915975228 + ], + [ + -78.07875061713659, + 77.0160980152783 + ], + [ + -77.7844467186088, + 76.78651428388149 + ], + [ + -77.7769470230704, + 76.65429687272126 + ], + [ + -78.3709640531099, + 76.46026610890584 + ], + [ + -78.78194427819001, + 76.57221222520066 + ], + [ + -79.26396942080831, + 76.3424148530382 + ], + [ + -81.05332946707848, + 76.1280364986028 + ], + [ + -80.7781982456713, + 76.42150878289515 + ], + [ + -82.04916381400449, + 76.51152039166925 + ], + [ + -82.7250061113044, + 76.81915282955381 + ], + [ + -82.1315917924208, + 76.44512176538484 + ], + [ + -82.9970855657914, + 76.42790222162374 + ], + [ + -83.4054183882876, + 76.75888062267265 + ], + [ + -83.5194854759491, + 76.70574187905527 + ], + [ + -83.18984985803868, + 76.42095946611475 + ], + [ + -84.2844390794663, + 76.65776062722655 + ], + [ + -84.2031173736757, + 76.45296477600301 + ], + [ + -85.0513916032851, + 76.51416015518824 + ], + [ + -84.38332367572959, + 76.31560516700002 + ], + [ + -85.1744384830027, + 76.28027343180153 + ], + [ + -86.3722229001168, + 76.38638304939715 + ], + [ + -86.21847534577218, + 76.52178955667253 + ], + [ + -86.594161983531, + 76.63499450547044 + ], + [ + -86.50805664147558, + 76.48776245673525 + ], + [ + -86.7138900770034, + 76.34706878335713 + ], + [ + -87.42666625708459, + 76.46859741867964 + ], + [ + -87.52861022770131, + 76.61498260668105 + ], + [ + -87.4094467133234, + 76.35040283191643 + ], + [ + -87.6488952612031, + 76.33804322017463 + ], + [ + -88.43207549978939, + 76.40012359215493 + ], + [ + -88.5188903733834, + 76.8160858161355 + ], + [ + -88.6926345800192, + 76.70471191800017 + ], + [ + -88.49291228576479, + 76.50026702092133 + ], + [ + -88.6563873273974, + 76.39833068936964 + ], + [ + -88.737220765664, + 76.59082030741087 + ], + [ + -88.94721984817059, + 76.40525818256444 + ], + [ + -89.5413818306543, + 76.54165648720193 + ], + [ + -89.52458191354329, + 76.84886933006777 + ], + [ + -88.42639160841532, + 77.12081909442473 + ], + [ + -86.73999023150299, + 77.17414856161275 + ], + [ + -87.24707794431649, + 77.30081939477815 + ], + [ + -86.8415298535994, + 77.35504913289127 + ], + [ + -87.70485686866081, + 77.35859680640029 + ], + [ + -87.70278168423641, + 77.53942870517328 + ], + [ + -88.2206268295772, + 77.66324614987009 + ], + [ + -88.06806945104611, + 77.8202667193336 + ], + [ + -86.42222595781041, + 77.8308258050411 + ], + [ + -85.71978759942208, + 77.46346282217519 + ], + [ + -84.47944640996128, + 77.29443359511457 + ], + [ + -84.6138915970552, + 77.38610076166306 + ], + [ + -83.46756744858932, + 77.34928894576268 + ], + [ + -83.82917022851059, + 77.45178223315969 + ], + [ + -83.21611022729661, + 77.5777740435988 + ], + [ + -82.3252105686509, + 78.07269286824106 + ], + [ + -82.6924896166972, + 78.04498291127784 + ], + [ + -83.89834594750909, + 77.4905395433545 + ], + [ + -84.76986694314938, + 77.52110290460227 + ], + [ + -84.86894988623251, + 77.56720733464209 + ], + [ + -84.52000427782221, + 77.66470337664052 + ], + [ + -84.43312073172268, + 77.72595977345031 + ], + [ + -84.9524993837726, + 77.60137938702356 + ], + [ + -85.4013900741296, + 77.81665038913502 + ], + [ + -84.37971496878009, + 77.90637207720494 + ], + [ + -85.6735382011222, + 77.93859099622692 + ], + [ + -84.5475006098358, + 78.07110595134057 + ], + [ + -85.08430480734752, + 78.09561156569045 + ], + [ + -84.9949951226788, + 78.16304016884605 + ], + [ + -84.1272201473672, + 78.17553710978285 + ], + [ + -84.970001224989, + 78.21082305803917 + ], + [ + -84.62596892715771, + 78.58928680432793 + ], + [ + -85.4861145009851, + 78.10247802544474 + ], + [ + -86.2881240857963, + 78.07880400951443 + ], + [ + -85.8330688439745, + 78.37997436779656 + ], + [ + -86.76306152046149, + 78.11499022869583 + ], + [ + -87.53236388709502, + 78.14060973892053 + ], + [ + -87.51014709793508, + 78.43151093219937 + ], + [ + -86.63890076068499, + 78.79942321602972 + ], + [ + -85.06416320261211, + 78.91914367043725 + ], + [ + -82.3083343557853, + 78.56887818026752 + ], + [ + -82.58257292951642, + 78.70456695336624 + ], + [ + -82.25473023020712, + 78.74081420598803 + ], + [ + -83.2527160573123, + 78.83359526841124 + ], + [ + -81.9138946517401, + 78.86581420324916 + ], + [ + -81.48402404699459, + 79.04574584691298 + ], + [ + -82.5030670120743, + 78.88275146537116 + ], + [ + -84.74804687926071, + 79.0319366474657 + ], + [ + -84.50361633248038, + 79.14443970378989 + ], + [ + -83.89639282996549, + 79.03804016548995 + ], + [ + -83.4747161899828, + 79.02415467028796 + ], + [ + -83.371734619246, + 79.04776001371289 + ], + [ + -84.30332947494749, + 79.186645506176 + ], + [ + -85.05958556804799, + 79.62386321495076 + ], + [ + -86.4791641161321, + 79.76166535198304 + ], + [ + -86.3672180156532, + 79.96276856143739 + ], + [ + -85.2659072869154, + 79.91727448161839 + ], + [ + -86.4745864815678, + 80.0062408512074 + ], + [ + -86.65812683218108, + 80.12470245729585 + ], + [ + -86.51472473859441, + 80.29914855640526 + ], + [ + -83.781951902596, + 80.24581908921722 + ], + [ + -82.1530609179806, + 79.85887145746126 + ], + [ + -81.7066650386983, + 79.58665465796327 + ], + [ + -79.8986129753982, + 79.64804839978417 + ], + [ + -79.7609786921892, + 79.69873810345307 + ], + [ + -81.519729621901, + 79.730819709096 + ], + [ + -81.8330688525385, + 79.97387694810938 + ], + [ + -83.19721984763109, + 80.31470488751145 + ], + [ + -78.0380554200807, + 80.56721497123849 + ], + [ + -79.96041870480427, + 80.61136626791887 + ], + [ + -76.51167296936049, + 80.85443114599732 + ], + [ + -78.93569183253469, + 80.8784484928232 + ], + [ + -77.976943975715, + 81.24914550843276 + ], + [ + -76.7627105640029, + 81.4379272382067 + ], + [ + -79.24276733038961, + 81.13998412391695 + ], + [ + -79.16180420199291, + 80.97505951039484 + ], + [ + -79.6094436672799, + 80.82193756858521 + ], + [ + -80.91944885907901, + 80.6555480892276 + ], + [ + -83.0274963355301, + 80.53858948103596 + ], + [ + -83.16916655977208, + 80.57040405153789 + ], + [ + -81.76299286261501, + 80.8140029840824 + ], + [ + -83.56597900801101, + 80.7415084788387 + ], + [ + -83.12971496453679, + 80.82241821285993 + ], + [ + -83.25695800004581, + 80.8385925332519 + ], + [ + -83.70471954802991, + 80.74720000927775 + ], + [ + -83.8405609126378, + 80.54553222072899 + ], + [ + -85.0669555734562, + 80.50526428938826 + ], + [ + -86.7389526313828, + 80.6033172556002 + ], + [ + -85.6058349553924, + 80.97581481305984 + ], + [ + -82.52305602530029, + 81.16638183818577 + ], + [ + -85.6816711482604, + 81.04942321417832 + ], + [ + -87.59472655653039, + 80.6285858116802 + ], + [ + -89.45444489017929, + 80.91001891374734 + ], + [ + -86.6719360316284, + 81.00526427843282 + ], + [ + -84.7372894309176, + 81.28428650424476 + ], + [ + -89.82084655286369, + 81.01081847967693 + ], + [ + -90.3519439734382, + 81.16748047174646 + ], + [ + -88.9459686231008, + 81.24706268494326 + ], + [ + -89.94840241045601, + 81.32776641726387 + ], + [ + -88.8469543525233, + 81.4997100820495 + ], + [ + -87.31111144965621, + 81.48887633795168 + ], + [ + -88.3522186282025, + 81.5797119218964 + ], + [ + -90.44305419995719, + 81.36665344922056 + ], + [ + -90.8471832275971, + 81.4415740930335 + ], + [ + -89.5923614550277, + 81.62185669084202 + ], + [ + -90.29695129359509, + 81.69859313881935 + ], + [ + -91.31388854962209, + 81.534149169572 + ], + [ + -91.95304870533579, + 81.66040039190311 + ], + [ + -90.4366607612287, + 81.88749695129017 + ], + [ + -89.35638428490238, + 81.8110961951434 + ], + [ + -89.20368193811109, + 81.88328551736875 + ], + [ + -89.37165831855329, + 81.93580627170044 + ], + [ + -88.0888900785077, + 82.09894562150218 + ], + [ + -86.76834106331529, + 81.89027404400406 + ], + [ + -87.1287460283582, + 81.96610259780708 + ], + [ + -86.35638427155551, + 82.05358887087827 + ], + [ + -85.4225006064797, + 81.85748290682257 + ], + [ + -85.7302093559345, + 81.98616790678795 + ], + [ + -84.7127456686904, + 81.92662047794374 + ], + [ + -86.86846160651861, + 82.197479247805 + ], + [ + -85.6199951248004, + 82.243591301094 + ], + [ + -85.3645095857238, + 82.28404236438793 + ], + [ + -85.9107589730682, + 82.42893981680662 + ], + [ + -85.04695129791591, + 82.48193359216394 + ], + [ + -83.5164032002167, + 82.31694030613629 + ], + [ + -82.75805664456189, + 82.07693481822707 + ], + [ + -81.88569641143701, + 82.03685761045689 + ], + [ + -83.0256195137411, + 82.27846527758092 + ], + [ + -79.2368087806254, + 81.81608581729296 + ] + ] + ], + [ + [ + [ + -84.7666626034992, + 71.19747924347082 + ], + [ + -84.7559738151537, + 71.41165160842415 + ], + [ + -84.5262527397857, + 71.47359466731034 + ], + [ + -84.634582524511, + 71.66915131073948 + ], + [ + -85.28555297124761, + 71.67040252824859 + ], + [ + -86.0491638234398, + 72.0124969515473 + ], + [ + -85.53833007682852, + 72.05914306804712 + ], + [ + -85.4974288891849, + 72.25471497148499 + ], + [ + -85.29194641361549, + 72.25999450693452 + ], + [ + -84.1679153420226, + 72.02262878643361 + ], + [ + -84.93429565726987, + 72.28692626974444 + ], + [ + -84.8699264486654, + 72.39908599229678 + ], + [ + -85.53527832572759, + 72.46971130319058 + ], + [ + -85.70479583576619, + 72.63811493579888 + ], + [ + -85.68506622206749, + 72.89727783162729 + ], + [ + -85.28306579623819, + 72.9644317632957 + ], + [ + -83.9556961107485, + 72.75061034905558 + ], + [ + -85.5362472551908, + 73.02512358992882 + ], + [ + -85.1919403075523, + 73.14166259587874 + ], + [ + -83.8411178611103, + 73.02581786872283 + ], + [ + -85.17762756938198, + 73.21605681930855 + ], + [ + -84.8080444298141, + 73.38832092450518 + ], + [ + -84.3494415353272, + 73.22615814892136 + ], + [ + -84.6538848874528, + 73.38957214201417 + ], + [ + -84.1944427514609, + 73.47470093381567 + ], + [ + -83.60722350509079, + 73.29679108244746 + ], + [ + -83.6581955023296, + 73.4474792455835 + ], + [ + -83.99145507353322, + 73.50495147576358 + ], + [ + -82.84680938145438, + 73.7315139799693 + ], + [ + -81.4761047359706, + 73.69802856681568 + ], + [ + -81.2241668718946, + 73.52845763937427 + ], + [ + -81.2070846559252, + 73.26971435692633 + ], + [ + -80.5963897659617, + 73.14804077823796 + ], + [ + -80.64152527429181, + 72.93067168472872 + ], + [ + -80.44499206402308, + 72.67359924791407 + ], + [ + -81.3723602226449, + 72.24165343607973 + ], + [ + -80.5209808330425, + 72.50595855676696 + ], + [ + -80.51417541467049, + 72.37969970667895 + ], + [ + -80.90126036884418, + 72.18748473977271 + ], + [ + -80.57424163992108, + 72.0706100431186 + ], + [ + -81.0826415994377, + 72.04886627044962 + ], + [ + -80.7934646549369, + 72.0251312214516 + ], + [ + -80.95028686978009, + 71.88108825396777 + ], + [ + -80.38500976144859, + 72.04832459174331 + ], + [ + -80.26653289657209, + 72.29262543331856 + ], + [ + -79.99166870498559, + 72.17665100346035 + ], + [ + -79.7416305571864, + 72.14178467009512 + ], + [ + -80.1595840468022, + 72.32428741549542 + ], + [ + -79.82889557328392, + 72.49999236515596 + ], + [ + -79.59555053334732, + 72.33471679843616 + ], + [ + -79.7659072848909, + 72.24328613906323 + ], + [ + -79.2433319125387, + 72.37442017122926 + ], + [ + -78.94540405336278, + 72.19498443693871 + ], + [ + -79.06667327867959, + 71.97512816842001 + ], + [ + -78.76889038221492, + 71.92692566372418 + ], + [ + -78.9192352320142, + 72.0127639795843 + ], + [ + -78.85839844267001, + 72.17032623850365 + ], + [ + -78.48194122206279, + 72.08984374339292 + ], + [ + -78.37361145208149, + 71.92276000570509 + ], + [ + -78.2187499935499, + 71.8294372526878 + ], + [ + -78.00334930847261, + 71.78359985767547 + ], + [ + -78.3117294332303, + 71.93001555747509 + ], + [ + -77.9330596882832, + 71.84579468458978 + ], + [ + -78.11859130214319, + 71.9635009706288 + ], + [ + -78.8699951204438, + 72.22817992467031 + ], + [ + -78.61000060574281, + 72.35928345156276 + ], + [ + -77.006629939107, + 72.12921142548161 + ], + [ + -78.5601348927898, + 72.44150542548635 + ], + [ + -77.64847565255839, + 72.73998260074488 + ], + [ + -75.2234802248442, + 72.49901581306027 + ], + [ + -74.9461059608632, + 72.25971221888872 + ], + [ + -76.0241699199974, + 72.08387756652571 + ], + [ + -76.34805297514349, + 71.8916625996197 + ], + [ + -75.7966613837134, + 72.1035919202157 + ], + [ + -75.2258987371862, + 72.07466888107652 + ], + [ + -75.58042144238699, + 72.00137328981249 + ], + [ + -75.8024902352458, + 71.75054931791087 + ], + [ + -76.09201813045959, + 71.69636536159537 + ], + [ + -75.8802795378571, + 71.70248412380577 + ], + [ + -75.0436096171644, + 72.1238632273648 + ], + [ + -74.25208282743421, + 72.07456969839181 + ], + [ + -74.1186065682259, + 71.96290588926361 + ], + [ + -74.23652649438719, + 71.82068633801288 + ], + [ + -75.3712463395816, + 71.68914031509884 + ], + [ + -74.9402694719545, + 71.66421508862666 + ], + [ + -75.40250396838661, + 71.52001953579958 + ], + [ + -74.63138579639619, + 71.65602875004328 + ], + [ + -74.8333358821932, + 71.51956940240143 + ], + [ + -74.70520782110191, + 71.38352203076371 + ], + [ + -75.0650024391201, + 71.18081665562582 + ], + [ + -74.64598083735629, + 71.37539673221534 + ], + [ + -74.73958587841909, + 71.52124023329095 + ], + [ + -74.543884272279, + 71.63136291423187 + ], + [ + -73.60756683361261, + 71.7722091679038 + ], + [ + -74.1213836686574, + 71.43858337123413 + ], + [ + -74.06388855583629, + 71.33692931692251 + ], + [ + -73.6536102313709, + 71.58749389816346 + ], + [ + -73.6062011734099, + 71.38734436070224 + ], + [ + -73.3835449218187, + 71.38776397408283 + ], + [ + -73.6630554248398, + 71.25416564954853 + ], + [ + -73.8463897743686, + 71.06206512533609 + ], + [ + -73.4348602323942, + 71.33769989576015 + ], + [ + -73.05735778228009, + 71.26644896873982 + ], + [ + -73.3737411550043, + 70.98317719055908 + ], + [ + -72.4747161846774, + 71.64276122663595 + ], + [ + -71.4475631680031, + 71.46956634936983 + ], + [ + -71.1236038275573, + 71.2611007706229 + ], + [ + -71.45833587902459, + 71.06526947652442 + ], + [ + -72.07750701824969, + 71.07276915894619 + ], + [ + -72.1706924459322, + 70.83790588820736 + ], + [ + -72.6115188603999, + 70.63415526881843 + ], + [ + -70.83612061133111, + 71.1144256654187 + ], + [ + -70.6030578594401, + 71.05372620140919 + ], + [ + -70.5153503473209, + 70.92539977494819 + ], + [ + -70.7733306883076, + 70.73442078028648 + ], + [ + -71.5586090131249, + 70.60942077033964 + ], + [ + -71.8030548026674, + 70.42831420515961 + ], + [ + -71.8437500023088, + 70.29351806577502 + ], + [ + -71.50541686891371, + 70.57443237164853 + ], + [ + -71.1730499271297, + 70.53234100653094 + ], + [ + -71.4936065657615, + 70.05053710437598 + ], + [ + -70.9130554271727, + 70.63777161075483 + ], + [ + -69.90728759507779, + 70.87990570801658 + ], + [ + -69.77465057737439, + 70.85720062851688 + ], + [ + -70.45472716861109, + 70.62776184119463 + ], + [ + -70.48791503371041, + 70.48390197907175 + ], + [ + -69.4605636664104, + 70.79123687432248 + ], + [ + -68.31972502951749, + 70.56484985284503 + ], + [ + -68.4520111112516, + 70.37532806369434 + ], + [ + -69.66806030095, + 70.19859314453551 + ], + [ + -70.46583557033709, + 69.84346008321677 + ], + [ + -69.65333557203161, + 70.1449890095762 + ], + [ + -68.6456298810102, + 70.152832034823 + ], + [ + -69.4333267181695, + 69.81804656595298 + ], + [ + -69.8058319061359, + 69.81999206225578 + ], + [ + -69.9905548132524, + 69.61499024010172 + ], + [ + -69.7564620918631, + 69.79859161766778 + ], + [ + -69.4025039627537, + 69.77707671564198 + ], + [ + -68.22138976908771, + 70.10276794175628 + ], + [ + -68.34805297254749, + 70.17421721940231 + ], + [ + -68.1600036636607, + 70.28276061476201 + ], + [ + -67.8013839778518, + 70.26068878876521 + ], + [ + -67.21986389505581, + 69.94081115417457 + ], + [ + -67.12777709953889, + 69.72692871464336 + ], + [ + -68.0045852664139, + 69.77317810040378 + ], + [ + -68.3189621028002, + 69.63082122381823 + ], + [ + -70.0288925110989, + 69.53262328872323 + ], + [ + -68.6119384798544, + 69.58749390120023 + ], + [ + -66.7904128956071, + 69.33914948167569 + ], + [ + -66.6480636563979, + 69.23068237161561 + ], + [ + -66.7602157563178, + 69.1289367719955 + ], + [ + -67.6763916052815, + 69.16943359152341 + ], + [ + -68.1844787567348, + 69.30801391819652 + ], + [ + -69.01501465520829, + 69.35498046539202 + ], + [ + -69.2477417016509, + 69.27169036457639 + ], + [ + -68.0828475998083, + 69.22095489010098 + ], + [ + -68.9677734425994, + 69.22109985281199 + ], + [ + -68.50917053336829, + 69.1972045958382 + ], + [ + -68.9616699256536, + 69.10386658281229 + ], + [ + -68.960899346816, + 69.0017929003763 + ], + [ + -68.1783294745068, + 69.1466522267238 + ], + [ + -67.7188873237709, + 69.02610016284207 + ], + [ + -67.98693847435301, + 68.85443115375436 + ], + [ + -68.48072052501229, + 68.89373779580818 + ], + [ + -67.77409362695239, + 68.78234863734963 + ], + [ + -69.3901367208863, + 68.86470031397545 + ], + [ + -68.0474929756514, + 68.67949676818746 + ], + [ + -68.0909805357331, + 68.62859344835994 + ], + [ + -68.6577758748668, + 68.65637207530723 + ], + [ + -68.8977737478321, + 68.60526275273374 + ], + [ + -68.835830688946, + 68.58915710360384 + ], + [ + -67.4965286202341, + 68.53276062294832 + ], + [ + -67.60333252203701, + 68.3788604712475 + ], + [ + -67.426101689454, + 68.49443054773424 + ], + [ + -66.7023620554071, + 68.43637084407742 + ], + [ + -67.3674545270647, + 68.34531403280282 + ], + [ + -67.01965331755949, + 68.31386566126051 + ], + [ + -67.3910446133516, + 68.21709442640301 + ], + [ + -67.003059392382, + 68.2928314273942 + ], + [ + -66.3180542016649, + 68.12380217865929 + ], + [ + -66.18804932168209, + 68.01394654049946 + ], + [ + -66.73520660716959, + 67.87605285524387 + ], + [ + -66.4013977051392, + 67.81109618790651 + ], + [ + -65.994132989125, + 68.02427674075545 + ], + [ + -66.0020141570215, + 67.62879944525233 + ], + [ + -65.8172226019815, + 67.96436310084835 + ], + [ + -65.44416046055609, + 67.98900603927468 + ], + [ + -65.6082229671606, + 67.79047394478835 + ], + [ + -65.3463897762179, + 67.59332275576952 + ], + [ + -65.5509719849914, + 67.78089141124086 + ], + [ + -65.42361450273772, + 67.89804077330854 + ], + [ + -65.00111388437209, + 68.05554199219294 + ], + [ + -64.72618103011831, + 67.98883057129017 + ], + [ + -65.126937861071, + 67.71693420812832 + ], + [ + -64.36624144938901, + 67.76054381879216 + ], + [ + -64.07028198390128, + 67.60636901642192 + ], + [ + -63.907913205571425, + 67.30168151890041 + ], + [ + -64.7923889149644, + 67.35540008180942 + ], + [ + -64.44166564231679, + 67.30303955647058 + ], + [ + -64.7658386228851, + 67.190254217792 + ], + [ + -63.97114182067229, + 67.27585601088836 + ], + [ + -64.6119384711844, + 67.1324768021811 + ], + [ + -64.69697570293329, + 67.00908661257677 + ], + [ + -63.460624700812396, + 67.22453307768048 + ], + [ + -63.5655517542357, + 67.06248474479008 + ], + [ + -63.1102828988954, + 67.32998657928951 + ], + [ + -62.9723587083661, + 67.22956084510169 + ], + [ + -63.27451325085212, + 67.11338042724128 + ], + [ + -63.228469853093685, + 66.97470855525955 + ], + [ + -63.77360916092281, + 66.81845855388416 + ], + [ + -62.842361451015584, + 66.95984650100634 + ], + [ + -62.90913009326529, + 66.64651489412704 + ], + [ + -62.73416518768079, + 66.94470214396358 + ], + [ + -62.101394653032294, + 67.05470275957835 + ], + [ + -61.264583588316704, + 66.62609100163465 + ], + [ + -61.46166991861239, + 66.5433196968842 + ], + [ + -61.95055388980881, + 66.67692565879496 + ], + [ + -62.1238861071536, + 66.62637328968036 + ], + [ + -61.5792007514107, + 66.48101806465253 + ], + [ + -61.97784424070828, + 66.4123764074556 + ], + [ + -61.4650001538149, + 66.3696975688614 + ], + [ + -61.8774948065643, + 66.28332519692732 + ], + [ + -62.45610808622661, + 66.42387390254453 + ], + [ + -62.708747866472585, + 66.40852355749972 + ], + [ + -62.320140833320785, + 66.3027572625713 + ], + [ + -62.673889155740014, + 66.21568298921099 + ], + [ + -62.88354110801679, + 66.33374024070703 + ], + [ + -62.71055603744091, + 66.20068359487928 + ], + [ + -61.959793095275614, + 66.02158355129299 + ], + [ + -62.96499633653501, + 66.14846039487519 + ], + [ + -63.061111449992396, + 66.11859893154626 + ], + [ + -62.411945340791895, + 65.96678923885956 + ], + [ + -62.31722258886639, + 65.80802917983365 + ], + [ + -62.64916611332569, + 65.58665466576906 + ], + [ + -63.206111905618876, + 65.63694000684632 + ], + [ + -63.4397201549044, + 65.84998321961655 + ], + [ + -63.45527648795151, + 65.68095398562576 + ], + [ + -63.7185707030935, + 65.67820739046772 + ], + [ + -63.323333734298096, + 65.59706878870101 + ], + [ + -63.54695129272021, + 64.88720703417917 + ], + [ + -64.3770752004455, + 65.17914581910267 + ], + [ + -64.23915863254872, + 65.4274063159512 + ], + [ + -64.55062102842479, + 65.09429169271469 + ], + [ + -64.9034729027362, + 65.33661651796977 + ], + [ + -64.4187469521827, + 65.47984314133363 + ], + [ + -65.008613581538, + 65.36692809995264 + ], + [ + -65.1619415345148, + 65.48647307697713 + ], + [ + -64.8033142113295, + 65.60831451576173 + ], + [ + -65.33596801590949, + 65.56957244979951 + ], + [ + -64.90695190459401, + 65.72886657964344 + ], + [ + -65.5018081734647, + 65.74887848138782 + ], + [ + -64.3623199515096, + 66.34321593944931 + ], + [ + -64.9412460392352, + 66.07860564807508 + ], + [ + -65.8763885456923, + 65.94802856936813 + ], + [ + -65.96347809380529, + 66.03914642067778 + ], + [ + -65.6440277099715, + 66.16741180710378 + ], + [ + -65.4807586648457, + 66.38484954853662 + ], + [ + -66.0736236573873, + 66.12052916784046 + ], + [ + -66.49250031118409, + 66.204574587485 + ], + [ + -66.5719451846762, + 66.36206054636082 + ], + [ + -66.7677764935187, + 66.3805389425502 + ], + [ + -66.85194396374519, + 66.58332824036425 + ], + [ + -67.0327758782558, + 66.64402008174135 + ], + [ + -66.88716124782339, + 66.56651306717585 + ], + [ + -67.7342987088508, + 66.56880187681551 + ], + [ + -67.1461868330611, + 66.44025421708771 + ], + [ + -67.2822265673224, + 66.27526856104609 + ], + [ + -67.989295961404, + 66.50756073409951 + ], + [ + -67.16375732507841, + 66.03609466957685 + ], + [ + -67.1887435915854, + 65.91241455455068 + ], + [ + -67.8241729800277, + 65.88081359766485 + ], + [ + -67.9385986295785, + 65.90803527115307 + ], + [ + -68.02652740445251, + 66.06330872043279 + ], + [ + -68.244720464714, + 66.18275451477248 + ], + [ + -68.8438873248271, + 66.1887283290159 + ], + [ + -68.0472259476143, + 66.06498718869871 + ], + [ + -68.1360397292755, + 65.82604980524907 + ], + [ + -67.8211212141828, + 65.76805114162724 + ], + [ + -68.023300170623, + 65.48838043063012 + ], + [ + -67.2779235839685, + 65.64012908328195 + ], + [ + -67.455902098004, + 65.49887085360592 + ], + [ + -66.9328460722363, + 65.2327575619504 + ], + [ + -67.10465240665872, + 65.05983733535378 + ], + [ + -66.7323608440707, + 65.18005370853109 + ], + [ + -66.69464111023039, + 64.76186371089575 + ], + [ + -66.66707610866149, + 65.03789519731527 + ], + [ + -65.72249603136801, + 64.84193420051447 + ], + [ + -65.56204222932351, + 64.73154449153645 + ], + [ + -65.7019424509171, + 64.48622894047172 + ], + [ + -65.1444549504296, + 64.5113830523309 + ], + [ + -65.0722274713137, + 64.43463134185022 + ], + [ + -65.29354096008748, + 64.29123687313391 + ], + [ + -65.05332183911129, + 64.06929779772182 + ], + [ + -65.2122497582333, + 64.0353317311525 + ], + [ + -64.6731262259857, + 64.0343627869454 + ], + [ + -64.985412603358, + 63.82381438656079 + ], + [ + -64.50771331918729, + 63.64235305197938 + ], + [ + -64.4886093068713, + 63.28659057058974 + ], + [ + -64.6583404570323, + 63.249160762171634 + ], + [ + -65.0463867180369, + 63.66220856443608 + ], + [ + -65.02694701501649, + 63.39916229863405 + ], + [ + -64.6306152327437, + 62.899021144312364 + ], + [ + -65.2523651070305, + 62.9753379814039 + ], + [ + -64.9488830617358, + 62.648605344470894 + ], + [ + -65.18749999974581, + 62.56221008989555 + ], + [ + -65.746948241801, + 62.91777038722719 + ], + [ + -66.6776351943047, + 63.024715418308986 + ], + [ + -67.8975067139416, + 63.753051765076265 + ], + [ + -67.7105560372204, + 63.45860290775822 + ], + [ + -68.8760986378306, + 63.74471282640547 + ], + [ + -68.20541382266019, + 63.22096252184382 + ], + [ + -66.6069488581199, + 62.60499573380698 + ], + [ + -66.0518341046922, + 62.22773361040067 + ], + [ + -66.1100006136661, + 62.01749419939114 + ], + [ + -65.9480438260843, + 61.907768249189715 + ], + [ + -68.5563812259598, + 62.250270844548254 + ], + [ + -69.43673705735989, + 62.55033874670838 + ], + [ + -69.59062957168419, + 62.657905575228476 + ], + [ + -69.4824981670726, + 62.763610844865795 + ], + [ + -70.2347259521254, + 62.75013351476828 + ], + [ + -71.01306151849202, + 62.989990228966924 + ], + [ + -70.91471862068589, + 63.16985701795843 + ], + [ + -71.2383270251626, + 63.00152206276142 + ], + [ + -71.710281365733, + 63.1770782457667 + ], + [ + -71.80068969298401, + 63.38374329092184 + ], + [ + -72.1399993932187, + 63.443115237378535 + ], + [ + -71.6072235085688, + 63.424160006461754 + ], + [ + -71.2298583985334, + 63.60262679654505 + ], + [ + -71.90055847371251, + 63.80922698297696 + ], + [ + -71.9270782457744, + 63.652492524241964 + ], + [ + -72.3216705344903, + 63.67617417058146 + ], + [ + -72.2421493462106, + 63.94971466330328 + ], + [ + -72.3745117132444, + 63.81040573387447 + ], + [ + -72.6347351133326, + 63.85249328030406 + ], + [ + -72.9028472892057, + 64.16193389457747 + ], + [ + -73.379371641167, + 64.27012633922409 + ], + [ + -73.4155578547086, + 64.44581604361986 + ], + [ + -73.1662445057207, + 64.57818603328613 + ], + [ + -73.3015289358971, + 64.65783690952435 + ], + [ + -73.47215271547779, + 64.50679015829883 + ], + [ + -73.6555633503063, + 64.62762451022633 + ], + [ + -74.06277466366188, + 64.3344268851612 + ], + [ + -74.0538787862759, + 64.72797394437023 + ], + [ + -74.38791655894929, + 64.57048034811822 + ], + [ + -74.70208740733369, + 64.73519133874646 + ], + [ + -74.4799957318339, + 64.83762359452807 + ], + [ + -74.6309661830157, + 64.90373229668957 + ], + [ + -74.9789886405316, + 64.79061126730637 + ], + [ + -74.4728469853812, + 64.55893707300304 + ], + [ + -74.6858215354841, + 64.37109375211831 + ], + [ + -75.82417296787969, + 64.61164856379885 + ], + [ + -75.6385116513173, + 64.45953368568112 + ], + [ + -75.72121429340041, + 64.3780441332013 + ], + [ + -76.7058410715678, + 64.30081176930523 + ], + [ + -76.6705474874458, + 64.18414306065308 + ], + [ + -77.74722290373619, + 64.33776856168431 + ], + [ + -78.18068694637279, + 64.56999207207033 + ], + [ + -78.14729309327149, + 64.94796752347965 + ], + [ + -77.3168029748243, + 65.19226836505499 + ], + [ + -77.5095825178219, + 65.320472711446 + ], + [ + -77.3855590747149, + 65.46804809819012 + ], + [ + -75.76993560890539, + 65.2176895196953 + ], + [ + -75.42624664001703, + 65.04609679590736 + ], + [ + -75.66527556877509, + 64.94303131611078 + ], + [ + -75.3891754196883, + 64.73609924291875 + ], + [ + -75.5614547701498, + 64.87796782871247 + ], + [ + -75.1904068024385, + 65.10144042442352 + ], + [ + -75.9433288515412, + 65.31957244465019 + ], + [ + -75.1866607725437, + 65.25193785956618 + ], + [ + -75.1049194372916, + 65.38845824724302 + ], + [ + -74.52444458400261, + 65.33332824410522 + ], + [ + -74.18276977408439, + 65.52526856034193 + ], + [ + -73.50056458118402, + 65.4744262658054 + ], + [ + -73.7099304267268, + 65.76200104208397 + ], + [ + -74.47086334642839, + 66.13484192075478 + ], + [ + -72.2583465553928, + 67.2480316186588 + ], + [ + -72.99332427912401, + 68.20539856594438 + ], + [ + -73.8537521314558, + 68.34442901127157 + ], + [ + -73.7609710718891, + 68.68581391051175 + ], + [ + -74.09416198042531, + 68.71998596508284 + ], + [ + -73.8848648122938, + 68.55741119875091 + ], + [ + -73.9902801565089, + 68.49275207946832 + ], + [ + -74.38527679859659, + 68.5442886380547 + ], + [ + -74.7272186218078, + 68.73373412716163 + ], + [ + -74.54804993029819, + 68.82603454805692 + ], + [ + -75.037986753634, + 68.92768860236856 + ], + [ + -74.64507293318401, + 69.01436614498957 + ], + [ + -74.830421441683, + 69.08116912594497 + ], + [ + -75.1319427454101, + 68.88638306135336 + ], + [ + -76.62887573570859, + 68.68692016530973 + ], + [ + -76.63791656106179, + 69.00880432149415 + ], + [ + -75.9969329865005, + 69.0030364952528 + ], + [ + -75.60443877943099, + 69.0889434885243 + ], + [ + -75.5916748068242, + 69.22164916889481 + ], + [ + -76.6395874066953, + 69.55123138761505 + ], + [ + -76.1856231715226, + 69.66207122999094 + ], + [ + -77.19131470357381, + 69.64273070965523 + ], + [ + -76.7813873298217, + 69.74581908683695 + ], + [ + -77.30506133433948, + 69.83394622708057 + ], + [ + -76.9901046765969, + 69.93685149890126 + ], + [ + -77.6320877006389, + 69.74942779139694 + ], + [ + -77.6770095835906, + 70.18421172895403 + ], + [ + -78.4034729006663, + 70.2133254960863 + ], + [ + -78.49528503076989, + 70.3574829062637 + ], + [ + -79.07055663390908, + 70.4697113062272 + ], + [ + -78.72610473830339, + 70.54748534882995 + ], + [ + -79.01736450444182, + 70.67998504119846 + ], + [ + -79.1794433573496, + 70.42581939277393 + ], + [ + -79.58923340576702, + 70.41088867585347 + ], + [ + -78.9216613817325, + 70.30081177493871 + ], + [ + -78.66416931679359, + 70.00416565328948 + ], + [ + -78.79194641242779, + 69.89109802656498 + ], + [ + -79.69180297213931, + 69.85109710571739 + ], + [ + -81.75680541646581, + 70.12490844516448 + ], + [ + -80.7678146296534, + 69.77037047995489 + ], + [ + -80.95249939412011, + 69.71388243924676 + ], + [ + -82.101104741472, + 70.10803223194118 + ], + [ + -82.99986266901789, + 70.30414581408549 + ], + [ + -81.7398529031987, + 69.87442016396726 + ], + [ + -85.36151885762591, + 70.1034545831738 + ], + [ + -85.87464905125329, + 70.07942962349759 + ], + [ + -85.24590301585708, + 69.9913330032714 + ], + [ + -85.8158340435117, + 69.99943541917868 + ], + [ + -86.5540237410636, + 70.23984528289223 + ], + [ + -86.40750122120289, + 70.45999146208902 + ], + [ + -86.6448669417038, + 70.32179260614642 + ], + [ + -86.99638366108621, + 70.46748352187853 + ], + [ + -87.1836090032208, + 70.39401244788596 + ], + [ + -86.98110961608499, + 70.28318786551891 + ], + [ + -87.92186736344009, + 70.24310302199531 + ], + [ + -88.89750671891302, + 70.53276061991144 + ], + [ + -89.5497283979025, + 71.0885925347743 + ], + [ + -87.9999999941321, + 70.92915344221929 + ], + [ + -87.2469482423271, + 71.00915526917049 + ], + [ + -88.0288925132538, + 71.23317718096452 + ], + [ + -89.9034805242659, + 71.35304260342863 + ], + [ + -90.01306152650028, + 71.60026550814666 + ], + [ + -89.80833435501582, + 71.74775695747067 + ], + [ + -90.04861450128301, + 71.9538726865429 + ], + [ + -89.9104156453403, + 72.42720794732473 + ], + [ + -89.36471558010788, + 72.7622070268293 + ], + [ + -89.22833251776579, + 73.12580871477725 + ], + [ + -88.409164426423, + 73.5236053399377 + ], + [ + -86.7166595474306, + 73.84082031679031 + ], + [ + -85.1130523727754, + 73.80900573452611 + ], + [ + -84.8402786254589, + 73.73873138908951 + ], + [ + -85.9302825904475, + 73.35525512473195 + ], + [ + -86.73277283393669, + 72.7160949664036 + ], + [ + -86.26139069209019, + 72.44998168949186 + ], + [ + -86.4334640545496, + 72.0466537461098 + ], + [ + -86.13276671757468, + 71.79582213683169 + ], + [ + -84.83687590890091, + 71.28105926970862 + ], + [ + -86.8162460253693, + 70.98782348724978 + ], + [ + -84.95291137879418, + 71.18788910203492 + ], + [ + -84.8479156479595, + 71.15123749508659 + ], + [ + -84.96756744504522, + 70.92567444036148 + ], + [ + -84.80520630409168, + 70.92179107038815 + ], + [ + -84.7666626034992, + 71.19747924347082 + ] + ] + ], + [ + [ + [ + -112.00083923197502, + 70.37803650194323 + ], + [ + -113.93831634387301, + 70.71527099833098 + ], + [ + -117.55152130581202, + 70.59623718446977 + ], + [ + -118.41090392681501, + 71.00025939541969 + ], + [ + -115.066947936657, + 71.52387237495763 + ], + [ + -118.112213135551, + 71.37359619077122 + ], + [ + -118.31207275407002, + 71.45901488854454 + ], + [ + -117.71183776557902, + 71.66408539052726 + ], + [ + -118.903755186871, + 71.57943725344543 + ], + [ + -119.13445281939902, + 71.77457428283017 + ], + [ + -118.69194030481701, + 72.13053894063631 + ], + [ + -118.12388610465801, + 72.22443389957131 + ], + [ + -118.58860779238802, + 72.41665649672787 + ], + [ + -118.207229610003, + 72.61859130767567 + ], + [ + -114.561660762222, + 73.37553405754086 + ], + [ + -113.955688472063, + 73.11942290978924 + ], + [ + -114.054992680233, + 72.88360595658588 + ], + [ + -114.558326724127, + 72.56080627247938 + ], + [ + -113.466400143038, + 72.66526794391056 + ], + [ + -113.59069061708003, + 72.7879028313895 + ], + [ + -113.028060915706, + 73.00942992723544 + ], + [ + -111.229927061767, + 72.72345733542329 + ], + [ + -111.26986694270502, + 72.57332610616088 + ], + [ + -111.899101261132, + 72.35297393667845 + ], + [ + -111.66388702066003, + 72.27638244553636 + ], + [ + -111.301650999496, + 72.46179199286874 + ], + [ + -111.112777708695, + 72.33526611256892 + ], + [ + -110.70834350729801, + 72.57429504197867 + ], + [ + -109.78582763748601, + 72.43247986004857 + ], + [ + -110.28228759593401, + 72.66290283227829 + ], + [ + -109.773338321615, + 72.72019958250037 + ], + [ + -110.743606566462, + 72.98678588931553 + ], + [ + -109.659439087335, + 72.92498779005471 + ], + [ + -109.04075622249898, + 72.56950378309216 + ], + [ + -108.61888122316, + 72.54762268108884 + ], + [ + -108.660560609962, + 72.34123993194925 + ], + [ + -108.238601681965, + 71.71512603629635 + ], + [ + -107.75334167591102, + 71.61026000854874 + ], + [ + -107.26142883386102, + 71.8896331752128 + ], + [ + -107.628044132821, + 72.0240173356815 + ], + [ + -108.29318999986101, + 73.14915466718674 + ], + [ + -108.062362671315, + 73.35359191991586 + ], + [ + -107.24999999788601, + 73.21748352184314 + ], + [ + -106.861389159809, + 73.31080627650185 + ], + [ + -105.855560302464, + 73.05693054436414 + ], + [ + -105.32347107112001, + 72.7388000479004 + ], + [ + -104.929443359034, + 72.0341491740505 + ], + [ + -104.36082458873001, + 71.58165741015384 + ], + [ + -104.57805633543799, + 71.062492368808 + ], + [ + -103.556381221736, + 70.60081481867996 + ], + [ + -102.92318725944702, + 70.50307464364023 + ], + [ + -103.126098630987, + 70.57388305639763 + ], + [ + -103.02500915894801, + 70.66026306521377 + ], + [ + -101.59156036646402, + 70.27029419390873 + ], + [ + -101.55596923615501, + 70.11151123074988 + ], + [ + -100.999732969383, + 70.1727600094147 + ], + [ + -100.870002747007, + 69.78831481510186 + ], + [ + -100.96319579629203, + 69.66110229341265 + ], + [ + -101.694580076009, + 69.68248748566695 + ], + [ + -102.235557558962, + 69.91526031062337 + ], + [ + -102.60305786508201, + 69.53831481687945 + ], + [ + -103.481796262626, + 69.68914794643663 + ], + [ + -103.013900759986, + 69.47415161534181 + ], + [ + -103.18222045484602, + 69.11109924741359 + ], + [ + -102.83215332189302, + 69.3841628987776 + ], + [ + -102.30554962495603, + 69.49845886459933 + ], + [ + -101.95137786515001, + 69.43344878913183 + ], + [ + -101.75305938672501, + 69.16290282909911 + ], + [ + -101.85138702494702, + 68.98442077805959 + ], + [ + -102.894729615976, + 68.79998779131978 + ], + [ + -105.136947633046, + 68.89776610894536 + ], + [ + -105.248893736785, + 68.9455261274666 + ], + [ + -104.920898437476, + 69.0723419176141 + ], + [ + -106.40791321054502, + 69.1845626816512 + ], + [ + -106.31639098801702, + 69.3866577157841 + ], + [ + -106.61110687651401, + 69.4969940190324 + ], + [ + -107.342216495933, + 69.01887512459106 + ], + [ + -108.530693057437, + 68.94497680687054 + ], + [ + -109.10472106762101, + 68.71054077057654 + ], + [ + -113.260421750215, + 68.45304108114084 + ], + [ + -113.67179870680998, + 68.80664825208956 + ], + [ + -113.553596498618, + 69.18719482880662 + ], + [ + -116.532211303742, + 69.40887451370702 + ], + [ + -116.57847594953, + 69.55817413730072 + ], + [ + -117.24319457657303, + 69.75499725234778 + ], + [ + -117.43256377712302, + 69.98345184448648 + ], + [ + -114.54306030617701, + 70.31330871154881 + ], + [ + -111.45262909333199, + 70.28318024132082 + ], + [ + -112.00083923197502, + 70.37803650194323 + ] + ] + ], + [ + [ + [ + -93.99722289830711, + 79.25694275022462 + ], + [ + -94.3763885503923, + 79.42053985795474 + ], + [ + -95.0186157221434, + 79.26693725750212 + ], + [ + -95.77902984323761, + 79.41942596158711 + ], + [ + -95.7363891609884, + 79.53749084752474 + ], + [ + -94.6994323724113, + 79.61219787462424 + ], + [ + -94.3268127459703, + 79.77970886004725 + ], + [ + -95.8533325212147, + 79.64610290349366 + ], + [ + -96.5825042726718, + 79.8512344386366 + ], + [ + -96.13806152323718, + 79.90637207117807 + ], + [ + -96.80208587618789, + 80.08887481447071 + ], + [ + -94.38570403998679, + 79.985122680907 + ], + [ + -94.7488861073341, + 80.07998657421703 + ], + [ + -94.0909042372498, + 80.17491149618282 + ], + [ + -95.36776733502089, + 80.11831665290092 + ], + [ + -96.6715240460516, + 80.34456634546665 + ], + [ + -95.7324981713267, + 80.37275695934267 + ], + [ + -95.9799957262517, + 80.5847167997528 + ], + [ + -93.78666686932512, + 80.52880096196647 + ], + [ + -94.66437530654949, + 80.6635589616062 + ], + [ + -94.1083374033845, + 80.71887206905271 + ], + [ + -95.5272216786535, + 80.8192901611384 + ], + [ + -95.18305969311791, + 81.01971435465623 + ], + [ + -94.4086151114603, + 80.96554565485835 + ], + [ + -94.0422210721344, + 81.05554199032542 + ], + [ + -94.31304931853009, + 81.11553955136593 + ], + [ + -93.09465027152841, + 81.15839386133256 + ], + [ + -94.38569641064319, + 81.25443267966578 + ], + [ + -93.5175018320434, + 81.38499450980198 + ], + [ + -91.8580474824909, + 81.16775512698926 + ], + [ + -90.60249328792251, + 80.6447448720745 + ], + [ + -90.74137878687868, + 80.56219482480809 + ], + [ + -89.2449951142474, + 80.51721191576196 + ], + [ + -89.05915832338312, + 80.46138000685006 + ], + [ + -89.2585449200639, + 80.28922271455153 + ], + [ + -88.74999999830352, + 80.12664795106453 + ], + [ + -88.2530593875287, + 80.11441039845802 + ], + [ + -88.6613922094835, + 80.27249145413087 + ], + [ + -88.615280151476, + 80.40386963013668 + ], + [ + -87.6751403803834, + 80.40706634342808 + ], + [ + -87.56472015167641, + 80.18060302923894 + ], + [ + -88.01638793834448, + 80.11478424239303 + ], + [ + -87.04333495915711, + 79.96499633816529 + ], + [ + -87.4636230480015, + 79.83137512292427 + ], + [ + -86.96340179506088, + 79.9053344743413 + ], + [ + -87.13916778521062, + 79.64151763746156 + ], + [ + -87.4625091577276, + 79.53471374813697 + ], + [ + -86.33416748094271, + 79.64553833205999 + ], + [ + -86.0441665658613, + 79.56720733623436 + ], + [ + -86.07084655749729, + 79.43414306917724 + ], + [ + -85.68194580191391, + 79.61331176489816 + ], + [ + -84.90556335476921, + 79.27102661010018 + ], + [ + -86.4855499240974, + 79.06330871525566 + ], + [ + -87.61582946636948, + 78.64526367174003 + ], + [ + -88.00237274256219, + 78.81568145539393 + ], + [ + -87.7494506816105, + 79.08582306085665 + ], + [ + -88.21187591601989, + 78.96289825251368 + ], + [ + -88.2011108389349, + 78.75721740462447 + ], + [ + -87.9016723647597, + 78.5908279449127 + ], + [ + -87.98472595480389, + 78.4922027607839 + ], + [ + -88.7963867187778, + 78.6112365733713 + ], + [ + -88.53971862569469, + 78.4195632919208 + ], + [ + -88.81777953866761, + 78.15443420183097 + ], + [ + -90.0147247310299, + 78.60942077738353 + ], + [ + -89.9850006129766, + 78.43609618940519 + ], + [ + -89.46166991953271, + 78.16838073961364 + ], + [ + -90.73992919938827, + 78.32095336647927 + ], + [ + -90.27076721183602, + 78.18463134528746 + ], + [ + -90.6244354266524, + 78.13442993468205 + ], + [ + -92.5469360371833, + 78.31261443897198 + ], + [ + -92.972770689366, + 78.48595428563772 + ], + [ + -91.63784790213519, + 78.5448455796543 + ], + [ + -93.27777862709812, + 78.58582305888321 + ], + [ + -93.8081970234952, + 78.76804351645903 + ], + [ + -93.04342651667982, + 78.74977111642364 + ], + [ + -94.2880554179455, + 78.98373413031337 + ], + [ + -93.2949981716092, + 79.16693114997628 + ], + [ + -90.3705368036134, + 79.2455749488935 + ], + [ + -92.6852722172993, + 79.25554656813999 + ], + [ + -91.124580386156, + 79.38860321194723 + ], + [ + -92.5696487457205, + 79.37490844860031 + ], + [ + -92.2386093166606, + 79.43636322038132 + ], + [ + -92.4197235133062, + 79.45721435686833 + ], + [ + -93.3200073247874, + 79.44831848117722 + ], + [ + -93.99722289830711, + 79.25694275022462 + ] + ] + ], + [ + [ + [ + -89.9373550453918, + 74.53151702538621 + ], + [ + -91.01854705477079, + 74.70644378926632 + ], + [ + -90.7650070205128, + 74.88290404861283 + ], + [ + -91.1019439739246, + 74.75109863593633 + ], + [ + -91.1330566414449, + 74.62442016390804 + ], + [ + -92.05152130236809, + 74.79317474724722 + ], + [ + -92.04950713873589, + 74.95652007700896 + ], + [ + -92.49082946912608, + 75.21360778840938 + ], + [ + -92.3883361806091, + 75.44192504982462 + ], + [ + -92.00945282357469, + 75.5920715374182 + ], + [ + -92.1077728301478, + 75.85282898308807 + ], + [ + -93.0777816772061, + 76.35567474560771 + ], + [ + -95.3815231321357, + 76.23511505356352 + ], + [ + -94.8065185566209, + 76.31942748687793 + ], + [ + -96.1002120963222, + 76.50256347444002 + ], + [ + -95.7786102329033, + 76.51887512068983 + ], + [ + -95.59131621941057, + 76.60005187943575 + ], + [ + -96.95423126179689, + 76.72741698933987 + ], + [ + -96.30874634147662, + 76.75263213868696 + ], + [ + -96.81517028414288, + 76.9693222069665 + ], + [ + -95.74361419279839, + 77.06860351378333 + ], + [ + -93.7470855735692, + 76.9216537518767 + ], + [ + -93.19930266949419, + 76.74612427172568 + ], + [ + -93.30346679368341, + 76.54942321648306 + ], + [ + -93.64910125341659, + 76.44053649463622 + ], + [ + -93.5483398426683, + 76.38610839874761 + ], + [ + -93.0463867148005, + 76.61608886331766 + ], + [ + -90.9861145030338, + 76.64915466139567 + ], + [ + -90.4721527095265, + 76.47484588784316 + ], + [ + -91.5654144266415, + 76.49984740789685 + ], + [ + -89.19812011993712, + 76.2311630244087 + ], + [ + -90.44474792081948, + 76.17095184397851 + ], + [ + -90.30888366885239, + 76.13832091896128 + ], + [ + -91.6019515947304, + 76.26207732767048 + ], + [ + -90.1953430149397, + 76.05734253349577 + ], + [ + -91.15139007482257, + 76.01860046101189 + ], + [ + -91.1331176745194, + 75.84491730128298 + ], + [ + -90.7856903039431, + 75.99539947529696 + ], + [ + -89.92707824849889, + 76.00346374429928 + ], + [ + -89.1674957260345, + 75.77596282844816 + ], + [ + -89.26139068584831, + 75.62942505107144 + ], + [ + -89.7641754152935, + 75.57651519463636 + ], + [ + -89.22652435343169, + 75.58582305876783 + ], + [ + -88.92138671443789, + 75.42720031764189 + ], + [ + -88.7743072538647, + 75.43359375097211 + ], + [ + -88.8658294660734, + 75.58610534463133 + ], + [ + -88.73083496022758, + 75.67929076901676 + ], + [ + -88.22888183235992, + 75.47109985182222 + ], + [ + -87.26333618562641, + 75.62109375221873 + ], + [ + -86.37138366973639, + 75.424140932161 + ], + [ + -86.54472351052749, + 75.3591461209985 + ], + [ + -83.87815093845859, + 75.81896209545917 + ], + [ + -81.4505615206971, + 75.80081177032667 + ], + [ + -81.2125091546073, + 75.77137756197448 + ], + [ + -81.2640380847293, + 75.65055084007972 + ], + [ + -79.95298766790721, + 75.536376948848 + ], + [ + -80.35617065110618, + 75.46369934118702 + ], + [ + -79.5823669441334, + 75.4514465342277 + ], + [ + -79.50695800489429, + 75.2299804677337 + ], + [ + -80.4340209945206, + 75.03401183645046 + ], + [ + -79.3411788944531, + 74.90019226014164 + ], + [ + -80.1016693075825, + 74.78915405250044 + ], + [ + -80.2398605391152, + 74.57707213922562 + ], + [ + -81.78500366035502, + 74.45776367482799 + ], + [ + -82.91416930823979, + 74.54914855585301 + ], + [ + -83.1558380170641, + 74.82693481571854 + ], + [ + -83.51139831321268, + 74.90165710805996 + ], + [ + -83.32583617748868, + 74.75263214042475 + ], + [ + -83.6052780170135, + 74.542205806809 + ], + [ + -85.259445191284, + 74.4905395545249 + ], + [ + -85.52388763625821, + 74.68845367482662 + ], + [ + -85.6041717513303, + 74.4958190913923 + ], + [ + -88.496948243564, + 74.4977569569149 + ], + [ + -88.560821534768, + 74.59304809905501 + ], + [ + -88.3475036588814, + 74.78471374070634 + ], + [ + -88.5352783224961, + 74.90464019543144 + ], + [ + -89.1911087053012, + 74.58596038630961 + ], + [ + -89.9373550453918, + 74.53151702538621 + ] + ] + ], + [ + [ + [ + -123.08555603180902, + 71.07957458423701 + ], + [ + -124.01862334962102, + 71.68747711251768 + ], + [ + -125.245483398299, + 71.94802093426397 + ], + [ + -124.98777771220901, + 71.9697113030088 + ], + [ + -125.809997558349, + 71.97554016226071 + ], + [ + -125.434440611522, + 72.40635681356176 + ], + [ + -125.02806091186001, + 72.56607055777015 + ], + [ + -125.026107786247, + 72.82109069614172 + ], + [ + -124.482910158522, + 72.92581176879901 + ], + [ + -124.862876894085, + 73.07846069414042 + ], + [ + -123.77471923854101, + 73.7644348156446 + ], + [ + -124.217498778849, + 73.8727569582774 + ], + [ + -124.777847290865, + 74.33137512123106 + ], + [ + -121.51862335469202, + 74.54887389895272 + ], + [ + -119.79527282746503, + 74.23442077733186 + ], + [ + -119.73777770834901, + 74.05802917412895 + ], + [ + -119.14320373515503, + 74.21040344118096 + ], + [ + -119.16750335496201, + 73.98719787455842 + ], + [ + -118.67388916039701, + 74.21998596372066 + ], + [ + -117.51251220807502, + 74.23858642536689 + ], + [ + -115.319030761963, + 73.47706603967848 + ], + [ + -119.137512207735, + 72.63247680712338 + ], + [ + -119.30659484599501, + 72.35997772173657 + ], + [ + -120.19577789418102, + 72.20210266353092 + ], + [ + -120.60166931244102, + 71.49359130619266 + ], + [ + -121.70361328151402, + 71.46081542774405 + ], + [ + -123.08555603180902, + 71.07957458423701 + ] + ] + ], + [ + [ + [ + -173.673080444515, + 64.34679412653003 + ], + [ + -174.84637451368204, + 64.77777099603617 + ], + [ + -175.44888305536801, + 64.78442383016576 + ], + [ + -175.830871580143, + 65.04524994007807 + ], + [ + -175.78060913094401, + 65.16079711932761 + ], + [ + -176.07806396225698, + 65.4702606194348 + ], + [ + -177.068054201682, + 65.60971069296863 + ], + [ + -178.55738830603102, + 65.5141525251704 + ], + [ + -178.45610046459606, + 65.72747802689653 + ], + [ + -178.909454347594, + 65.9938659683635 + ], + [ + -178.54251098810602, + 66.16331481888518 + ], + [ + -178.526153563542, + 66.40290832721993 + ], + [ + -178.909591675334, + 66.17053222906648 + ], + [ + -179.27906799450798, + 66.30200958456847 + ], + [ + -179.34637451225203, + 66.14137267833007 + ], + [ + -179.689193726034, + 66.18357849109678 + ], + [ + -179.80030822583203, + 65.87413788070613 + ], + [ + -179.32083129915202, + 65.53012085095072 + ], + [ + -179.99999999976, + 65.06890869322449 + ], + [ + -179.99999999976, + 68.98010253649716 + ], + [ + -178.92337036077802, + 68.76832580528003 + ], + [ + -178.490417483012, + 68.58455657769902 + ], + [ + -178.715576170984, + 68.65582275242943 + ], + [ + -178.74040222048103, + 68.54289245654749 + ], + [ + -178.03572082639502, + 68.4232940667248 + ], + [ + -177.950561522917, + 68.28996277089142 + ], + [ + -177.836410521345, + 68.35269928144412 + ], + [ + -178.37667846466, + 68.55052184994904 + ], + [ + -177.63220214956502, + 68.3246917725275 + ], + [ + -177.68032836776703, + 68.2238769535573 + ], + [ + -175.46362304555302, + 67.70747375499884 + ], + [ + -175.2543487544, + 67.54608917081553 + ], + [ + -175.375976561822, + 67.3430404654807 + ], + [ + -174.833892822423, + 67.386085509779 + ], + [ + -174.954757692089, + 67.10401153319758 + ], + [ + -174.744598389971, + 66.76567840820574 + ], + [ + -174.994873048012, + 66.67198944054995 + ], + [ + -174.50643920884204, + 66.55218505911694 + ], + [ + -174.467376711247, + 66.3034439064939 + ], + [ + -174.024353028699, + 66.47982788181132 + ], + [ + -174.036819460147, + 66.21351623412018 + ], + [ + -173.761962888467, + 66.44949341009873 + ], + [ + -174.302383424613, + 66.58192444043593 + ], + [ + -173.995849607601, + 66.69134521735954 + ], + [ + -174.125274655787, + 66.98913574339758 + ], + [ + -174.65115356345302, + 67.06011962746197 + ], + [ + -173.67639160176898, + 67.13206482154749 + ], + [ + -173.265716554002, + 67.07664489938858 + ], + [ + -173.357238771038, + 66.83956909092906 + ], + [ + -173.1550903312, + 66.86038207938094 + ], + [ + -173.199325561566, + 66.98760986260517 + ], + [ + -172.620117188585, + 66.95542144528098 + ], + [ + -173.011962891345, + 67.05607605207457 + ], + [ + -171.72610473536304, + 66.95524597329315 + ], + [ + -171.34332275321, + 66.65081787293663 + ], + [ + -170.18188476528502, + 66.202400206197 + ], + [ + -170.331253050769, + 66.17873382314501 + ], + [ + -169.70716857759498, + 66.12664794795639 + ], + [ + -169.78472900201402, + 65.99163818377947 + ], + [ + -170.578292845332, + 65.85276031620285 + ], + [ + -170.63558959753902, + 65.61053466996943 + ], + [ + -171.54238891712097, + 65.83554840029593 + ], + [ + -171.02349853303005, + 65.57914733992914 + ], + [ + -171.074462891301, + 65.48303222598483 + ], + [ + -172.80264282075905, + 65.67469787782194 + ], + [ + -172.19055175656803, + 65.4466247560052 + ], + [ + -172.317504884312, + 65.2646942142248 + ], + [ + -172.68307495055802, + 65.22776794234672 + ], + [ + -172.128982542366, + 65.08317566094459 + ], + [ + -172.46472167898702, + 64.92025756606327 + ], + [ + -173.04556274615803, + 64.86302185310086 + ], + [ + -173.19522094693298, + 64.77816772472536 + ], + [ + -172.773773195874, + 64.77970886004856 + ], + [ + -172.95526122953203, + 64.67247009355565 + ], + [ + -172.35916137555802, + 64.42358398328703 + ], + [ + -172.891998292456, + 64.51943969628232 + ], + [ + -173.06120300183903, + 64.47698211775231 + ], + [ + -172.898086545254, + 64.33719634949371 + ], + [ + -173.270843507339, + 64.2810821534486 + ], + [ + -173.434188845252, + 64.3274154652839 + ], + [ + -173.284317017681, + 64.52053832876315 + ], + [ + -173.415573121762, + 64.61664581280185 + ], + [ + -173.363052368356, + 64.46498870876962 + ], + [ + -173.673080444515, + 64.34679412653003 + ] + ] + ], + [ + [ + [ + -113.28278350947201, + 74.84860229700563 + ], + [ + -111.543334962305, + 75.013191223794 + ], + [ + -110.91610717671301, + 75.2314376850446 + ], + [ + -113.97097015404101, + 75.08338928061507 + ], + [ + -113.782783509761, + 75.33776855174389 + ], + [ + -113.34056091368501, + 75.41331481621523 + ], + [ + -113.47112274012201, + 75.42776489146011 + ], + [ + -114.17874908584001, + 75.22512054387569 + ], + [ + -114.535415647103, + 75.313728331262 + ], + [ + -114.314865115303, + 75.14901733663659 + ], + [ + -115.058464050175, + 74.96138000706456 + ], + [ + -115.28527069237302, + 75.13762664831827 + ], + [ + -115.68124389651099, + 74.96443175963776 + ], + [ + -116.16306305208403, + 75.04026794702307 + ], + [ + -116.277778622886, + 75.20582580733006 + ], + [ + -116.717216492537, + 75.11665344282278 + ], + [ + -117.67722320527999, + 75.2463073728066 + ], + [ + -117.24054717787601, + 75.47360229264632 + ], + [ + -116.021942140596, + 75.48498535290481 + ], + [ + -115.096656801222, + 75.68719482555883 + ], + [ + -117.24804687600002, + 75.59179687548054 + ], + [ + -116.859718322, + 75.79179382059587 + ], + [ + -114.8386077851, + 75.8744201643795 + ], + [ + -116.73388671708601, + 75.92553710809077 + ], + [ + -116.641387939505, + 76.1133117679131 + ], + [ + -116.29611206026702, + 76.18858337188371 + ], + [ + -114.67697906787402, + 76.15873718464199 + ], + [ + -115.91902160821601, + 76.27957153559171 + ], + [ + -114.95138549515902, + 76.48983764913648 + ], + [ + -114.174713137335, + 76.46026611610176 + ], + [ + -113.98999023637901, + 76.19150543485348 + ], + [ + -112.59028625589802, + 76.19664001277452 + ], + [ + -111.729995730298, + 75.91338348162928 + ], + [ + -112.21952056678201, + 75.80921173346286 + ], + [ + -111.44847107081502, + 75.83443451089904 + ], + [ + -111.247222897327, + 75.51805114779665 + ], + [ + -108.896667480702, + 75.47755431990684 + ], + [ + -108.83486175604402, + 75.68900299040594 + ], + [ + -110.051872251912, + 75.89353180231609 + ], + [ + -109.30825042656701, + 76.10408019812769 + ], + [ + -110.393066407994, + 76.39193725489935 + ], + [ + -108.781105044218, + 76.85748290796658 + ], + [ + -108.442138671795, + 76.71144104199388 + ], + [ + -108.607498171079, + 76.64248657289848 + ], + [ + -108.55803680584502, + 76.40859985138891 + ], + [ + -108.07749939088501, + 76.28054809717032 + ], + [ + -108.396118165706, + 76.04609680483338 + ], + [ + -107.63868713542102, + 75.98802947770676 + ], + [ + -108.02222442453801, + 75.78234863366886 + ], + [ + -107.18666076437898, + 75.90386962957696 + ], + [ + -106.896667479547, + 75.72026062045045 + ], + [ + -106.86972045850901, + 75.96415710600809 + ], + [ + -106.336669919448, + 76.05470276043216 + ], + [ + -105.61013793746301, + 75.93581390457987 + ], + [ + -105.39014434843102, + 75.64762878459547 + ], + [ + -106.00077056830503, + 75.05921935794257 + ], + [ + -106.972229006432, + 74.92608642851494 + ], + [ + -107.74200439614, + 75.04581451569527 + ], + [ + -108.382362363479, + 74.91095733637145 + ], + [ + -108.83249664213601, + 75.06999206642767 + ], + [ + -112.75306701783899, + 74.4013824469652 + ], + [ + -113.69638061556002, + 74.44609070020279 + ], + [ + -114.441864014758, + 74.66442108269821 + ], + [ + -113.28278350947201, + 74.84860229700563 + ] + ] + ], + [ + [ + [ + -98.7252807630658, + 71.27026367076513 + ], + [ + -99.2294464104326, + 71.34359741189515 + ], + [ + -99.67541504051351, + 71.75553894108178 + ], + [ + -100.639312743953, + 72.18692016645983 + ], + [ + -101.77694702009802, + 72.29971313610784 + ], + [ + -102.763885497896, + 72.78790283069921 + ], + [ + -102.50708007746701, + 73.0283203139634 + ], + [ + -102.13722229128301, + 73.08692932226054 + ], + [ + -101.297500611575, + 72.70999145434038 + ], + [ + -100.43443298425403, + 72.73692321665709 + ], + [ + -100.031387329418, + 72.93498230065931 + ], + [ + -100.24083709592402, + 73.13574981839714 + ], + [ + -100.58306121899, + 73.17025756940122 + ], + [ + -100.369712829483, + 73.29012298574257 + ], + [ + -100.045417786559, + 73.18511963036394 + ], + [ + -99.77500152511018, + 73.20637512248062 + ], + [ + -100.39844513088403, + 73.36662292545523 + ], + [ + -100.88945007365702, + 73.26443481494768 + ], + [ + -101.61901855504298, + 73.48776245031269 + ], + [ + -100.917915343908, + 73.599990843978 + ], + [ + -100.50903320216901, + 73.41471099717418 + ], + [ + -100.628601073677, + 73.5933227532532 + ], + [ + -101.11916351175601, + 73.72525787425951 + ], + [ + -100.95973205576101, + 73.8091430656513 + ], + [ + -100.06304931524599, + 73.764999390769 + ], + [ + -99.93033599929691, + 73.8504333502473 + ], + [ + -100.297157286607, + 73.86463165251243 + ], + [ + -99.93859863194429, + 73.94609069816003 + ], + [ + -99.2350006093444, + 73.73776245188739 + ], + [ + -97.7619476322984, + 73.91192626913593 + ], + [ + -96.96576690607472, + 73.7398376472307 + ], + [ + -97.66680145148969, + 73.47970581151546 + ], + [ + -97.1572265617617, + 73.3955383288215 + ], + [ + -97.8429183961043, + 73.27082061768097 + ], + [ + -98.22721862712989, + 72.98748779421462 + ], + [ + -97.29152679452359, + 72.96679687476961 + ], + [ + -97.0265274038565, + 72.7293548597015 + ], + [ + -97.1754150380104, + 72.6017913833847 + ], + [ + -96.5175018299585, + 72.71470642100991 + ], + [ + -96.30006408706458, + 72.42630004874137 + ], + [ + -96.5783386218814, + 72.27859497212083 + ], + [ + -96.5033416764195, + 72.0876312266962 + ], + [ + -96.8604125969844, + 72.03873443641828 + ], + [ + -96.5115356433464, + 72.03873443641828 + ], + [ + -96.52583312832631, + 71.86886596640728 + ], + [ + -97.5050048837394, + 71.61164855827766 + ], + [ + -98.2127838140203, + 71.64791107121857 + ], + [ + -98.35604095512119, + 71.72581481915648 + ], + [ + -98.2870788586807, + 71.8969345091103 + ], + [ + -98.4956893929446, + 71.71776580878019 + ], + [ + -98.03944396886149, + 71.52873993056916 + ], + [ + -98.7252807630658, + 71.27026367076513 + ] + ] + ], + [ + [ + [ + -95.16111755396149, + 71.96470642053087 + ], + [ + -95.1333312990415, + 72.46026611363456 + ], + [ + -95.6703414909266, + 72.8104019170503 + ], + [ + -95.6774978623905, + 73.71762084905309 + ], + [ + -94.61860656792858, + 73.65290832586822 + ], + [ + -95.3107604969742, + 73.8859558112062 + ], + [ + -95.24526977491001, + 74.01026916568632 + ], + [ + -93.32749938900031, + 74.16998291092875 + ], + [ + -90.1975708009094, + 73.89797210781552 + ], + [ + -92.09584045418082, + 72.74304199279018 + ], + [ + -94.30680084335009, + 72.766654969132 + ], + [ + -93.79833984513631, + 72.70220947281898 + ], + [ + -93.46555328234462, + 72.45387268092217 + ], + [ + -94.19171905452669, + 71.99431610008139 + ], + [ + -94.4497222890853, + 72.02331543088569 + ], + [ + -95.16111755396149, + 71.96470642053087 + ] + ] + ], + [ + [ + [ + -120.35556030211501, + 75.80636596709795 + ], + [ + -120.85722350949399, + 76.1966400142026 + ], + [ + -121.262641908589, + 75.96138000354829 + ], + [ + -122.51666259571101, + 75.92831421025228 + ], + [ + -122.72569274813002, + 75.97095489458741 + ], + [ + -122.473541260549, + 76.10852813664201 + ], + [ + -122.574172973303, + 76.16609191813961 + ], + [ + -123.037780761541, + 76.0847167952771 + ], + [ + -122.578613281679, + 76.3535919206144 + ], + [ + -121.54998779270102, + 76.43470763964322 + ], + [ + -121.212509156077, + 76.64971923719818 + ], + [ + -120.40167236180402, + 76.79721069175157 + ], + [ + -119.15334320226502, + 77.32582092184066 + ], + [ + -116.787353515704, + 77.31832122621284 + ], + [ + -116.65361786065003, + 77.38520049883348 + ], + [ + -117.14875030542301, + 77.45526886062265 + ], + [ + -116.487777710036, + 77.55026244969937 + ], + [ + -115.389732361018, + 77.30928039382464 + ], + [ + -116.274864198079, + 77.18692779393632 + ], + [ + -116.24249267515302, + 77.0441436751254 + ], + [ + -115.73457336390202, + 76.94358825646519 + ], + [ + -116.36284637372202, + 76.9135284425971 + ], + [ + -115.894378661556, + 76.69894409196286 + ], + [ + -117.03999328548002, + 76.53749084581844 + ], + [ + -116.937210083222, + 76.34915161223842 + ], + [ + -117.095550538208, + 76.29525756681903 + ], + [ + -118.05222320717701, + 76.40706634656375 + ], + [ + -117.737701414159, + 76.77672576892267 + ], + [ + -118.32848358112602, + 76.77068328851186 + ], + [ + -118.495002747209, + 76.71220397789868 + ], + [ + -118.31610107530001, + 76.57470702993695 + ], + [ + -118.96992492788802, + 76.49595641995525 + ], + [ + -118.57034301711101, + 76.33686065540721 + ], + [ + -118.96014404475702, + 76.1295623769403 + ], + [ + -119.65499877827601, + 76.30303955254963 + ], + [ + -119.48513793875601, + 75.96818542488877 + ], + [ + -120.35556030211501, + 75.80636596709795 + ] + ] + ], + [ + [ + [ + -99.90695190265801, + 77.7785949692096 + ], + [ + -100.606376646783, + 77.87997436382861 + ], + [ + -101.06276702961001, + 78.19859314066476 + ], + [ + -102.618606567979, + 78.24136352428368 + ], + [ + -102.806106567384, + 78.37776184190908 + ], + [ + -104.494453428913, + 78.27053833030818 + ], + [ + -105.04888916169799, + 78.4940795911627 + ], + [ + -103.52715301622601, + 78.49643707286631 + ], + [ + -103.39998626611002, + 78.6155395507546 + ], + [ + -104.039825439676, + 78.6266479505687 + ], + [ + -103.32208252077001, + 78.73143768345784 + ], + [ + -104.1705474849, + 78.76582336304935 + ], + [ + -103.825416564978, + 78.89526367087934 + ], + [ + -104.203613281992, + 78.99165344237878 + ], + [ + -105.011947630901, + 78.80358886618613 + ], + [ + -104.68082427814201, + 79.00373840175118 + ], + [ + -105.55290985178901, + 79.02234649700587 + ], + [ + -105.624565124357, + 79.16706848241189 + ], + [ + -105.43998718344301, + 79.32916259776522 + ], + [ + -103.977783202663, + 79.36886596605522 + ], + [ + -103.075843810889, + 79.276657106097 + ], + [ + -102.61437225397, + 79.09047698919099 + ], + [ + -102.72084045306102, + 78.93830871421075 + ], + [ + -102.555824279217, + 78.86956786975257 + ], + [ + -101.64890289470401, + 79.07582092125067 + ], + [ + -100.985969543304, + 78.93428039668585 + ], + [ + -101.17958831940399, + 78.80165100103306 + ], + [ + -100.347770690835, + 78.82749175899787 + ], + [ + -99.89493560651438, + 78.69289398346703 + ], + [ + -100.01666259883702, + 78.616653443568 + ], + [ + -99.57362365881268, + 78.59553527939111 + ], + [ + -99.7917327888554, + 78.30039977881607 + ], + [ + -98.98916625992011, + 78.07304382390214 + ], + [ + -99.0249328616569, + 77.89151001057384 + ], + [ + -99.90695190265801, + 77.7785949692096 + ] + ] + ], + [ + [ + [ + -99.6027832038348, + 74.97109985214846 + ], + [ + -100.355834961109, + 75.01915741060243 + ], + [ + -100.539581299854, + 75.19622802859297 + ], + [ + -100.001770020771, + 75.23272704945241 + ], + [ + -100.769714354892, + 75.34963226249862 + ], + [ + -99.8205642691443, + 75.65345764255795 + ], + [ + -98.89812469456712, + 75.69358062611224 + ], + [ + -101.49553680471901, + 75.60192870987585 + ], + [ + -102.53415679924001, + 75.51138305649954 + ], + [ + -102.874267577997, + 75.61289214991315 + ], + [ + -102.008613586088, + 75.70401763889923 + ], + [ + -102.36783599912499, + 75.79785919075377 + ], + [ + -102.163063049159, + 75.8788604748602 + ], + [ + -101.18222045811201, + 75.77970886184075 + ], + [ + -101.90597534253101, + 76.08144378638937 + ], + [ + -101.391258240078, + 76.2468566894972 + ], + [ + -102.16278076232702, + 76.24067688055541 + ], + [ + -101.86221313433401, + 76.45027160521033 + ], + [ + -101.31582641668402, + 76.41442870996562 + ], + [ + -99.88833618195258, + 75.88638305610735 + ], + [ + -99.4485092165145, + 75.96813201778087 + ], + [ + -99.86138153036318, + 75.93539428613569 + ], + [ + -100.15278625602502, + 76.1324768072594 + ], + [ + -99.4238128652121, + 76.1565780638234 + ], + [ + -100.438888548676, + 76.2124938958963 + ], + [ + -99.84667205742139, + 76.28207397456511 + ], + [ + -100.98104095540201, + 76.49595642132253 + ], + [ + -99.6844329825822, + 76.63333130008307 + ], + [ + -99.0999908439673, + 76.39804077234673 + ], + [ + -99.0272216807204, + 76.60108947743107 + ], + [ + -98.71250915626659, + 76.68304443311177 + ], + [ + -97.6890258790118, + 76.47970581022264 + ], + [ + -97.76139831619182, + 76.33499145411974 + ], + [ + -97.4947204600897, + 76.14388275074938 + ], + [ + -97.59777831981609, + 75.84693908827015 + ], + [ + -97.934577940966, + 75.74414825342734 + ], + [ + -97.3955612189155, + 75.68539428827656 + ], + [ + -97.3997268679894, + 75.45554351725053 + ], + [ + -97.7533340457466, + 75.5695800789618 + ], + [ + -98.0425033555857, + 75.48234558037313 + ], + [ + -97.8011093145505, + 75.4109573358438 + ], + [ + -98.16500091662802, + 75.33165740933578 + ], + [ + -97.57409667942139, + 75.14908599812048 + ], + [ + -99.6027832038348, + 74.97109985214846 + ] + ] + ], + [ + [ + [ + -53.57139205894071, + 46.61547851618533 + ], + [ + -53.57778167638931, + 47.08526611365992 + ], + [ + -54.1868705761012, + 46.82186889499194 + ], + [ + -53.867500306220016, + 47.402770997074946 + ], + [ + -54.03333282310831, + 47.79666137618535 + ], + [ + -54.19617843507209, + 47.84124374495752 + ], + [ + -54.5141677860127, + 47.37110138019862 + ], + [ + -54.85639190788819, + 47.39054870638712 + ], + [ + -55.25861358783109, + 46.91027069116845 + ], + [ + -55.80332946861869, + 46.860549927123024 + ], + [ + -55.96611023046189, + 46.90998840404393 + ], + [ + -55.886947633330415, + 47.056098937658724 + ], + [ + -55.4905548098688, + 47.13554763867241 + ], + [ + -54.845550536141204, + 47.63388061434203 + ], + [ + -55.40541458265431, + 47.62061691191925 + ], + [ + -55.56145858632769, + 47.43408965994836 + ], + [ + -56.16677093634702, + 47.50165939423772 + ], + [ + -55.634166715890196, + 47.67304992728023 + ], + [ + -55.85423660124302, + 47.79721450711303 + ], + [ + -56.840835572476706, + 47.52137756422975 + ], + [ + -58.031944275972, + 47.69512558130343 + ], + [ + -59.1619415295049, + 47.56166076558683 + ], + [ + -59.3848609929778, + 47.91957855060015 + ], + [ + -58.420280455686, + 48.50804901214714 + ], + [ + -59.25496673674719, + 48.47266006565964 + ], + [ + -58.90888977173738, + 48.70193481314186 + ], + [ + -58.892642974195695, + 48.55151748554856 + ], + [ + -58.726943970830106, + 48.56373977623635 + ], + [ + -58.39847183218462, + 49.12943267923087 + ], + [ + -58.13527679391789, + 49.08277130027007 + ], + [ + -58.21986007692301, + 49.39638137707216 + ], + [ + -57.378608704887895, + 50.68776703018661 + ], + [ + -56.927497862193995, + 50.9158248889325 + ], + [ + -56.7373580942109, + 51.299369810618515 + ], + [ + -55.96028137050449, + 51.593879698477046 + ], + [ + -55.6944427478004, + 51.481101991279715 + ], + [ + -55.72430038501001, + 51.58276748640272 + ], + [ + -55.458610535907596, + 51.59221649241203 + ], + [ + -55.61375045812661, + 51.302837373263024 + ], + [ + -56.08194732621989, + 51.36901855509632 + ], + [ + -55.734027861385904, + 51.077079771515045 + ], + [ + -56.7430572504511, + 50.02276611262408 + ], + [ + -56.820999145564606, + 49.74209594823429 + ], + [ + -56.735557557865185, + 49.66693878112038 + ], + [ + -56.122634888379416, + 50.15450286867898 + ], + [ + -55.7505569460521, + 49.92360687165779 + ], + [ + -55.4610404966227, + 49.959712982753885 + ], + [ + -55.9861145008599, + 49.74694061306189 + ], + [ + -56.12416839767929, + 49.61332702721985 + ], + [ + -55.89389038170681, + 49.71415710429048 + ], + [ + -55.636947630608105, + 49.41638183766469 + ], + [ + -55.14131927621472, + 49.54333114549687 + ], + [ + -55.231662748822906, + 49.25235366692746 + ], + [ + -54.821113584805104, + 49.270408630854384 + ], + [ + -54.4747161859501, + 49.53499603138275 + ], + [ + -53.5111160270305, + 49.27721404895007 + ], + [ + -53.93222045891311, + 48.71393585354407 + ], + [ + -53.60718536275469, + 48.68096160769276 + ], + [ + -53.89819717476339, + 48.56262970109894 + ], + [ + -53.22138977063661, + 48.56124496540053 + ], + [ + -53.0720138547784, + 48.697975159884464 + ], + [ + -52.98722076480892, + 48.54804992638003 + ], + [ + -53.62625122173521, + 48.173183442771546 + ], + [ + -53.937358857662204, + 48.232074738983464 + ], + [ + -53.909652710801105, + 48.08401870870294 + ], + [ + -53.606807708828306, + 48.048744202377655 + ], + [ + -53.8375015254482, + 47.69943237180573 + ], + [ + -53.54520797805862, + 47.541034697382756 + ], + [ + -53.29084014799491, + 47.999435425697946 + ], + [ + -52.996948241184796, + 48.08638000601595 + ], + [ + -53.26167297199378, + 47.54638671985393 + ], + [ + -53.11854171674029, + 47.41790771600323 + ], + [ + -52.77968597394958, + 47.797672271238945 + ], + [ + -52.617362976232215, + 47.50846862909135 + ], + [ + -53.0966682431183, + 46.639991760962936 + ], + [ + -53.3580589282816, + 46.73721694858473 + ], + [ + -53.57139205894071, + 46.61547851618533 + ] + ] + ], + [ + [ + [ + -85.4491577130434, + 63.11666107017214 + ], + [ + -85.6386184698372, + 63.247356414149415 + ], + [ + -85.5929183946878, + 63.62707519460495 + ], + [ + -85.71749877800089, + 63.71610260097587 + ], + [ + -86.9222259505892, + 63.552772523128155 + ], + [ + -87.2258377073554, + 63.64610290588946 + ], + [ + -86.91528320203581, + 63.91443633878568 + ], + [ + -86.19666290188209, + 64.0963745126364 + ], + [ + -86.40139007487689, + 64.43914795076954 + ], + [ + -86.1515350326729, + 65.38971710115152 + ], + [ + -85.9864501947574, + 65.73699951270348 + ], + [ + -85.5424957278662, + 65.93331909065998 + ], + [ + -85.1594467175066, + 65.77901458809865 + ], + [ + -84.92763519381468, + 65.2119369523179 + ], + [ + -84.5556869498017, + 65.4799804680191 + ], + [ + -84.14138793889059, + 65.21998596328119 + ], + [ + -83.4086151133952, + 65.1355438220464 + ], + [ + -83.2011718765201, + 64.94288635127201 + ], + [ + -81.7630615246282, + 64.50109863128073 + ], + [ + -81.6066589348231, + 64.12789154142288 + ], + [ + -81.9893722536797, + 63.99665450891459 + ], + [ + -80.9424896248093, + 63.99054718031169 + ], + [ + -80.8908386223284, + 64.11553955045709 + ], + [ + -80.17436981217588, + 63.77117157136417 + ], + [ + -81.0764007575026, + 63.45138549734184 + ], + [ + -82.47985839783419, + 63.68360519364147 + ], + [ + -82.3667297364931, + 63.90755844288755 + ], + [ + -83.09291839750989, + 63.9570770264907 + ], + [ + -82.96221923930788, + 64.1430435164358 + ], + [ + -83.07278442381549, + 64.1866455079534 + ], + [ + -83.5483398432719, + 64.10247802701468 + ], + [ + -83.678047180252, + 64.0109634391397 + ], + [ + -83.63492584244669, + 63.770690917652054 + ], + [ + -84.28611755279691, + 63.61554718091565 + ], + [ + -84.5633239739329, + 63.337493897155156 + ], + [ + -85.4491577130434, + 63.11666107017214 + ] + ] + ], + [ + [ + [ + -79.3913879401448, + 72.7333221444299 + ], + [ + -80.00389099069201, + 72.86789703330021 + ], + [ + -80.14097595273479, + 73.21443176272665 + ], + [ + -80.7975006109812, + 73.27693176312506 + ], + [ + -80.8577728261391, + 73.74192809976059 + ], + [ + -77.3955535884043, + 73.5458221446777 + ], + [ + -76.06082153331519, + 72.9038772580427 + ], + [ + -78.2363586416088, + 72.89300537176351 + ], + [ + -79.3913879401448, + 72.7333221444299 + ] + ] + ], + [ + [ + [ + -96.8499908450051, + 77.78720092775019 + ], + [ + -97.7634124758312, + 78.02873229919172 + ], + [ + -96.8559722901356, + 78.10609436024465 + ], + [ + -97.82945251535169, + 78.21914672925904 + ], + [ + -98.35721588136329, + 78.44622802680449 + ], + [ + -98.02069854784148, + 78.5395660404638 + ], + [ + -98.3654098505322, + 78.76583099384274 + ], + [ + -97.078063963987, + 78.74971008231024 + ], + [ + -94.8346939087747, + 78.35744476372409 + ], + [ + -95.39368438719929, + 78.22921752984595 + ], + [ + -94.88847351105369, + 78.10581970247985 + ], + [ + -95.1065292351761, + 77.95249176024562 + ], + [ + -96.8499908450051, + 77.78720092775019 + ] + ] + ], + [ + [ + [ + -77.68112182811649, + 19.821941377898487 + ], + [ + -77.596672057434, + 20.046665193134558 + ], + [ + -77.1145935063528, + 20.367359159679946 + ], + [ + -77.2363891620835, + 20.663055420142996 + ], + [ + -78.0722351049471, + 20.713886263572903 + ], + [ + -78.4951477069863, + 21.03180313096385 + ], + [ + -78.7402801489464, + 21.63471984620839 + ], + [ + -79.2319488538398, + 21.541110990809813 + ], + [ + -79.9877929710758, + 21.723609923476182 + ], + [ + -80.4919586166215, + 22.17721938898843 + ], + [ + -80.89111328383909, + 22.039718629897948 + ], + [ + -81.8230590823275, + 22.18360900747614 + ], + [ + -82.1626510601741, + 22.39527511419162 + ], + [ + -81.6488952663595, + 22.4913864108912 + ], + [ + -81.81278991957939, + 22.663608553426293 + ], + [ + -82.78778839343289, + 22.660831448728487 + ], + [ + -83.36806487927107, + 22.20166397121553 + ], + [ + -83.9082031261403, + 22.170692444345534 + ], + [ + -84.32833862348171, + 21.86277770923236 + ], + [ + -84.95292663549019, + 21.863191605629975 + ], + [ + -84.37187957885939, + 22.04145622094377 + ], + [ + -84.40055847289601, + 22.33277511736153 + ], + [ + -84.0699386589904, + 22.661525729060283 + ], + [ + -83.2291717513686, + 22.998886109767867 + ], + [ + -82.22056579688049, + 23.187496183833634 + ], + [ + -81.5008392345063, + 23.055553436743846 + ], + [ + -81.2269592298889, + 23.161663057572436 + ], + [ + -81.1314010625881, + 23.02333068645187 + ], + [ + -80.6330566402789, + 23.09833144871215 + ], + [ + -80.27862548878349, + 22.905277254369466 + ], + [ + -80.03764343524578, + 22.95124816873598 + ], + [ + -79.25903320352299, + 22.372638704020122 + ], + [ + -78.79055786297779, + 22.39499664264652 + ], + [ + -77.74694823980832, + 21.79944229222359 + ], + [ + -77.455001830377, + 21.710277557102078 + ], + [ + -77.46528625343448, + 21.826110838663382 + ], + [ + -77.22917175080029, + 21.686664581362194 + ], + [ + -77.364311219523, + 21.614095690479314 + ], + [ + -77.2562561060267, + 21.472497940191303 + ], + [ + -77.0619506827188, + 21.5849990863535 + ], + [ + -76.02166747995429, + 21.084163663817954 + ], + [ + -75.7072296138896, + 21.121944426110552 + ], + [ + -75.5797271733852, + 21.006942751036473 + ], + [ + -75.7366790787186, + 20.6969413778657 + ], + [ + -74.9555664056948, + 20.685276032613988 + ], + [ + -74.1319580059394, + 20.22110748064754 + ], + [ + -74.28431701822281, + 20.056526185565357 + ], + [ + -75.1213989241991, + 19.88749695097148 + ], + [ + -75.09278869878341, + 20.056388853867055 + ], + [ + -75.3555603012394, + 19.875553128631587 + ], + [ + -76.24890136941761, + 19.990833280794075 + ], + [ + -77.68112182811649, + 19.821941377898487 + ] + ] + ], + [ + [ + [ + -112.08361816326101, + 77.32304382245125 + ], + [ + -113.20137786849702, + 77.5266571050622 + ], + [ + -113.318611144933, + 77.81011962929459 + ], + [ + -111.318336486068, + 78.08027648851646 + ], + [ + -109.584312439272, + 78.06150817887915 + ], + [ + -110.89944457992799, + 77.85144042968491 + ], + [ + -110.085289001238, + 77.76623535217661 + ], + [ + -110.20333862348201, + 77.51138305726316 + ], + [ + -112.08361816326101, + 77.32304382245125 + ] + ] + ], + [ + [ + [ + -94.5475006106083, + 74.62136840748921 + ], + [ + -96.35749816880119, + 74.90664672866914 + ], + [ + -96.60472106862481, + 75.06330871524946 + ], + [ + -95.8345642097319, + 75.37300109913662 + ], + [ + -96.0624999994085, + 75.4249877937298 + ], + [ + -94.9097213749814, + 75.63735198958935 + ], + [ + -93.4947891229017, + 75.25831603941762 + ], + [ + -93.4904174809699, + 74.68484497019902 + ], + [ + -94.5475006106083, + 74.62136840748921 + ] + ] + ], + [ + [ + [ + -96.53056335493861, + 68.44497680748083 + ], + [ + -98.51945495548061, + 68.74748229934177 + ], + [ + -98.84944152851338, + 68.93359374956545 + ], + [ + -99.1823501582745, + 68.82498931985964 + ], + [ + -99.59168243398001, + 69.0219345090862 + ], + [ + -98.4069442748027, + 69.30344390870502 + ], + [ + -98.61041259699509, + 69.44692230121623 + ], + [ + -98.5313873298141, + 69.58499145460445 + ], + [ + -98.00145721377581, + 69.44380187933882 + ], + [ + -98.3641586297228, + 69.5988693229233 + ], + [ + -97.9455413809467, + 69.89360046360947 + ], + [ + -96.20249939036749, + 69.3013763421321 + ], + [ + -96.1952667231128, + 69.03831481831186 + ], + [ + -96.04444122226009, + 69.22609710705531 + ], + [ + -95.8202819825606, + 68.87025451583338 + ], + [ + -95.20972442637158, + 68.85109710799065 + ], + [ + -96.53056335493861, + 68.44497680748083 + ] + ] + ], + [ + [ + [ + -71.42388915922841, + 17.604166030556833 + ], + [ + -72.0723648062553, + 18.239997863254867 + ], + [ + -72.8158340466843, + 18.138471604856086 + ], + [ + -73.4514007568002, + 18.256942750178467 + ], + [ + -73.88166809202409, + 18.02277755649711 + ], + [ + -74.4466705309307, + 18.341939927634968 + ], + [ + -74.42236328076739, + 18.610137939421527 + ], + [ + -72.73667144828201, + 18.424581526940237 + ], + [ + -72.34674072408859, + 18.535968780430427 + ], + [ + -72.32972717302539, + 18.683469773618704 + ], + [ + -72.80029296763959, + 19.033054352806083 + ], + [ + -72.7233428968356, + 19.45499801739484 + ], + [ + -73.46528625420859, + 19.687774659446905 + ], + [ + -73.4051437389018, + 19.831804275135585 + ], + [ + -72.7983398434972, + 19.94277572579188 + ], + [ + -71.7196578988348, + 19.701316833010296 + ], + [ + -71.66584014868171, + 19.893747330056176 + ], + [ + -70.99445342967189, + 19.930692672274485 + ], + [ + -70.2908477778481, + 19.649164198469208 + ], + [ + -69.94931793186419, + 19.676803590428595 + ], + [ + -69.7559814458851, + 19.290832519262334 + ], + [ + -69.1579284653496, + 19.29499816785525 + ], + [ + -69.23001098676869, + 19.18027496401497 + ], + [ + -69.6157684326705, + 19.22437286220505 + ], + [ + -69.6201477065281, + 19.088470458708567 + ], + [ + -68.9238967882454, + 19.029859542436377 + ], + [ + -68.325561524601, + 18.616664885292018 + ], + [ + -68.4513931288861, + 18.353887557150667 + ], + [ + -68.7616729728548, + 18.236942291736458 + ], + [ + -68.89527893151148, + 18.39638519216665 + ], + [ + -69.8847274785604, + 18.469026566972243 + ], + [ + -70.1541748031251, + 18.233055114550556 + ], + [ + -70.50750732379458, + 18.194721220703173 + ], + [ + -70.69194793692719, + 18.432359696161335 + ], + [ + -71.0812530510192, + 18.29916572548895 + ], + [ + -71.42388915922841, + 17.604166030556833 + ] + ] + ], + [ + [ + [ + -123.598342895029, + 48.31166076589036 + ], + [ + -125.10152435427501, + 48.72484970158245 + ], + [ + -125.184715272071, + 48.79846572996765 + ], + [ + -124.843330382029, + 49.01575851483745 + ], + [ + -124.780487061458, + 49.13943481446046 + ], + [ + -124.80700683594002, + 49.23561477714456 + ], + [ + -124.93694305546602, + 48.988044739022946 + ], + [ + -125.50473022388599, + 48.91902160705514 + ], + [ + -125.75110626330603, + 49.055267334206455 + ], + [ + -125.796661378143, + 49.31027221610127 + ], + [ + -126.021942137444, + 49.265552521542574 + ], + [ + -125.94721984774202, + 49.39554596030206 + ], + [ + -126.535697936682, + 49.37408447287937 + ], + [ + -126.67971801646101, + 49.87887573259889 + ], + [ + -127.12680053673402, + 49.85461425666267 + ], + [ + -127.17444610685502, + 50.06304931686098 + ], + [ + -127.894447327671, + 50.10881423906206 + ], + [ + -127.78888702517902, + 50.22221374492539 + ], + [ + -127.97902679377302, + 50.344852448417186 + ], + [ + -127.92332458403503, + 50.4617271434306 + ], + [ + -127.41694641196702, + 50.579608916423005 + ], + [ + -127.874229431934, + 50.6215858469631 + ], + [ + -127.59620666578901, + 50.545303345993794 + ], + [ + -128.051422119744, + 50.446693419171496 + ], + [ + -128.413269042849, + 50.7708930959963 + ], + [ + -127.91402435273302, + 50.87179565395651 + ], + [ + -125.45639038092703, + 50.32666397166078 + ], + [ + -124.78943634058602, + 49.46415710379106 + ], + [ + -123.94304656902003, + 49.21110534681135 + ], + [ + -123.40756988464099, + 48.68200302080256 + ], + [ + -123.292984008956, + 48.412071226866146 + ], + [ + -123.598342895029, + 48.31166076589036 + ] + ] + ], + [ + [ + [ + -53.578472136961395, + 69.22970581049479 + ], + [ + -54.2694473274228, + 69.39610290475271 + ], + [ + -53.5908355719855, + 69.44386291570292 + ], + [ + -53.5461120602466, + 69.51470947268714 + ], + [ + -54.98791503898911, + 69.69025421202393 + ], + [ + -54.40270614644041, + 69.68056488032153 + ], + [ + -54.9219436648439, + 69.82360839804106 + ], + [ + -54.8177795402713, + 69.95387268132887 + ], + [ + -54.24083328239709, + 69.91425323548789 + ], + [ + -54.785987854360194, + 70.04180145197259 + ], + [ + -54.8273620600948, + 70.19748687687131 + ], + [ + -54.30194091858258, + 70.3163757329965 + ], + [ + -53.45999908508641, + 70.2330474858443 + ], + [ + -51.83652496345231, + 69.63442230201262 + ], + [ + -53.578472136961395, + 69.22970581049479 + ] + ] + ], + [ + [ + [ + -111.505279540758, + 78.26693725654825 + ], + [ + -113.33332824697501, + 78.33081817699117 + ], + [ + -110.460281372772, + 78.75749206639145 + ], + [ + -109.257919311618, + 78.4838638303686 + ], + [ + -109.428596496071, + 78.30331420922198 + ], + [ + -111.141387939079, + 78.38610839752357 + ], + [ + -111.505279540758, + 78.26693725654825 + ] + ] + ], + [ + [ + [ + -76.6636199948285, + 67.21998596156779 + ], + [ + -77.07444763127309, + 67.28082275358199 + ], + [ + -77.32083892816868, + 67.70470428489266 + ], + [ + -76.726104736164, + 68.23887634231099 + ], + [ + -75.8180694579692, + 68.33665466355771 + ], + [ + -75.00750732398839, + 68.13998413095588 + ], + [ + -75.1613159174053, + 67.95421600310247 + ], + [ + -75.02514648493401, + 67.62248229972205 + ], + [ + -75.16111755364129, + 67.46388244685741 + ], + [ + -76.6636199948285, + 67.21998596156779 + ] + ] + ], + [ + [ + [ + -105.282775879292, + 72.8466491694595 + ], + [ + -106.45429992687002, + 73.39624023423086 + ], + [ + -107.030754089296, + 73.48554229701676 + ], + [ + -106.618331909431, + 73.70526123095031 + ], + [ + -105.525970459106, + 73.76304626409761 + ], + [ + -104.48826599127001, + 73.54830932611819 + ], + [ + -104.57235717714101, + 73.32589721626367 + ], + [ + -105.34749603278999, + 72.95304107625093 + ], + [ + -105.282775879292, + 72.8466491694595 + ] + ] + ], + [ + [ + [ + -179.324737548673, + 70.90524291954189 + ], + [ + -179.99999999994, + 70.9972076410874 + ], + [ + -179.99999999994, + 71.53584289564834 + ], + [ + -178.568603515173, + 71.56414794864374 + ], + [ + -177.44154357916102, + 71.2293472293581 + ], + [ + -177.93043518037902, + 71.0394287106002 + ], + [ + -179.324737548673, + 70.90524291954189 + ] + ] + ], + [ + [ + [ + -22.3113899236021, + 72.11276245150711 + ], + [ + -24.3474998475725, + 72.58360290539467 + ], + [ + -24.476526260316604, + 72.8335952759528 + ], + [ + -23.1491680144529, + 72.83679962193561 + ], + [ + -21.928194046079792, + 72.46470642127257 + ], + [ + -22.760974884428588, + 72.43761444139864 + ], + [ + -22.134166716881307, + 72.27165222142935 + ], + [ + -22.3113899236021, + 72.11276245150711 + ] + ] + ], + [ + [ + [ + -28.035835265879392, + 70.42637634225312 + ], + [ + -28.1341667174629, + 70.46499633843715 + ], + [ + -28.027225494535013, + 70.60054016102006 + ], + [ + -27.149589538797688, + 70.87438964860299 + ], + [ + -26.429164885748207, + 70.91526794383871 + ], + [ + -25.80250167822679, + 71.0552520745476 + ], + [ + -25.397638320709397, + 70.91442871025367 + ], + [ + -25.2813911438652, + 70.67747497594507 + ], + [ + -26.195831298474804, + 70.44999694835013 + ], + [ + -26.384723663882408, + 70.48692321732302 + ], + [ + -26.213333129275906, + 70.58526611357203 + ], + [ + -28.035835265879392, + 70.42637634225312 + ] + ] + ], + [ + [ + [ + -153.98596191404602, + 56.73846435576365 + ], + [ + -154.13888549827996, + 56.74165725683285 + ], + [ + -153.904174804968, + 57.06360244791316 + ], + [ + -154.12442016588605, + 57.143051147175875 + ], + [ + -154.44467163020502, + 57.11518096892148 + ], + [ + -154.10609436100398, + 57.11547851494667 + ], + [ + -154.29779052671202, + 56.84887695369736 + ], + [ + -154.60957336400503, + 57.26096725469169 + ], + [ + -154.79945373529006, + 57.28332901042558 + ], + [ + -154.72778320327, + 57.42221832284599 + ], + [ + -154.02999877865, + 57.651382446815816 + ], + [ + -153.89044189481098, + 57.40971374496761 + ], + [ + -153.760299682708, + 57.309852600304 + ], + [ + -153.63500976589, + 57.27596664394927 + ], + [ + -153.92932128955502, + 57.80832672073274 + ], + [ + -153.64306640642502, + 57.86610412540045 + ], + [ + -153.50619506807502, + 57.62846374449781 + ], + [ + -153.05117797865805, + 57.830268860068735 + ], + [ + -153.116943358767, + 57.949996947731044 + ], + [ + -152.477218627738, + 57.90318298282445 + ], + [ + -152.329925537753, + 57.81891632082472 + ], + [ + -152.551605224874, + 57.704227446924605 + ], + [ + -152.152297973694, + 57.60818862928311 + ], + [ + -152.36180114723302, + 57.423049927091 + ], + [ + -152.73101806644001, + 57.50416183484361 + ], + [ + -153.02445983903797, + 57.4712409972888 + ], + [ + -152.600784302236, + 57.3736343388903 + ], + [ + -153.166885376637, + 57.3460311883899 + ], + [ + -153.98596191404602, + 56.73846435576365 + ] + ] + ], + [ + [ + [ + -134.26779174810602, + 68.69581604022784 + ], + [ + -134.825836182008, + 68.97886657725009 + ], + [ + -135.905853271141, + 68.91137695323266 + ], + [ + -135.98547363273903, + 69.03373718253559 + ], + [ + -135.52459716746702, + 69.02325439441546 + ], + [ + -135.966522216823, + 69.20623016372139 + ], + [ + -135.491378784511, + 69.11872863794679 + ], + [ + -135.84443664595503, + 69.29901123088119 + ], + [ + -135.175964355394, + 69.2593612671186 + ], + [ + -135.283340453708, + 69.42047119137992 + ], + [ + -135.152572632329, + 69.47567748966861 + ], + [ + -134.438323974647, + 69.45471191458084 + ], + [ + -134.486785888098, + 69.71203613298854 + ], + [ + -133.78501892108198, + 69.57666015623053 + ], + [ + -134.674652100107, + 69.01318359394855 + ], + [ + -134.26779174810602, + 68.69581604022784 + ] + ] + ], + [ + [ + [ + -83.6780471806715, + 62.14041137670095 + ], + [ + -83.9444351195806, + 62.44478225681006 + ], + [ + -83.40028381380368, + 62.897491455506 + ], + [ + -81.86798095707961, + 62.92499160804261 + ], + [ + -81.96597290014338, + 62.69374084521547 + ], + [ + -82.76916503874742, + 62.29027557370666 + ], + [ + -83.6780471806715, + 62.14041137670095 + ] + ] + ], + [ + [ + [ + -61.16833496088291, + 45.55138397237753 + ], + [ + -61.45611190794239, + 45.710411071481126 + ], + [ + -61.4555587772202, + 46.13749694813133 + ], + [ + -60.640281677151094, + 46.99999999968764 + ], + [ + -60.4608306887523, + 46.99916076689803 + ], + [ + -60.302917480458, + 46.82360458340963 + ], + [ + -60.4438858030953, + 46.32694244427552 + ], + [ + -61.1465301512433, + 45.70152282694041 + ], + [ + -60.466941833874415, + 45.93804168727211 + ], + [ + -60.7872238163407, + 45.93616867024523 + ], + [ + -60.28527831994642, + 46.321380615193036 + ], + [ + -59.87305450438921, + 46.17582702659303 + ], + [ + -59.84055328366478, + 45.93832397465683 + ], + [ + -60.3797225953162, + 45.64499664344251 + ], + [ + -61.16833496088291, + 45.55138397237753 + ] + ] + ], + [ + [ + [ + -169.670425414366, + 62.94414901783058 + ], + [ + -170.50944519002203, + 63.37526321350664 + ], + [ + -171.549163818277, + 63.327766418297536 + ], + [ + -171.84097290010004, + 63.57429504394455 + ], + [ + -171.724456787688, + 63.750267028006135 + ], + [ + -170.92999267540202, + 63.57110595624825 + ], + [ + -170.300018310912, + 63.69415283252117 + ], + [ + -169.52444458002702, + 63.35415649468614 + ], + [ + -168.70086669929205, + 63.29054260259943 + ], + [ + -168.850006103633, + 63.15526580817831 + ], + [ + -169.321151733146, + 63.184574127328325 + ], + [ + -169.670425414366, + 62.94414901783058 + ] + ] + ], + [ + [ + [ + -132.12638854944203, + 54.68818283070897 + ], + [ + -132.596023559455, + 54.969085693401354 + ], + [ + -132.511962890633, + 55.10638427754747 + ], + [ + -132.650726318205, + 55.24381256102619 + ], + [ + -132.655136108442, + 55.138740539127085 + ], + [ + -133.21284484867303, + 55.27783966086328 + ], + [ + -133.209777831648, + 55.38110351519128 + ], + [ + -132.867492676046, + 55.35388183601128 + ], + [ + -133.126983642261, + 55.491031646303306 + ], + [ + -132.921142578449, + 55.6246414186775 + ], + [ + -133.36596679707802, + 55.615615845095085 + ], + [ + -133.143859862866, + 55.8797836301934 + ], + [ + -133.26507568322702, + 56.15485000568042 + ], + [ + -133.611648559714, + 56.20520019517093 + ], + [ + -133.61053466783, + 56.34832763654133 + ], + [ + -133.180206298486, + 56.32728576698865 + ], + [ + -133.072906494542, + 56.05131149272531 + ], + [ + -132.62179565431, + 55.91957473715743 + ], + [ + -132.141799926622, + 55.47568511922069 + ], + [ + -132.562499999573, + 55.56777191169759 + ], + [ + -132.088287353533, + 55.267597198842374 + ], + [ + -132.235336303424, + 55.19311523455456 + ], + [ + -131.985824585143, + 55.259578705168586 + ], + [ + -132.21353149439, + 54.99374389637196 + ], + [ + -131.972564697094, + 55.029712676810064 + ], + [ + -131.94943237308598, + 54.788330077876076 + ], + [ + -132.12638854944203, + 54.68818283070897 + ] + ] + ], + [ + [ + [ + -135.688049316278, + 57.362770080556025 + ], + [ + -136.35305786118002, + 57.833053588825045 + ], + [ + -136.34790039083902, + 58.22040557826955 + ], + [ + -135.48345947286, + 58.15804672271226 + ], + [ + -135.778961181885, + 58.042564391692856 + ], + [ + -135.647247314577, + 57.962211608851824 + ], + [ + -135.406539917201, + 58.13749313376974 + ], + [ + -134.92056274452702, + 58.01707839935714 + ], + [ + -135.1235961912, + 57.77443695100991 + ], + [ + -135.880340576265, + 57.99248886124665 + ], + [ + -135.296966553036, + 57.73165893531102 + ], + [ + -134.93112182648002, + 57.75943756095832 + ], + [ + -134.844238281287, + 57.596450805908894 + ], + [ + -134.85449218787, + 57.458740234569106 + ], + [ + -135.05929565429201, + 57.459506988591116 + ], + [ + -135.800872802891, + 57.759891510042934 + ], + [ + -135.552490234103, + 57.53416442839391 + ], + [ + -135.688049316278, + 57.362770080556025 + ] + ] + ], + [ + [ + [ + -132.39932251009802, + 53.142494201899176 + ], + [ + -132.733886718461, + 53.3372116088164 + ], + [ + -132.40550231949703, + 53.337421416903794 + ], + [ + -132.972503662234, + 53.55582427960113 + ], + [ + -133.13821411129402, + 53.87763214129673 + ], + [ + -133.06944274914, + 54.17138290417142 + ], + [ + -132.228332519219, + 54.065826415734215 + ], + [ + -132.129730224722, + 53.848464966052504 + ], + [ + -132.65861511213404, + 53.682281493763305 + ], + [ + -132.418060302608, + 53.60610198941299 + ], + [ + -131.663742065464, + 54.140270233487435 + ], + [ + -131.9637451175, + 53.27138519259418 + ], + [ + -132.39932251009802, + 53.142494201899176 + ] + ] + ], + [ + [ + [ + -62.024581908851495, + 49.06944274860456 + ], + [ + -63.093887328625385, + 49.229293822541685 + ], + [ + -64.51251220696491, + 49.86110687197438 + ], + [ + -64.1356201172946, + 49.94713973998699 + ], + [ + -63.136116027580194, + 49.78082275406328 + ], + [ + -61.88389205890681, + 49.34819030708586 + ], + [ + -61.664791107244, + 49.14422988910026 + ], + [ + -62.024581908851495, + 49.06944274860456 + ] + ] + ], + [ + [ + [ + -166.253112793061, + 59.795429229910354 + ], + [ + -167.130447387397, + 59.99887466438857 + ], + [ + -167.418060302691, + 60.1894226078427 + ], + [ + -166.10916137655502, + 60.4102706908004 + ], + [ + -165.68434143064002, + 60.29652023329078 + ], + [ + -165.555435180724, + 59.928737640070565 + ], + [ + -166.253112793061, + 59.795429229910354 + ] + ] + ], + [ + [ + [ + -134.57638549794, + 57.02721405032137 + ], + [ + -134.496124267255, + 57.37124252332019 + ], + [ + -134.95013427706002, + 58.40547561641946 + ], + [ + -134.705337524247, + 58.21450424162373 + ], + [ + -134.173126220365, + 58.159778595035355 + ], + [ + -133.89501953113802, + 57.75666046118373 + ], + [ + -133.893341064167, + 57.65526580777123 + ], + [ + -134.31958007827902, + 58.03096771245235 + ], + [ + -133.86262512241905, + 57.365547180458066 + ], + [ + -134.57638549794, + 57.02721405032137 + ] + ] + ], + [ + [ + [ + -79.8058319093424, + 61.56805419902317 + ], + [ + -80.2777786254423, + 61.81242370579369 + ], + [ + -80.2676391602855, + 62.10929870594195 + ], + [ + -79.94263458245132, + 62.387355804291836 + ], + [ + -79.44638061512418, + 62.38137817381354 + ], + [ + -79.2618103025285, + 62.161243438641634 + ], + [ + -79.8058319093424, + 61.56805419902317 + ] + ] + ], + [ + [ + [ + -134.654586791673, + 56.16610336306563 + ], + [ + -135.367355346403, + 56.832214355662266 + ], + [ + -135.33825683623402, + 57.24520111086179 + ], + [ + -135.66752624503602, + 57.34578704802579 + ], + [ + -135.515716552804, + 57.5049972535674 + ], + [ + -134.83610534648702, + 57.25027084331048 + ], + [ + -134.61888122569, + 56.728740692030364 + ], + [ + -134.654586791673, + 56.16610336306563 + ] + ] + ], + [ + [ + [ + -62.76111602828862, + 45.95416259703602 + ], + [ + -62.97083282532298, + 46.07416534382303 + ], + [ + -62.99701309255381, + 46.294158935882905 + ], + [ + -63.231525421122114, + 46.13888168306483 + ], + [ + -63.6462516785561, + 46.226516723557694 + ], + [ + -64.12734985394688, + 46.41092681862493 + ], + [ + -64.10556030255088, + 46.618049621802726 + ], + [ + -64.40528106744772, + 46.71929550176703 + ], + [ + -64.0208435053029, + 47.03860473588784 + ], + [ + -63.78028106726529, + 46.444992065246126 + ], + [ + -63.65472030684541, + 46.56679916385002 + ], + [ + -63.21639251761041, + 46.41220855650103 + ], + [ + -61.9746170044514, + 46.45471191455781 + ], + [ + -62.33472442646319, + 46.311935424702014 + ], + [ + -62.466388702722185, + 46.000549316664 + ], + [ + -62.76111602828862, + 45.95416259703602 + ] + ] + ], + [ + [ + [ + -164.66390991202402, + 54.39193725614994 + ], + [ + -164.95234680171404, + 54.58020019513246 + ], + [ + -164.49108886737704, + 54.91457366962686 + ], + [ + -163.926177978747, + 55.03172683721317 + ], + [ + -163.536392212135, + 55.04728698742807 + ], + [ + -163.374984741013, + 54.79179763816255 + ], + [ + -163.05488586430198, + 54.668117522807144 + ], + [ + -164.084991455047, + 54.62193298369466 + ], + [ + -164.66390991202402, + 54.39193725614994 + ] + ] + ], + [ + [ + [ + -77.1657028194413, + 17.697219849076745 + ], + [ + -77.73556518525608, + 17.849998474432414 + ], + [ + -78.0572357179063, + 18.196388244177665 + ], + [ + -78.3622283933908, + 18.234722137451264 + ], + [ + -78.3397979737693, + 18.360692978030364 + ], + [ + -77.8644561769708, + 18.522499085020147 + ], + [ + -76.94528198257608, + 18.394443512157455 + ], + [ + -76.3416748046283, + 18.149719238270375 + ], + [ + -76.2211151123548, + 17.90416336092902 + ], + [ + -76.83292388937402, + 17.987081527826405 + ], + [ + -76.95153045633, + 17.829303741045706 + ], + [ + -77.1319580073083, + 17.87888717609461 + ], + [ + -77.1657028194413, + 17.697219849076745 + ] + ] + ], + [ + [ + [ + -155.663146972725, + 18.925477981596384 + ], + [ + -155.900299071983, + 19.090339660874683 + ], + [ + -156.048980712642, + 19.735059738288097 + ], + [ + -155.81326293917598, + 20.004024505356384 + ], + [ + -155.84654235806602, + 20.277633666958145 + ], + [ + -155.183349609568, + 19.98513221715348 + ], + [ + -154.797821045235, + 19.53808593727761 + ], + [ + -155.663146972725, + 18.925477981596384 + ] + ] + ], + [ + [ + [ + -66.20445251478772, + 17.922222137303514 + ], + [ + -67.1847305295471, + 17.932498931475408 + ], + [ + -67.2663955688089, + 18.36541557276826 + ], + [ + -67.0833435062255, + 18.519443512318027 + ], + [ + -65.62695312468502, + 18.36499786351957 + ], + [ + -65.8868179321248, + 17.987913131399303 + ], + [ + -66.20445251478772, + 17.922222137303514 + ] + ] + ], + [ + [ + [ + -131.20527648923002, + 55.18679428088589 + ], + [ + -131.45492553694302, + 55.278602600108876 + ], + [ + -131.273544311734, + 55.4331169128735 + ], + [ + -131.347702026397, + 55.64311981207401 + ], + [ + -131.328598022529, + 55.42582702649439 + ], + [ + -131.518615722795, + 55.29457855234047 + ], + [ + -131.8191680908, + 55.453632354747 + ], + [ + -131.68486022953599, + 55.830272674573116 + ], + [ + -131.25959777825202, + 55.96026992780072 + ], + [ + -131.055984497085, + 55.8062438966713 + ], + [ + -130.96806335449702, + 55.38818740825378 + ], + [ + -131.20527648923002, + 55.18679428088589 + ] + ] + ], + [ + [ + [ + -133.575561523639, + 56.43360137924283 + ], + [ + -133.748596191595, + 56.874160766733475 + ], + [ + -134.008132934808, + 57.05457687387018 + ], + [ + -132.97276306136501, + 56.924434662077076 + ], + [ + -132.93376159651203, + 56.62978363028985 + ], + [ + -133.347213745221, + 56.837627410734164 + ], + [ + -133.082702636799, + 56.532630920683054 + ], + [ + -133.575561523639, + 56.43360137924283 + ] + ] + ], + [ + [ + [ + -131.26473999042202, + 52.11971282977185 + ], + [ + -132.21916198705298, + 52.80853271473136 + ], + [ + -132.378601074187, + 53.12943267793548 + ], + [ + -131.799514770741, + 53.25138473480199 + ], + [ + -131.597732543719, + 53.04079055781878 + ], + [ + -131.85638427727102, + 52.85610198963317 + ], + [ + -131.77154541008701, + 52.71527099614196 + ], + [ + -131.01069641116501, + 52.21873855624736 + ], + [ + -131.26473999042202, + 52.11971282977185 + ] + ] + ], + [ + [ + [ + -167.66333007813003, + 53.25554656981447 + ], + [ + -167.842559814415, + 53.306373596222194 + ], + [ + -167.216033935952, + 53.46440887453071 + ], + [ + -167.025726318089, + 53.702625274600116 + ], + [ + -166.76644897430302, + 53.6858215331018 + ], + [ + -167.152374267205, + 53.82387924174401 + ], + [ + -167.020431518377, + 53.956653595230215 + ], + [ + -166.63154602012503, + 53.9997100833223 + ], + [ + -166.603607177603, + 53.82902526889872 + ], + [ + -166.375152587707, + 54.001029968467925 + ], + [ + -166.21514892581897, + 53.9209594726897 + ], + [ + -166.28475952186002, + 53.67638397256241 + ], + [ + -166.650177001793, + 53.49207305938211 + ], + [ + -167.66333007813003, + 53.25554656981447 + ] + ] + ], + [ + [ + [ + -80.70944213866639, + 52.69144821131677 + ], + [ + -81.9249877926979, + 52.96374511738428 + ], + [ + -82.0529785155576, + 53.04179763793198 + ], + [ + -81.856246948044, + 53.1801338196933 + ], + [ + -81.1112518309867, + 53.2002716067609 + ], + [ + -80.7691726684326, + 52.937908172441254 + ], + [ + -80.70944213866639, + 52.69144821131677 + ] + ] + ], + [ + [ + [ + -134.10943603532098, + 55.99707794191271 + ], + [ + -134.28230285631201, + 56.348461151048355 + ], + [ + -134.089431762542, + 56.53818893411804 + ], + [ + -134.393341064536, + 56.72137451187297 + ], + [ + -134.261550903133, + 56.93873977673399 + ], + [ + -133.754211425986, + 56.785923003995755 + ], + [ + -133.708496093933, + 56.60158920271694 + ], + [ + -133.921249389492, + 56.61110305780686 + ], + [ + -133.862213134721, + 56.27748870868923 + ], + [ + -133.959152221719, + 56.08249664325882 + ], + [ + -134.06141662584702, + 56.24607849135862 + ], + [ + -134.10943603532098, + 55.99707794191271 + ] + ] + ], + [ + [ + [ + -152.85221862812, + 57.992908478037755 + ], + [ + -153.221252441511, + 58.193599700988756 + ], + [ + -152.90223693845599, + 58.16749191311534 + ], + [ + -153.10430908191498, + 58.261665344396334 + ], + [ + -152.797775268782, + 58.28277206407724 + ], + [ + -152.638610840117, + 58.47971344016516 + ], + [ + -151.96568298319, + 58.32332611063135 + ], + [ + -152.08029174784104, + 58.15637969946375 + ], + [ + -152.27418518090704, + 58.262218475115745 + ], + [ + -152.27722167969299, + 58.129436492743956 + ], + [ + -152.85221862812, + 57.992908478037755 + ] + ] + ], + [ + [ + [ + -79.7819519041497, + 55.7880477903202 + ], + [ + -79.47569274888411, + 56.120128631384716 + ], + [ + -79.86486053466709, + 55.849021911449114 + ], + [ + -79.96194457993332, + 55.96027374291901 + ], + [ + -79.4687500002353, + 56.546386718475745 + ], + [ + -79.4616699219517, + 56.19332122828473 + ], + [ + -79.28639221193279, + 56.57027435311485 + ], + [ + -78.9237442018502, + 56.41735458366152 + ], + [ + -79.2828445434275, + 55.8678398131455 + ], + [ + -79.1582260130179, + 56.203323363989846 + ], + [ + -79.45249938987362, + 55.879989623826425 + ], + [ + -79.7819519041497, + 55.7880477903202 + ] + ] + ], + [ + [ + [ + -74.0044479369145, + 40.580413818192675 + ], + [ + -73.9169464116586, + 40.79235839843236 + ], + [ + -73.5894470213155, + 40.92054748575887 + ], + [ + -72.6376419068569, + 40.98165893597315 + ], + [ + -72.28527832036909, + 41.16193389883416 + ], + [ + -72.61711120553741, + 40.91759491004315 + ], + [ + -71.8667984009293, + 41.07478332529186 + ], + [ + -74.0044479369145, + 40.580413818192675 + ] + ] + ], + [ + [ + [ + -128.75027465813102, + 52.599021911633656 + ], + [ + -128.64674377446002, + 52.96193695072996 + ], + [ + -128.778900146486, + 52.66415405279908 + ], + [ + -129.03277587903202, + 52.71971130384157 + ], + [ + -129.120956420757, + 52.86610412603599 + ], + [ + -128.838607788236, + 53.032634735237075 + ], + [ + -128.993118286006, + 53.127658843829884 + ], + [ + -128.86332702628005, + 53.036525726276686 + ], + [ + -129.163543701065, + 52.922492981002485 + ], + [ + -129.082916259934, + 53.29513549787859 + ], + [ + -128.531677246056, + 53.02110290532109 + ], + [ + -128.59222412100402, + 52.613883972063654 + ], + [ + -128.75027465813102, + 52.599021911633656 + ] + ] + ], + [ + [ + [ + -169.08670043942303, + 52.828048706144976 + ], + [ + -168.62139892545403, + 53.27221679662921 + ], + [ + -168.357238769688, + 53.26235580427639 + ], + [ + -168.354049682917, + 53.47332382197388 + ], + [ + -167.795318603546, + 53.49553680391479 + ], + [ + -169.08670043942303, + 52.828048706144976 + ] + ] + ], + [ + [ + [ + -61.90951538094771, + 10.04034614544349 + ], + [ + -61.453754425304005, + 10.294164657695566 + ], + [ + -61.473617553745484, + 10.597776412816112 + ], + [ + -61.662017822215816, + 10.708401680035601 + ], + [ + -60.909236907982624, + 10.827013015550376 + ], + [ + -61.03416824338519, + 10.678194046133596 + ], + [ + -61.0044479369024, + 10.149581909060684 + ], + [ + -61.90951538094771, + 10.04034614544349 + ] + ] + ], + [ + [ + [ + -78.0196609497395, + 24.27465057374912 + ], + [ + -78.4401474000242, + 24.61666488635241 + ], + [ + -78.17723083482151, + 24.917221069388795 + ], + [ + -78.2050018312365, + 25.201942443955467 + ], + [ + -77.9877166747006, + 25.15020561226606 + ], + [ + -77.7216796876363, + 24.52888870215572 + ], + [ + -78.0196609497395, + 24.27465057374912 + ] + ] + ], + [ + [ + [ + -175.079711914092, + 51.99832153315406 + ], + [ + -175.33403015133604, + 52.01651763949495 + ], + [ + -174.504486083641, + 52.13457489032347 + ], + [ + -174.18003845225098, + 52.41762924206246 + ], + [ + -173.990753173859, + 52.32213974006605 + ], + [ + -174.20944213883004, + 52.098876953461534 + ], + [ + -175.079711914092, + 51.99832153315406 + ] + ] + ], + [ + [ + [ + -82.89723205560371, + 21.43277740468121 + ], + [ + -83.0729904176357, + 21.462707519680823 + ], + [ + -83.1913986205904, + 21.623399734487297 + ], + [ + -82.93507385250992, + 21.586595535409796 + ], + [ + -83.08944702137049, + 21.78555297866838 + ], + [ + -82.97445678714737, + 21.94277572618207 + ], + [ + -82.7158355713151, + 21.890274047852184 + ], + [ + -82.5430603027495, + 21.589721679845315 + ], + [ + -82.89723205560371, + 21.43277740468121 + ] + ] + ], + [ + [ + [ + -176.93862915053302, + 51.58443450918815 + ], + [ + -176.758361816348, + 51.950828552157326 + ], + [ + -176.55976867682102, + 51.984710693325844 + ], + [ + -176.642242431643, + 51.857215881405544 + ], + [ + -176.42362976066806, + 51.82777023311083 + ], + [ + -176.93862915053302, + 51.58443450918815 + ] + ] + ], + [ + [ + [ + -73.6627807615417, + 20.915275573550076 + ], + [ + -73.5306320190391, + 21.18576240535975 + ], + [ + -73.258483886603, + 21.134996414196962 + ], + [ + -73.0075073242476, + 21.32374763474152 + ], + [ + -73.14972686771722, + 20.97388839725998 + ], + [ + -73.6627807615417, + 20.915275573550076 + ] + ] + ], + [ + [ + [ + -61.6888923645781, + 15.947776794300731 + ], + [ + -61.78361511219719, + 16.333053588915195 + ], + [ + -61.54187011712141, + 16.2902488708093 + ], + [ + -61.46333694455309, + 16.512914657565673 + ], + [ + -61.20555877686921, + 16.267219543479992 + ], + [ + -61.6888923645781, + 15.947776794300731 + ] + ] + ], + [ + [ + [ + -157.81307983411702, + 21.258884429954332 + ], + [ + -158.10057067878301, + 21.29444313048293 + ], + [ + -158.273498535142, + 21.577772140418308 + ], + [ + -157.94390869143402, + 21.68444061268059 + ], + [ + -157.66558837891998, + 21.32416152954444 + ], + [ + -157.81307983411702, + 21.258884429954332 + ] + ] + ], + [ + [ + [ + -159.451416015726, + 21.86999130247527 + ], + [ + -159.754196166931, + 21.97916030893167 + ], + [ + -159.71461486819302, + 22.154163360591042 + ], + [ + -159.32748413092602, + 22.201656341671036 + ], + [ + -159.451416015726, + 21.86999130247527 + ] + ] + ], + [ + [ + [ + -77.6090393066013, + 23.727357864390193 + ], + [ + -77.77375030511489, + 23.744859695304992 + ], + [ + -77.66964721690958, + 23.766368865867374 + ], + [ + -77.5759124755166, + 23.84388732908588 + ], + [ + -77.73028564443389, + 23.786941528328782 + ], + [ + -77.87667846668771, + 24.073055267333963 + ], + [ + -77.67792510984701, + 24.295135498030643 + ], + [ + -77.74166870125839, + 24.030277252302966 + ], + [ + -77.60931396474501, + 24.21499824521774 + ], + [ + -77.51681518558, + 23.92472076419686 + ], + [ + -77.6090393066013, + 23.727357864390193 + ] + ] + ], + [ + [ + [ + -77.2180633544135, + 25.879165649435386 + ], + [ + -77.39805603011919, + 26.026386261136178 + ], + [ + -77.2208404539321, + 26.145275116044264 + ], + [ + -77.15417480485979, + 26.55458259556832 + ], + [ + -77.34305572530249, + 26.60513496393532 + ], + [ + -77.54278564436102, + 26.865552902002207 + ], + [ + -77.95028686516189, + 26.897777557313795 + ], + [ + -77.54667663570478, + 26.89666366602631 + ], + [ + -77.0422363279857, + 26.50888824445294 + ], + [ + -77.2180633544135, + 25.879165649435386 + ] + ] + ], + [ + [ + [ + -78.70861816407601, + 26.489719390963746 + ], + [ + -78.97889709470161, + 26.695274353104427 + ], + [ + -78.7011184689665, + 26.584442138790013 + ], + [ + -78.5188903810079, + 26.734165191788133 + ], + [ + -77.9172363279631, + 26.74527740476522 + ], + [ + -78.70861816407601, + 26.489719390963746 + ] + ] + ], + [ + [ + [ + -60.860839843778784, + 14.40277671814882 + ], + [ + -61.03388977055759, + 14.46583175668983 + ], + [ + -61.174728393498306, + 14.876943588323257 + ], + [ + -60.940834045332004, + 14.740833282427795 + ], + [ + -60.860839843778784, + 14.40277671814882 + ] + ] + ], + [ + [ + [ + -64.52171325674459, + 60.310729980391095 + ], + [ + -64.72888183584222, + 60.36332702637668 + ], + [ + -64.8679122924701, + 60.453186035230694 + ], + [ + -64.4254150391128, + 60.39929962148121 + ], + [ + -64.52171325674459, + 60.310729980391095 + ] + ] + ], + [ + [ + [ + -56.339164733921194, + 46.77985382080502 + ], + [ + -56.396461486892015, + 46.829578399631735 + ], + [ + -56.3611145019652, + 47.135826110827516 + ], + [ + -56.2326354979867, + 46.85305023195974 + ], + [ + -56.339164733921194, + 46.77985382080502 + ] + ] + ], + [ + [ + [ + -61.363616943357606, + 15.198055267342022 + ], + [ + -61.4913940429364, + 15.540554046612685 + ], + [ + -61.4522247314524, + 15.631942749011177 + ], + [ + -61.253334045494896, + 15.461387634336702 + ], + [ + -61.363616943357606, + 15.198055267342022 + ] + ] + ], + [ + [ + [ + -76.16833496104131, + 24.689998626726183 + ], + [ + -76.3368835451001, + 24.817705154603484 + ], + [ + -76.16334533692219, + 25.127777099806355 + ], + [ + -76.71583557131571, + 25.44166564945362 + ], + [ + -76.73529052753919, + 25.559165954566524 + ], + [ + -76.1202850339626, + 25.133192062362156 + ], + [ + -76.16833496104131, + 24.689998626726183 + ] + ] + ], + [ + [ + [ + -60.95472717294932, + 13.70944404602792 + ], + [ + -61.07958602904488, + 13.8766660689537 + ], + [ + -60.9333381652923, + 14.109304428089374 + ], + [ + -60.87805938724639, + 13.956665039020079 + ], + [ + -60.95472717294932, + 13.70944404602792 + ] + ] + ], + [ + [ + [ + -75.46250915538539, + 24.122497558604053 + ], + [ + -75.4661178589419, + 24.290346145601237 + ], + [ + -75.735565185523, + 24.696525573714105 + ], + [ + -75.31472778310179, + 24.213886261101635 + ], + [ + -75.46250915538539, + 24.122497558604053 + ] + ] + ], + [ + [ + [ + -68.7469482421972, + 12.040276527313727 + ], + [ + -69.06249999997661, + 12.188331604004505 + ], + [ + -69.1636199951075, + 12.36638832090499 + ], + [ + -68.82417297353709, + 12.160276412894612 + ], + [ + -68.7469482421972, + 12.040276527313727 + ] + ] + ], + [ + [ + [ + -59.53305816653842, + 13.050554275517602 + ], + [ + -59.6427803039618, + 13.146388053883687 + ], + [ + -59.6311111449996, + 13.334999084526261 + ], + [ + -59.42916870113469, + 13.164999008212986 + ], + [ + -59.53305816653842, + 13.050554275517602 + ] + ] + ], + [ + [ + [ + -61.7380599976034, + 16.989719390838502 + ], + [ + -61.88153076168291, + 17.022081375062797 + ], + [ + -61.82958602903802, + 17.165554046605397 + ], + [ + -61.67055892944332, + 17.088470458998213 + ], + [ + -61.7380599976034, + 16.989719390838502 + ] + ] + ], + [ + [ + [ + -61.7497253418216, + 11.996942520145533 + ], + [ + -61.72472381594861, + 12.172222137452925 + ], + [ + -61.6147232055288, + 12.231943130469 + ], + [ + -61.6301422119281, + 12.046110153222028 + ], + [ + -61.7497253418216, + 11.996942520145533 + ] + ] + ], + [ + [ + [ + -61.18444824223119, + 13.130277633671081 + ], + [ + -61.2801437377647, + 13.205693244962973 + ], + [ + -61.1798629761249, + 13.38319301604455 + ], + [ + -61.1202850342347, + 13.307498931819463 + ], + [ + -61.18444824223119, + 13.130277633671081 + ] + ] + ], + [ + [ + [ + -118.30374145501601, + 33.30985260010895 + ], + [ + -118.44964599604201, + 33.32860565181283 + ], + [ + -118.58992767333298, + 33.48381042475684 + ], + [ + -118.34973144538101, + 33.39833068853896 + ], + [ + -118.30374145501601, + 33.30985260010895 + ] + ] + ], + [ + [ + [ + -97.3879852293554, + 27.22242546082658 + ], + [ + -97.3172302244751, + 27.495826721115957 + ], + [ + -97.0431900025373, + 27.83985710144652 + ], + [ + -97.26695251472219, + 27.509719848761755 + ], + [ + -97.3879852293554, + 27.22242546082658 + ] + ] + ], + [ + [ + [ + -64.8961181640547, + 17.676666259821832 + ], + [ + -64.7641754151243, + 17.77861022952123 + ], + [ + -64.56257629395309, + 17.751178741414833 + ], + [ + -64.66833496098371, + 17.710830688504117 + ], + [ + -64.8961181640547, + 17.676666259821832 + ] + ] + ], + [ + [ + [ + -81.263618469223, + 19.264997482342338 + ], + [ + -81.3913955688497, + 19.26721954349216 + ], + [ + -81.3950042724162, + 19.326110839890237 + ], + [ + -81.097640991195, + 19.345415115312733 + ], + [ + -81.263618469223, + 19.264997482342338 + ] + ] + ], + [ + [ + [ + -62.65389251709801, + 17.208885192865786 + ], + [ + -62.837226867617694, + 17.326108932471264 + ], + [ + -62.85639190676918, + 17.385829925502275 + ], + [ + -62.73236465447989, + 17.36666488647367 + ], + [ + -62.65389251709801, + 17.208885192865786 + ] + ] + ], + [ + [ + [ + -69.8822326659848, + 12.411109924319673 + ], + [ + -70.05903625490609, + 12.540207862817057 + ], + [ + -70.05966186524009, + 12.627776145928264 + ], + [ + -69.93223571779939, + 12.528055190989857 + ], + [ + -69.8822326659848, + 12.411109924319673 + ] + ] + ], + [ + [ + [ + -75.6100006102714, + 35.22221374512624 + ], + [ + -75.491943359497, + 35.41805267344425 + ], + [ + -75.51480102529419, + 35.77596282957303 + ], + [ + -75.4830627442551, + 35.34582519528106 + ], + [ + -75.6100006102714, + 35.22221374512624 + ] + ] + ], + [ + [ + [ + -97.0252838135181, + 27.86944198608682 + ], + [ + -96.9219360351139, + 28.089717864931384 + ], + [ + -96.8427810668969, + 28.11833000187419 + ], + [ + -96.84861755372269, + 28.083885192846115 + ], + [ + -97.0252838135181, + 27.86944198608682 + ] + ] + ], + [ + [ + [ + -71.6588897705181, + 21.739719390816006 + ], + [ + -71.82528686521229, + 21.7754135131325 + ], + [ + -71.84777832026919, + 21.854721069384876 + ], + [ + -71.6677856444999, + 21.831525802654667 + ], + [ + -71.6588897705181, + 21.739719390816006 + ] + ] + ], + [ + [ + [ + -62.171394348124196, + 16.67138671875115 + ], + [ + -62.236949920680395, + 16.714719772324145 + ], + [ + -62.20458984376091, + 16.812358856195623 + ], + [ + -62.14722442624681, + 16.749164581301244 + ], + [ + -62.171394348124196, + 16.67138671875115 + ] + ] + ], + [ + [ + [ + -80.5951461791942, + 24.946384429937996 + ], + [ + -80.28680419929528, + 25.341802597133533 + ], + [ + -80.2609786986604, + 25.348052978607537 + ], + [ + -80.39079284676419, + 25.142774581856962 + ], + [ + -80.5951461791942, + 24.946384429937996 + ] + ] + ], + [ + [ + [ + -63.16777801513219, + 18.164443969709968 + ], + [ + -63.0520172118795, + 18.25958061213378 + ], + [ + -62.97270965576631, + 18.272983551024456 + ], + [ + -62.993057250992685, + 18.22721862791147 + ], + [ + -63.16777801513219, + 18.164443969709968 + ] + ] + ], + [ + [ + [ + -64.6608428954934, + 18.383888244594765 + ], + [ + -64.6525115966802, + 18.441108703597436 + ], + [ + -64.5602798462128, + 18.453609466574743 + ], + [ + -64.5651397705025, + 18.420969009401542 + ], + [ + -64.6608428954934, + 18.383888244594765 + ] + ] + ], + [ + [ + [ + -64.8230590820278, + 32.26055145262029 + ], + [ + -64.7823715210048, + 32.2801361083808 + ], + [ + -64.67681121826512, + 32.37950897219441 + ], + [ + -64.7611236572562, + 32.28499603271802 + ], + [ + -64.8230590820278, + 32.26055145262029 + ] + ] + ] + ], + "type": "MultiPolygon" + }, + "properties": { + "name": "North America", + "shortName": "North America", + "code": null, + "abbreviation": null, + "description": "", + "notes": "", + "promotedForReuse": true, + "extentType": "Continent" + } + } + ] + } + ] + } + ] + }, + "resourceLineage": [ + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "scope": { + "scopeCode": "scopeCode" + }, + "citation": [ + { + "title": "Lineage Title 1" + }, + { + "title": "Lineage Title 2" + } + ], + "source": [ + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "sourceCitation": { + "title": "Source Citation Title" + }, + "metadataCitation": [ + { + "title": "First Source Metadata Citation" + }, + { + "title": "Next Source Metadata Citation" + } + ], + "spatialResolution": { + "scaleFactor": 99999 + }, + "referenceSystem": { + "referenceSystemType": "referenceSystemType", + "referenceSystemIdentifier": { + "identifier": "identifier" + } + }, + "sourceProcessStep": [ + { + "description": "description" + }, + { + "description": "description" + } + ], + "scope": { + "scopeCode": "scopeCode" + } + }, + { + "description": "description" + } + ], + "processStep": [ + { + "stepId": "stepId", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + }, + "processor": [ + { + "role": "processor", + "party": [ + { + "contactId": "CID006" + } + ] + }, + { + "role": "reviewer", + "party": [ + { + "contactId": "CID004" + } + ] + } + ], + "reference": [ + { + "title": "Process Step Reference" + }, + { + "title": "Another Process Step Reference" + } + ], + "scope": { + "scopeCode": "scopeCode" + } + }, + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "resourceDistribution": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "distributor": [ + { + "contact": { + "role": "distributor", + "party": [ + { + "contactId": "CID002" + } + ] + }, + "orderProcess": [ + { + "fees": "10.00USD", + "plannedAvailability": "2016-10-21T00:00:00", + "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "turnaround": "turnaround" + }, + { + "fees": "2.00USD" + } + ], + "transferOption": [ + { + "unitsOfDistribution": "units of distribution", + "transferSize": 9.9, + "onlineOption": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "offlineOption": [ + { + "mediumSpecification": { + "title": "My Medium Specification Title" + }, + "density": 9.9, + "units": "units", + "numberOfVolumes": 9, + "mediumFormat": [ + "mediumFormat0", + "mediumFormat1" + ], + "note": "note", + "identifier": { + "identifier": "Medium Identifier" + } + }, + { + "mediumSpecification": { + "title": "dium specification title 1" + } + } + ], + "transferFrequency": { + "months": 9 + }, + "distributionFormat": [ + { + "formatSpecification": { + "title": "CSV" + }, + "amendmentNumber": "2.0.8-beta", + "compressionMethod": "7ZipUp" + }, + { + "formatSpecification": { + "title": "format specification title 1" + } + } + ] + }, + { + "transferSize": 10.9 + } + ] + }, + { + "contact": { + "role": "distributor", + "party": [ + { + "contactId": "CID003" + } + ] + } + } + ] + } + ], + "associatedResource": [ + { + "resourceType": [ + { + "type": "modelHardcopy", + "name": "Hardcopy of Model" + }, + { + "type": "videoDigital", + "name": "Video of the Making" + } + ], + "associationType": "partOfSeamlessDatabase", + "initiativeType": "investigation", + "resourceCitation": { + "title": "Resource Citation Title" + }, + "metadataCitation": { + "title": "Metadata Citation Title" + } + }, + { + "resourceType": [ + { + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "associationType", + "initiativeType": "initiativeType", + "resourceCitation": { + "title": "title" + }, + "metadataCitation": { + "title": "title" + } + } + ], + "additionalDocumentation": [ + { + "resourceType": [ + { + "type": "webService", + "name": "ADIwg API" + }, + { + "type": "databaseDigital", + "name": "DMV Data" + } + ], + "citation": [ + { + "title": "A Good Additional Document" + }, + { + "title": "A More Better Additional Document" + } + ] + }, + { + "resourceType": [ + { + "type": "multimediaHardcopy", + "name": "Multi-Media Hard-Copy" + }, + { + "type": "physicalObject", + "name": "Lab Specimen" + } + ], + "citation": [ + { + "title": "A Much Mo Betha Additional Document" + } + ] + } + ], + "funding": [ + { + "allocation": [ + { + "amount": 9999.99, + "currency": "USD", + "sourceId": "CID005", + "recipientId": "CID006", + "matching": true, + "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "amount": 999.99, + "currency": "CAD" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + } + }, + { + "allocation": [ + { + "amount": 9999.99, + "currency": "EUR" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14" + } + } + ] + }, + "dataDictionary": [ + { + "citation": { + "title": "title" + }, + "subject": [ + "subject0", + "subject1" + ], + "recommendedUse": [ + "use0", + "use1" + ], + "locale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "responsibleParty": { + "role": "author", + "party": [ + { + "contactId": "CID001" + } + ] + }, + "dictionaryFormat": "format", + "dictionaryIncludedWithResource": true, + "domain": [ + { + "domainId": "domainId0", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [ + { + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name1", + "value": "value1", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name2", + "value": "value2", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "domainId": "domainId1", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [ + { + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + } + ], + "entity": [ + { + "entityId": "entityId0", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "primaryKeyAttributeCodeName": [ + "primaryAttribute0", + "primaryAttribute1" + ], + "index": [ + { + "codeName": "codeName0", + "allowDuplicates": false, + "attributeCodeName": [ + "attributeCodeName00", + "attributeCodeName01" + ] + }, + { + "codeName": "codeName1", + "allowDuplicates": true, + "attributeCodeName": [ + "attributeCodeName1" + ] + } + ], + "attribute": [ + { + "commonName": "Common Name for Attribute", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "domainId", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "dom042", + "minValue": "1000000", + "maxValue": "5000000" + } + ], + "foreignKey": [ + { + "localAttributeCodeName": [ + "localAttributeCodeName0", + "localAttributeCodeName1" + ], + "referencedEntityCodeName": "referencedEntityCodeName", + "referencedAttributeCodeName": [ + "referencedAttributeCodeName0", + "referencedAttributeCodeName1" + ] + }, + { + "localAttributeCodeName": [ + "employeeID" + ], + "referencedEntityCodeName": "EMPLOYEE", + "referencedAttributeCodeName": [ + "employeeID" + ] + } + ] + }, + { + "entityId": "entityId1", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "primaryKeyAttributeCodeName": [ + "primaryAttribute" + ], + "attribute": [ + { + "commonName": "commonName", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "domainId", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "dom042", + "minValue": "1000000", + "maxValue": "5000000" + } + ] + } + ] + }, + { + "citation": { + "title": "My Dictionary Title" + }, + "subject": [ + "birds", + "loons" + ], + "recommendedUse": [ + "Reconstruct database" + ], + "locale": [ + { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + ], + "responsibleParty": { + "role": "author", + "party": [ + { + "contactId": "CID006" + } + ] + }, + "dictionaryFormat": "MSSQL", + "dictionaryIncludedWithResource": false + } + ], + "metadataRepository": [ + { + "repository": "data.gov", + "citation": { + "title": "My Repository Citation Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "identifier": [ + { + "identifier": "identifier 0" + }, + { + "identifier": "identifier 1" + } + ] + }, + "metadataStandard": "FGDC" + }, + { + "repository": "dataOne", + "metadataStandard": "iso19115_2" + } + ] +}