adiwg-mdtranslator 2.21.0.pre.beta.0 → 2.21.0.pre.beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -1
- data/DCAT-US.md +67 -0
- data/Gemfile.lock +5 -5
- data/README.md +21 -0
- data/Rakefile +1 -0
- data/adiwg-mdtranslator.gemspec +2 -2
- data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +1 -0
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb +27 -37
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +8 -0
- data/lib/adiwg/mdtranslator/version.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb +98 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/readme.md +10 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_url.rb +17 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_accrualPeriodicity.rb +45 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_bureau_code.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb +104 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by_type.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_description.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb +59 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_download_url.rb +17 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_is_part_of.rb +27 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_issued.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_keyword.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_landing_page.rb +27 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_language.rb +23 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb +18 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_media_type.rb +17 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_modified.rb +29 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_primaryITInvestmentUII.rb +19 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_program_code.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb +74 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_references.rb +50 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb +32 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_system_of_records.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb +40 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_theme.rb +28 -0
- data/lib/adiwg/mdtranslator/writers/dcat_us/version.rb +14 -0
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataQuality.rb +133 -185
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_spatialDomain.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_acquisition.rb +103 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_enumerationList.rb +52 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_environment.rb +82 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_event.rb +123 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_extension.rb +208 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_instrument.rb +92 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_instrumentationEvent.rb +83 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_instrumentationEventList.rb +73 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb +38 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_objective.rb +121 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_operation.rb +131 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_pass.rb +63 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_plan.rb +76 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_platform.rb +102 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_requestedDate.rb +44 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_requirement.rb +111 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_revision.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_timePeriod.rb +2 -6
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +1 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_acquisition.rb +195 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +18 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +8 -8
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_environment.rb +58 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_event.rb +121 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_instrument.rb +98 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_instrumentationEvent.rb +84 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_instrumentationEventList.rb +90 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_objective.rb +155 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_operation.rb +178 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_pass.rb +72 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_plan.rb +93 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_platform.rb +117 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_requestedDate.rb +33 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_requirement.rb +139 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_revision.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +2 -2
- data/lib/adiwg/mdtranslator_cli.rb +1 -1
- data/scripts/build-gem.sh +4 -0
- data/scripts/publish-gem.sh +9 -0
- metadata +71 -6
@@ -0,0 +1,44 @@
|
|
1
|
+
module ADIWG
|
2
|
+
module Mdtranslator
|
3
|
+
module Writers
|
4
|
+
module Iso19115_3
|
5
|
+
|
6
|
+
class MI_RequestedDate
|
7
|
+
def initialize(xml, hResponseObj)
|
8
|
+
@xml = xml
|
9
|
+
@hResponseObj = hResponseObj
|
10
|
+
end
|
11
|
+
|
12
|
+
def writeXML(hRequestedDate)
|
13
|
+
|
14
|
+
gcoDateTimeClass = GcoDateTime.new(@xml, @hResponseObj)
|
15
|
+
|
16
|
+
@xml.tag!('mac:MI_RequestedDate') do
|
17
|
+
unless hRequestedDate[:requestedDateOfCollection].empty?
|
18
|
+
@xml.tag!('mac:requestedDateOfCollection') do
|
19
|
+
gcoDateTimeClass.writeXML(hRequestedDate[:requestedDateOfCollection])
|
20
|
+
end
|
21
|
+
else
|
22
|
+
if @hResponseObj[:writerShowTags]
|
23
|
+
@xml.tag!('mac:requestedDateOfCollection')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
unless hRequestedDate[:latestAcceptableDate].empty?
|
28
|
+
@xml.tag!('mac:latestAcceptableDate') do
|
29
|
+
gcoDateTimeClass.writeXML(hRequestedDate[:latestAcceptableDate])
|
30
|
+
end
|
31
|
+
else
|
32
|
+
if @hResponseObj[:writerShowTags]
|
33
|
+
@xml.tag!('mac:latestAcceptableDate')
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
|
@@ -0,0 +1,111 @@
|
|
1
|
+
require_relative 'class_citation'
|
2
|
+
require_relative 'class_identifier'
|
3
|
+
require_relative 'class_responsibility'
|
4
|
+
require_relative 'class_codelist'
|
5
|
+
require_relative 'class_requestedDate'
|
6
|
+
require_relative 'class_gcoDateTime'
|
7
|
+
require_relative 'class_plan'
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Writers
|
12
|
+
module Iso19115_3
|
13
|
+
|
14
|
+
class MI_Requirement
|
15
|
+
def initialize(xml, hResponseObj)
|
16
|
+
@xml = xml
|
17
|
+
@hResponseObj = hResponseObj
|
18
|
+
end
|
19
|
+
|
20
|
+
def writeXML(hRequirement)
|
21
|
+
|
22
|
+
citationClass = CI_Citation.new(@xml, @hResponseObj)
|
23
|
+
identifierClass = MD_Identifier.new(@xml, @hResponseObj)
|
24
|
+
responsibilityClass = CI_Responsibility.new(@xml, @hResponseObj)
|
25
|
+
codelistClass = MD_Codelist.new(@xml, @hResponseObj)
|
26
|
+
requestedDateClass = MI_RequestedDate.new(@xml, @hResponseObj)
|
27
|
+
gcoDateTimeClass = GcoDateTime.new(@xml, @hResponseObj)
|
28
|
+
planClass = MI_Plan.new(@xml, @hResponseObj)
|
29
|
+
|
30
|
+
@xml.tag!('mac:MI_Requirement', id: hRequirement[:requirementId]) do
|
31
|
+
unless hRequirement[:citation].empty?
|
32
|
+
@xml.tag!('mac:citation') do
|
33
|
+
citationClass.writeXML(hRequirement[:citation])
|
34
|
+
end
|
35
|
+
else
|
36
|
+
if @hResponseObj[:writerShowTags]
|
37
|
+
@xml.tag!('mac:citation')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
unless hRequirement[:identifier].empty?
|
42
|
+
@xml.tag!('mac:identifier') do
|
43
|
+
identifierClass.writeXML(hRequirement[:identifier])
|
44
|
+
end
|
45
|
+
else
|
46
|
+
if @hResponseObj[:writerShowTags]
|
47
|
+
@xml.tag!('mac:identifier')
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
unless hRequirement[:requestors].empty?
|
52
|
+
hRequirement[:requestors].each do |hResponsibility|
|
53
|
+
@xml.tag!('mac:requestor') do
|
54
|
+
responsibilityClass.writeXML(hResponsibility)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
unless hRequirement[:recipients].empty?
|
60
|
+
hRequirement[:recipients].each do |hResponsibility|
|
61
|
+
@xml.tag!('mac:recipient') do
|
62
|
+
responsibilityClass.writeXML(hResponsibility)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
unless hRequirement[:priority].nil?
|
68
|
+
@xml.tag!('mac:priority') do
|
69
|
+
codelistClass.writeXML('mac', 'iso_priorityCode', hRequirement[:priority])
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
unless hRequirement[:requestedDate].nil?
|
74
|
+
@xml.tag!('mac:requestedDate') do
|
75
|
+
requestedDateClass.writeXML(hRequirement[:requestedDate])
|
76
|
+
end
|
77
|
+
else
|
78
|
+
if @hResponseObj[:writerShowTags]
|
79
|
+
@xml.tag!('mac:requestedDate')
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
# unless hRequirement[:expiryDate].nil?
|
84
|
+
# @xml.tag!('mac:expiryDate') do
|
85
|
+
# gcoDateTimeClass.writeXML(hRequirement[:expiryDate])
|
86
|
+
# end
|
87
|
+
# else
|
88
|
+
# if @hResponseObj[:writerShowTags]
|
89
|
+
# @xml.tag!('mac:expiryDate')
|
90
|
+
# end
|
91
|
+
# end
|
92
|
+
|
93
|
+
unless hRequirement[:satisfiedPlans].empty?
|
94
|
+
hRequirement[:satisfiedPlans].each do |hPlan|
|
95
|
+
@xml.tag!('mac:satisifiedPlan') do
|
96
|
+
planClass.writeXML(hPlan)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
else
|
100
|
+
if @hResponseObj[:writerShowTags]
|
101
|
+
@xml.tag!('mac:satisifiedPlan')
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require_relative 'class_responsibility'
|
2
|
+
require_relative 'class_gcoDateTime'
|
3
|
+
|
4
|
+
module ADIWG
|
5
|
+
module Mdtranslator
|
6
|
+
module Writers
|
7
|
+
module Iso19115_3
|
8
|
+
|
9
|
+
class MI_Revision
|
10
|
+
def initialize(xml, hResponseObj)
|
11
|
+
@xml = xml
|
12
|
+
@hResponseObj = hResponseObj
|
13
|
+
end
|
14
|
+
|
15
|
+
def writeXML(hRevision)
|
16
|
+
|
17
|
+
responsibilityClass = CI_Responsibility.new(@xml, @hResponseObj)
|
18
|
+
gcoDateTimeClass = GcoDateTime.new(@xml, @hResponseObj)
|
19
|
+
|
20
|
+
@xml.tag!('mac:MI_Revision') do
|
21
|
+
unless hRevision[:description].nil?
|
22
|
+
@xml.tag!('mac:description') do
|
23
|
+
@xml.tag!('gco:CharacterString', hRevision[:description])
|
24
|
+
end
|
25
|
+
else
|
26
|
+
if @hResponseObj[:writerShowTags]
|
27
|
+
@xml.tag!('mac:description')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
unless hRevision[:responsibleParty].empty?
|
32
|
+
@xml.tag!('mac:author') do
|
33
|
+
responsibilityClass.writeXML(hRevision[:responsibleParty])
|
34
|
+
end
|
35
|
+
else
|
36
|
+
@xml.tag!('mac:author')
|
37
|
+
end
|
38
|
+
|
39
|
+
unless hRevision[:dateInfo].empty?
|
40
|
+
@xml.tag!('mac:dateInfo') do
|
41
|
+
hRevision[:dateInfo].each do |hDate|
|
42
|
+
gcoDateTimeClass.writeXML(hDate)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
else
|
46
|
+
@xml.tag!('mac:dateInfo')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -65,9 +65,7 @@ module ADIWG
|
|
65
65
|
# if empty add indeterminatePosition="unknown"
|
66
66
|
unless hPeriod[:startDateTime].empty?
|
67
67
|
hDateTime = hPeriod[:startDateTime]
|
68
|
-
|
69
|
-
timeResolution = hDateTime[:dateResolution]
|
70
|
-
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
|
68
|
+
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDateTime)
|
71
69
|
@xml.tag!('gml:beginPosition', dateStr)
|
72
70
|
end
|
73
71
|
if hPeriod[:startDateTime].empty?
|
@@ -79,9 +77,7 @@ module ADIWG
|
|
79
77
|
# if empty add indeterminatePosition="unknown"
|
80
78
|
unless hPeriod[:endDateTime].empty?
|
81
79
|
hDateTime = hPeriod[:endDateTime]
|
82
|
-
|
83
|
-
timeResolution = hDateTime[:dateResolution]
|
84
|
-
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
|
80
|
+
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDateTime)
|
85
81
|
@xml.tag!('gml:endPosition', dateStr)
|
86
82
|
end
|
87
83
|
if hPeriod[:endDateTime].empty?
|
@@ -24,6 +24,7 @@ module ADIWG
|
|
24
24
|
def self.build(hDictionary)
|
25
25
|
|
26
26
|
Jbuilder.new do |json|
|
27
|
+
json.dictionaryId hDictionary[:dictionaryId]
|
27
28
|
json.citation Citation.build(hDictionary[:citation]) unless hDictionary[:citation].empty?
|
28
29
|
json.description hDictionary[:description]
|
29
30
|
json.subject hDictionary[:subjects] unless hDictionary[:subjects].empty?
|
@@ -0,0 +1,195 @@
|
|
1
|
+
require_relative 'html_scope'
|
2
|
+
require_relative 'html_plan'
|
3
|
+
require_relative 'html_requirement'
|
4
|
+
require_relative 'html_objective'
|
5
|
+
require_relative 'html_platform'
|
6
|
+
require_relative 'html_instrument'
|
7
|
+
require_relative 'html_operation'
|
8
|
+
require_relative 'html_event'
|
9
|
+
require_relative 'html_pass'
|
10
|
+
require_relative 'html_environment'
|
11
|
+
|
12
|
+
module ADIWG
|
13
|
+
module Mdtranslator
|
14
|
+
module Writers
|
15
|
+
module Simple_html
|
16
|
+
class Html_Acquisition
|
17
|
+
def initialize(html)
|
18
|
+
@html = html
|
19
|
+
end
|
20
|
+
|
21
|
+
def writeHtml(hAcquisition)
|
22
|
+
scopeClass = Html_Scope.new(@html)
|
23
|
+
planClass = Html_Plan.new(@html)
|
24
|
+
requirementClass = Html_Requirement.new(@html)
|
25
|
+
objectiveClass = Html_Objective.new(@html)
|
26
|
+
platformClass = Html_Platform.new(@html)
|
27
|
+
instrumentClass = Html_Instrument.new(@html)
|
28
|
+
operationClass = Html_Operation.new(@html)
|
29
|
+
eventClass = Html_Event.new(@html)
|
30
|
+
passClass = Html_Pass.new(@html)
|
31
|
+
environmentClass = Html_Environment.new(@html)
|
32
|
+
|
33
|
+
# scope
|
34
|
+
unless hAcquisition[:scope].empty?
|
35
|
+
@html.div do
|
36
|
+
@html.h5('Scope', {'class' => 'h5'})
|
37
|
+
@html.div(:class => 'block') do
|
38
|
+
scopeClass.writeHtml(hDataQuality[:scope])
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# plan
|
44
|
+
unless hAcquisition[:plans].empty?
|
45
|
+
@html.div(:class =>'block') do
|
46
|
+
@html.div do
|
47
|
+
@html.h4('Plans', {'class' => 'h4'})
|
48
|
+
hAcquisition[:plans].each do |plan|
|
49
|
+
@html.div(:class =>'block') do
|
50
|
+
@html.div do
|
51
|
+
@html.h5('Plan', {'class' => 'h5'})
|
52
|
+
planClass.writeHtml(plan)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# requirement
|
61
|
+
unless hAcquisition[:requirements].empty?
|
62
|
+
@html.div(:class =>'block') do
|
63
|
+
@html.div do
|
64
|
+
@html.h4('Requirements', {'class' => 'h4'})
|
65
|
+
hAcquisition[:requirements].each do |requirement|
|
66
|
+
@html.div(:class =>'block') do
|
67
|
+
@html.div do
|
68
|
+
@html.h5('Requirement', {'class' => 'h5'})
|
69
|
+
requirementClass.writeHtml(requirement)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# objective
|
78
|
+
unless hAcquisition[:objectives].empty?
|
79
|
+
@html.div(:class =>'block') do
|
80
|
+
@html.div do
|
81
|
+
@html.h4('Objectives', {'class' => 'h4'})
|
82
|
+
hAcquisition[:objectives].each do |objective|
|
83
|
+
@html.div(:class =>'block') do
|
84
|
+
@html.div do
|
85
|
+
@html.h5('Objective', {'class' => 'h5'})
|
86
|
+
objectiveClass.writeHtml(objective)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
# platform
|
96
|
+
unless hAcquisition[:platforms].empty?
|
97
|
+
@html.div(:class =>'block') do
|
98
|
+
@html.div do
|
99
|
+
@html.h4('Platforms', {'class' => 'h4'})
|
100
|
+
hAcquisition[:platforms].each do |platform|
|
101
|
+
@html.div(:class =>'block') do
|
102
|
+
@html.div do
|
103
|
+
@html.h5('Platform', {'class' => 'h5'})
|
104
|
+
platformClass.writeHtml(platform)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# Instrument
|
113
|
+
unless hAcquisition[:instruments].empty?
|
114
|
+
@html.div(:class =>'block') do
|
115
|
+
@html.div do
|
116
|
+
@html.h4('Instrument', {'class' => 'h4'})
|
117
|
+
hAcquisition[:instruments].each do |instrument|
|
118
|
+
@html.div(:class =>'block') do
|
119
|
+
@html.div do
|
120
|
+
@html.h5('Instrument', {'class' => 'h5'})
|
121
|
+
instrumentClass.writeHtml(instrument)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
# operation
|
130
|
+
unless hAcquisition[:operations].empty?
|
131
|
+
@html.div(:class =>'block') do
|
132
|
+
@html.div do
|
133
|
+
@html.h4('Operations', {'class' => 'h4'})
|
134
|
+
hAcquisition[:operations].each do |operations|
|
135
|
+
@html.div(:class =>'block') do
|
136
|
+
@html.div do
|
137
|
+
@html.h5('Operation', {'class' => 'h5'})
|
138
|
+
operationClass.writeHtml(operations)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
# Event
|
147
|
+
unless hAcquisition[:events].empty?
|
148
|
+
@html.div(:class =>'block') do
|
149
|
+
@html.div do
|
150
|
+
@html.h4('Events', {'class' => 'h4'})
|
151
|
+
hAcquisition[:events].each do |event|
|
152
|
+
@html.div(:class =>'block') do
|
153
|
+
@html.div do
|
154
|
+
@html.h5('Event', {'class' => 'h5'})
|
155
|
+
eventClass.writeHtml(event)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
# Pass
|
164
|
+
unless hAcquisition[:passes].empty?
|
165
|
+
@html.div(:class =>'block') do
|
166
|
+
@html.div do
|
167
|
+
@html.h4('Passes', {'class' => 'h4'})
|
168
|
+
hAcquisition[:passes].each do |pass|
|
169
|
+
@html.div(:class =>'block') do
|
170
|
+
@html.div do
|
171
|
+
@html.h5('Pass', {'class' => 'h5'})
|
172
|
+
passClass.writeHtml(pass)
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
# Environment
|
181
|
+
unless hAcquisition[:environment].empty?
|
182
|
+
@html.div do
|
183
|
+
@html.h5('Scope', {'class' => 'h5'})
|
184
|
+
@html.div(:class => 'block') do
|
185
|
+
environmentClass.writeHtml(hAcquisition[:environment])
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
@@ -90,7 +90,7 @@ module ADIWG
|
|
90
90
|
# allocation - online resource [] {onlineResource}
|
91
91
|
hAllocation[:onlineResources].each do |hOnline|
|
92
92
|
@html.div do
|
93
|
-
@html.
|
93
|
+
@html.h5('Online Resource', {'class' => 'h5'})
|
94
94
|
@html.div(:class => 'block') do
|
95
95
|
onlineClass.writeHtml(hOnline)
|
96
96
|
end
|
@@ -20,6 +20,7 @@ require_relative 'html_additionalDocumentation'
|
|
20
20
|
require_relative 'html_funding'
|
21
21
|
require_relative 'html_dataDictionary'
|
22
22
|
require_relative 'html_metadataRepository'
|
23
|
+
require_relative 'html_acquisition'
|
23
24
|
|
24
25
|
module ADIWG
|
25
26
|
module Mdtranslator
|
@@ -47,6 +48,7 @@ module ADIWG
|
|
47
48
|
fundingClass = Html_Funding.new(@html)
|
48
49
|
dictionaryClass = Html_DataDictionary.new(@html)
|
49
50
|
repositoryClass = Html_Repository.new(@html)
|
51
|
+
aquisitionClass = Html_Acquisition.new(@html)
|
50
52
|
|
51
53
|
# make sections of the internal data store convenient
|
52
54
|
hSchema = intObj[:schema]
|
@@ -61,6 +63,7 @@ module ADIWG
|
|
61
63
|
aFunding = intObj[:metadata][:funding]
|
62
64
|
aDictionaries = intObj[:dataDictionaries]
|
63
65
|
aRepositories = intObj[:metadataRepositories]
|
66
|
+
aAcquisitions = intObj[:metadata][:acquisitions]
|
64
67
|
|
65
68
|
# set page title and logo
|
66
69
|
# side navigation
|
@@ -78,6 +81,7 @@ module ADIWG
|
|
78
81
|
@html.a(' Dictionary', {'href' => '#body-dataDictionary', 'class' => 'btn navBtn', 'id' => 'dictionaryButton'})
|
79
82
|
@html.a(' Funding', {'href' => '#body-funding', 'class' => 'btn navBtn', 'id' => 'fundingButton'})
|
80
83
|
@html.a(' Repository', {'href' => '#body-repository', 'class' => 'btn navBtn', 'id' => 'repositoryButton'})
|
84
|
+
@html.a(' Acquisition', {'href' => '#body-acquisition', 'class' => 'btn navBtn', 'id' => 'acquisitionButton'})
|
81
85
|
|
82
86
|
end
|
83
87
|
|
@@ -148,8 +152,8 @@ module ADIWG
|
|
148
152
|
unless hResourceInfo.empty?
|
149
153
|
@html.div do
|
150
154
|
@html.h2('Resource Information', {'id' => 'body-resourceInfo', 'class' => 'h2'})
|
151
|
-
|
152
|
-
|
155
|
+
@html.span('', {'style' => 'mso-bookmark:body-resourceInfo'})
|
156
|
+
@html.div(:class => 'block') do
|
153
157
|
resourceClass.writeHtml(hResourceInfo)
|
154
158
|
end
|
155
159
|
@html.hr
|
@@ -298,6 +302,18 @@ module ADIWG
|
|
298
302
|
end
|
299
303
|
end
|
300
304
|
|
305
|
+
unless aAcquisitions.nil? || aAcquisitions.empty?
|
306
|
+
@html.div do
|
307
|
+
@html.h2('Acquisitions', {'id' => 'body-acquisition', 'class' => 'h2'})
|
308
|
+
@html.span('', {'style' => 'mso-bookmark:body-acquisition'})
|
309
|
+
aAcquisitions.each do |hAcquisition|
|
310
|
+
@html.div(:class => 'block') do
|
311
|
+
aquisitionClass.writeHtml(hAcquisition)
|
312
|
+
end
|
313
|
+
end
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
301
317
|
end # body
|
302
318
|
end # writeHtml
|
303
319
|
end # Html_Body
|
@@ -147,14 +147,14 @@ module ADIWG
|
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
150
|
-
# citation - other
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
150
|
+
# citation - other details []
|
151
|
+
unless hCitation[:otherDetails].empty?
|
152
|
+
hCitation[:otherDetails].each do |detail|
|
153
|
+
@html.em('Other Details: ')
|
154
|
+
@html.text!(detail)
|
155
|
+
@html.br
|
156
|
+
end
|
157
|
+
end
|
158
158
|
|
159
159
|
end # writeHtml
|
160
160
|
end # Html_Citation
|
@@ -262,7 +262,7 @@ module ADIWG
|
|
262
262
|
# ResultContentDescription
|
263
263
|
unless result[:resultContentDescription].empty?
|
264
264
|
@html.div do
|
265
|
-
@html.
|
265
|
+
@html.h5('Result Content Description', {'class' => 'h5'})
|
266
266
|
@html.div(:class => 'block') do
|
267
267
|
coverageInfoClass.writeHtml(result[:resultContentDescription])
|
268
268
|
end
|
@@ -272,7 +272,7 @@ module ADIWG
|
|
272
272
|
# ResourceFormat
|
273
273
|
unless result[:resourceFormat].empty?
|
274
274
|
@html.div do
|
275
|
-
@html.
|
275
|
+
@html.h5('Resource Format', {'class' => 'h5'})
|
276
276
|
@html.div(:class => 'block') do
|
277
277
|
formatClass.writeHtml(result[:resourceFormat])
|
278
278
|
end
|
@@ -282,7 +282,7 @@ module ADIWG
|
|
282
282
|
# ResultFile
|
283
283
|
unless result[:resultFile].empty?
|
284
284
|
@html.div do
|
285
|
-
@html.
|
285
|
+
@html.h5('Result File', {'class' => 'h5'})
|
286
286
|
@html.div(:class => 'block') do
|
287
287
|
resultFileClass.writeHtml(result[:resultFile])
|
288
288
|
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module ADIWG
|
2
|
+
module Mdtranslator
|
3
|
+
module Writers
|
4
|
+
module Simple_html
|
5
|
+
class Html_Environment
|
6
|
+
def initialize(html)
|
7
|
+
@html = html
|
8
|
+
end
|
9
|
+
|
10
|
+
def writeHtml(hEnvironment)
|
11
|
+
# averageAirTemperature
|
12
|
+
unless hEnvironment[:averageAirTemperature].nil?
|
13
|
+
@html.em('Average Air Temperature: ')
|
14
|
+
@html.text!(hEnvironment[:averageAirTemperature].to_s)
|
15
|
+
@html.br
|
16
|
+
end
|
17
|
+
|
18
|
+
# maxRelativeHumidity
|
19
|
+
unless hEnvironment[:maxRelativeHumidity].nil?
|
20
|
+
@html.em('Maximum Relative Humidity: ')
|
21
|
+
@html.text!(hEnvironment[:maxRelativeHumidity].to_s)
|
22
|
+
@html.br
|
23
|
+
end
|
24
|
+
|
25
|
+
# maxAltitude
|
26
|
+
unless hEnvironment[:maxAltitude].nil?
|
27
|
+
@html.em('Maximum Altitude: ')
|
28
|
+
@html.text!(hEnvironment[:maxAltitude].to_s)
|
29
|
+
@html.br
|
30
|
+
end
|
31
|
+
|
32
|
+
# meteorologicalConditions
|
33
|
+
unless hEnvironment[:meteorologicalConditions].nil?
|
34
|
+
@html.em('Meteorological Conditions: ')
|
35
|
+
@html.text!(hEnvironment[:meteorologicalConditions])
|
36
|
+
@html.br
|
37
|
+
end
|
38
|
+
|
39
|
+
# solarAzimuth
|
40
|
+
unless hEnvironment[:solarAzimuth].nil?
|
41
|
+
@html.em('Solar Azimuth: ')
|
42
|
+
@html.text!(hEnvironment[:solarAzimuth].to_s)
|
43
|
+
@html.br
|
44
|
+
end
|
45
|
+
|
46
|
+
# solarElevation
|
47
|
+
unless hEnvironment[:solarElevation].nil?
|
48
|
+
@html.em('Solar Elevation: ')
|
49
|
+
@html.text!(hEnvironment[:solarElevation].to_s)
|
50
|
+
@html.br
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|