adiwg-mdtranslator 2.18.4 → 2.19.0.pre.beta.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +14 -0
- data/Gemfile.lock +11 -9
- data/adiwg-mdtranslator.gemspec +3 -3
- data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +27 -11
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb +149 -0
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb +2 -2
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_conformanceResult.rb +1 -1
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageResult.rb +8 -7
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQuality.rb +4 -4
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb +8 -16
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_evaluationMethod.rb +1 -1
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +8 -8
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityMeasure.rb +34 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityResultFile.rb +72 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_rangeElementDescription.rb +2 -2
- data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb +13 -0
- data/lib/adiwg/mdtranslator/version.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/{class_quality.rb → class_dataQuality.rb} +14 -10
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +5 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataQuality.rb +39 -18
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataQualityReport.rb +385 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_rangeElementDescription.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/html/sections/html_resultFile.rb +60 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataQualityReport.rb +213 -39
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_qualityResultFile.rb +55 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_rangeElementDescription.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageResult.rb +30 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +3 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQualityReport.rb +12 -10
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_descriptiveResult.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityMeasure.rb +4 -3
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityResultFile.rb +23 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_standaloneQualityReport.rb +31 -0
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb +10 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +12 -17
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb +37 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb +31 -12
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb +385 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +4 -14
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +9 -9
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +17 -17
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resultFile.rb +60 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb +12 -12
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +1 -1
- metadata +23 -13
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_quality.rb +0 -181
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bodyScript.js +0 -317
@@ -0,0 +1,385 @@
|
|
1
|
+
require_relative 'html_citation'
|
2
|
+
require_relative 'html_identifier'
|
3
|
+
require_relative 'html_scope'
|
4
|
+
require_relative 'html_spatialRepresentation'
|
5
|
+
require_relative 'html_format'
|
6
|
+
require_relative 'html_resultFile'
|
7
|
+
require_relative 'html_coverageInfo'
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Writers
|
12
|
+
module Simple_html
|
13
|
+
class Html_DataQualityReport
|
14
|
+
def initialize(html)
|
15
|
+
@html = html
|
16
|
+
end
|
17
|
+
|
18
|
+
def writeHtml(hDataQualityReport)
|
19
|
+
@html.div(:class => 'block') do
|
20
|
+
writeQualityMeasure(hDataQualityReport[:qualityMeasure]) unless hDataQualityReport[:qualityMeasure].empty?
|
21
|
+
end
|
22
|
+
@html.div(:class => 'block') do
|
23
|
+
writeEvaluationMethod(hDataQualityReport[:evaluationMethod]) unless hDataQualityReport[:evaluationMethod].empty?
|
24
|
+
end
|
25
|
+
@html.div(:class => 'block') do
|
26
|
+
writeConformanceResult(hDataQualityReport[:conformanceResult]) unless hDataQualityReport[:conformanceResult].empty?
|
27
|
+
end
|
28
|
+
@html.div(:class => 'block') do
|
29
|
+
writeCoverageResult(hDataQualityReport[:coverageResult]) unless hDataQualityReport[:coverageResult].empty?
|
30
|
+
end
|
31
|
+
@html.div(:class => 'block') do
|
32
|
+
writeDescriptiveResult(hDataQualityReport[:descriptiveResult]) unless hDataQualityReport[:descriptiveResult].empty?
|
33
|
+
end
|
34
|
+
@html.div(:class => 'block') do
|
35
|
+
writeQuantitativeResult(hDataQualityReport[:quantitativeResult]) unless hDataQualityReport[:quantitativeResult].empty?
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def writeQualityMeasure(qualityMeasure)
|
42
|
+
identifierClass = Html_Identifier.new(@html)
|
43
|
+
|
44
|
+
@html.div do
|
45
|
+
@html.h5('Quality Measure', {'class' => 'h5'})
|
46
|
+
@html.div(:class => 'block') do
|
47
|
+
# Identifier
|
48
|
+
unless qualityMeasure[:identifier].empty?
|
49
|
+
@html.div do
|
50
|
+
@html.h5('Identifier', {'class' => 'h5'})
|
51
|
+
@html.div(:class => 'block') do
|
52
|
+
identifierClass.writeHtml(qualityMeasure[:identifier])
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# Description
|
58
|
+
unless qualityMeasure[:description].nil?
|
59
|
+
@html.em('Description: ')
|
60
|
+
@html.text!(qualityMeasure[:description])
|
61
|
+
@html.br
|
62
|
+
end
|
63
|
+
|
64
|
+
# Names
|
65
|
+
unless qualityMeasure[:nameOfMeasure].empty?
|
66
|
+
@html.em('Names: ')
|
67
|
+
@html.text!(qualityMeasure[:nameOfMeasure].join('; '))
|
68
|
+
@html.br
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def writeEvaluationMethod(evaluationMethod)
|
75
|
+
citationClass = Html_Citation.new(@html)
|
76
|
+
|
77
|
+
@html.div do
|
78
|
+
@html.h5('Evaluation Method', {'class' => 'h5'})
|
79
|
+
@html.div(:class => 'block') do
|
80
|
+
# Type
|
81
|
+
unless evaluationMethod[:type].nil?
|
82
|
+
@html.em('Type: ')
|
83
|
+
@html.text!(evaluationMethod[:type])
|
84
|
+
@html.br
|
85
|
+
end
|
86
|
+
|
87
|
+
# DateTime
|
88
|
+
unless evaluationMethod[:dateTime].nil?
|
89
|
+
@html.em('Date Time: ')
|
90
|
+
evaluationMethod[:dateTime].each do |datetime|
|
91
|
+
@html.text!(datetime)
|
92
|
+
@html.br
|
93
|
+
end
|
94
|
+
@html.br
|
95
|
+
end
|
96
|
+
|
97
|
+
# MethodDescription
|
98
|
+
unless evaluationMethod[:methodDescription].nil?
|
99
|
+
@html.em('Evaluation Method Description: ')
|
100
|
+
@html.text!(evaluationMethod[:methodDescription])
|
101
|
+
@html.br
|
102
|
+
end
|
103
|
+
|
104
|
+
# EvaluationMethodType
|
105
|
+
unless evaluationMethod[:evaluationMethodType].nil?
|
106
|
+
@html.em('Evaluation Method Type: ')
|
107
|
+
@html.text!(evaluationMethod[:evaluationMethodType])
|
108
|
+
@html.br
|
109
|
+
end
|
110
|
+
|
111
|
+
# DeductiveSource
|
112
|
+
unless evaluationMethod[:deductiveSource].nil?
|
113
|
+
@html.em('Deductive Source: ')
|
114
|
+
@html.text!(evaluationMethod[:deductiveSource])
|
115
|
+
@html.br
|
116
|
+
end
|
117
|
+
|
118
|
+
# SamplingScheme
|
119
|
+
unless evaluationMethod[:samplingScheme].nil?
|
120
|
+
@html.em('Sampling Scheme: ')
|
121
|
+
@html.text!(evaluationMethod[:samplingScheme])
|
122
|
+
@html.br
|
123
|
+
end
|
124
|
+
|
125
|
+
# LotDescription
|
126
|
+
unless evaluationMethod[:lotDescription].nil?
|
127
|
+
@html.em('Lot Description: ')
|
128
|
+
@html.text!(evaluationMethod[:lotDescription])
|
129
|
+
@html.br
|
130
|
+
end
|
131
|
+
|
132
|
+
# SamplingRatio
|
133
|
+
unless evaluationMethod[:samplingRatio].nil?
|
134
|
+
@html.em('Sampling Ratio: ')
|
135
|
+
@html.text!(evaluationMethod[:samplingRatio])
|
136
|
+
@html.br
|
137
|
+
end
|
138
|
+
|
139
|
+
# EvaluationProcedure
|
140
|
+
unless evaluationMethod[:evaluationProcedure].empty?
|
141
|
+
@html.div do
|
142
|
+
@html.h5('Evaluation Procedure', {'class' => 'h5'})
|
143
|
+
@html.div(:class => 'block') do
|
144
|
+
citationClass.writeHtml(evaluationMethod[:evaluationProcedure])
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
# ReferenceDocument
|
150
|
+
unless evaluationMethod[:referenceDocuments].empty?
|
151
|
+
@html.div do
|
152
|
+
@html.h5('Reference Document', {'class' => 'h5'})
|
153
|
+
evaluationMethod[:referenceDocuments].each do |doc|
|
154
|
+
@html.div(:class => 'block') do
|
155
|
+
citationClass.writeHtml(doc)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
def writeConformanceResult(conformanceResult)
|
165
|
+
citationClass = Html_Citation.new(@html)
|
166
|
+
scopeClass = Html_Scope.new(@html)
|
167
|
+
|
168
|
+
@html.div do
|
169
|
+
@html.h5('Conformance Result', {'class' => 'h5'})
|
170
|
+
conformanceResult.each do |result|
|
171
|
+
@html.div(:class => 'block') do
|
172
|
+
# DateTime
|
173
|
+
unless result[:dateTime].nil?
|
174
|
+
@html.em('Date Time: ')
|
175
|
+
@html.text!(result[:dateTime])
|
176
|
+
@html.br
|
177
|
+
end
|
178
|
+
|
179
|
+
# Scope
|
180
|
+
unless result[:scope].empty?
|
181
|
+
@html.div do
|
182
|
+
@html.h5('Scope', {'class' => 'h5'})
|
183
|
+
@html.div(:class => 'block') do
|
184
|
+
scopeClass.writeHtml(result[:scope])
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
# Specification (citation)
|
190
|
+
unless result[:specification].empty?
|
191
|
+
@html.div do
|
192
|
+
@html.h5('Specification', {'class' => 'h5'})
|
193
|
+
@html.div(:class => 'block') do
|
194
|
+
citationClass.writeHtml(result[:specification])
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
# Explanation
|
200
|
+
unless result[:explanation].nil?
|
201
|
+
@html.em('Explanation: ')
|
202
|
+
@html.text!(result[:explanation])
|
203
|
+
@html.br
|
204
|
+
end
|
205
|
+
|
206
|
+
# Pass (boolean)
|
207
|
+
unless result[:pass].nil?
|
208
|
+
@html.em('Pass: ')
|
209
|
+
@html.text!(result[:pass] ? 'Yes' : 'No')
|
210
|
+
@html.br
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
def writeCoverageResult(coverageResult)
|
218
|
+
scopeClass = Html_Scope.new(@html)
|
219
|
+
spatialRepresentationClass = Html_SpatialRepresentation.new(@html)
|
220
|
+
formatClass = Html_Format.new(@html)
|
221
|
+
resultFileClass = Html_ResultFile.new(@html)
|
222
|
+
coverageInfoClass = Html_CoverageInfo.new(@html)
|
223
|
+
|
224
|
+
@html.div do
|
225
|
+
@html.h5('Coverage Result', {'class' => 'h5'})
|
226
|
+
coverageResult.each do |result|
|
227
|
+
@html.div(:class => 'block') do
|
228
|
+
# DateTime
|
229
|
+
unless result[:dateTime].nil?
|
230
|
+
@html.em('Date Time: ')
|
231
|
+
@html.text!(result[:dateTime])
|
232
|
+
@html.br
|
233
|
+
end
|
234
|
+
|
235
|
+
# Scope
|
236
|
+
unless result[:scope].empty?
|
237
|
+
@html.div do
|
238
|
+
@html.h5('Scope', {'class' => 'h5'})
|
239
|
+
@html.div(:class => 'block') do
|
240
|
+
scopeClass.writeHtml(result[:scope])
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
245
|
+
# SpatialRepresentationType
|
246
|
+
unless result[:spatialRepresentationType].nil?
|
247
|
+
@html.em('Spatial Representation Type: ')
|
248
|
+
@html.text!(result[:spatialRepresentationType])
|
249
|
+
@html.br
|
250
|
+
end
|
251
|
+
|
252
|
+
# SpatialRepresentation
|
253
|
+
unless result[:spatialRepresentation].empty?
|
254
|
+
@html.div do
|
255
|
+
@html.h5('Spatial Representation', {'class' => 'h5'})
|
256
|
+
@html.div(:class => 'block') do
|
257
|
+
spatialRepresentationClass.writeHtml(result[:spatialRepresentation])
|
258
|
+
end
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
# ResultContentDescription
|
263
|
+
unless result[:resultContentDescription].empty?
|
264
|
+
@html.div do
|
265
|
+
@html.div('Result Content Description', {'class' => 'h5'})
|
266
|
+
@html.div(:class => 'block') do
|
267
|
+
coverageInfoClass.writeHtml(result[:resultContentDescription])
|
268
|
+
end
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
# ResourceFormat
|
273
|
+
unless result[:resourceFormat].empty?
|
274
|
+
@html.div do
|
275
|
+
@html.div('Resource Format', {'class' => 'h5'})
|
276
|
+
@html.div(:class => 'block') do
|
277
|
+
formatClass.writeHtml(result[:resourceFormat])
|
278
|
+
end
|
279
|
+
end
|
280
|
+
end
|
281
|
+
|
282
|
+
# ResultFile
|
283
|
+
unless result[:resultFile].empty?
|
284
|
+
@html.div do
|
285
|
+
@html.div('Result File', {'class' => 'h5'})
|
286
|
+
@html.div(:class => 'block') do
|
287
|
+
resultFileClass.writeHtml(result[:resultFile])
|
288
|
+
end
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
end
|
293
|
+
end
|
294
|
+
end
|
295
|
+
end
|
296
|
+
|
297
|
+
def writeDescriptiveResult(descriptiveResult)
|
298
|
+
scopeClass = Html_Scope.new(@html)
|
299
|
+
|
300
|
+
@html.div do
|
301
|
+
@html.h5('Descriptive Result', {'class' => 'h5'})
|
302
|
+
descriptiveResult.each do |result|
|
303
|
+
@html.div(:class => 'block') do
|
304
|
+
# DateTime
|
305
|
+
unless result[:dateTime].nil?
|
306
|
+
@html.em('Date Time: ')
|
307
|
+
@html.text!(result[:dateTime])
|
308
|
+
@html.br
|
309
|
+
end
|
310
|
+
|
311
|
+
# Scope
|
312
|
+
unless result[:scope].empty?
|
313
|
+
@html.div do
|
314
|
+
@html.h5('Scope', {'class' => 'h5'})
|
315
|
+
@html.div(:class => 'block') do
|
316
|
+
scopeClass.writeHtml(result[:scope])
|
317
|
+
end
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
# Statement
|
322
|
+
unless result[:statement].nil?
|
323
|
+
@html.em('Statement: ')
|
324
|
+
@html.text!(result[:statement])
|
325
|
+
@html.br
|
326
|
+
end
|
327
|
+
end
|
328
|
+
end
|
329
|
+
end
|
330
|
+
end
|
331
|
+
|
332
|
+
def writeQuantitativeResult(quantitativeResult)
|
333
|
+
scopeClass = Html_Scope.new(@html)
|
334
|
+
|
335
|
+
@html.div do
|
336
|
+
@html.h5('Quantitative Result', {'class' => 'h5'})
|
337
|
+
quantitativeResult.each do |result|
|
338
|
+
@html.div(:class => 'block') do
|
339
|
+
# DateTime
|
340
|
+
unless result[:dateTime].nil?
|
341
|
+
@html.em('Date Time: ')
|
342
|
+
@html.text!(result[:dateTime])
|
343
|
+
@html.br
|
344
|
+
end
|
345
|
+
|
346
|
+
# Scope
|
347
|
+
unless result[:scope].empty?
|
348
|
+
@html.div do
|
349
|
+
@html.h5('Scope', {'class' => 'h5'})
|
350
|
+
@html.div(:class => 'block') do
|
351
|
+
scopeClass.writeHtml(result[:scope])
|
352
|
+
end
|
353
|
+
end
|
354
|
+
end
|
355
|
+
|
356
|
+
# Value
|
357
|
+
unless result[:values].empty?
|
358
|
+
@html.em('Value: ')
|
359
|
+
@html.text!(result[:values].join(', '))
|
360
|
+
@html.br
|
361
|
+
end
|
362
|
+
|
363
|
+
# ValueUnits
|
364
|
+
unless result[:valueUnits].nil?
|
365
|
+
@html.em('Value Units: ')
|
366
|
+
@html.text!(result[:valueUnits])
|
367
|
+
@html.br
|
368
|
+
end
|
369
|
+
|
370
|
+
# ValueRecordType
|
371
|
+
unless result[:valueRecordType].nil?
|
372
|
+
@html.em('Value Record Type: ')
|
373
|
+
@html.text!(result[:valueRecordType])
|
374
|
+
@html.br
|
375
|
+
end
|
376
|
+
end
|
377
|
+
end
|
378
|
+
end
|
379
|
+
end
|
380
|
+
|
381
|
+
end
|
382
|
+
end
|
383
|
+
end
|
384
|
+
end
|
385
|
+
end
|
@@ -42,7 +42,7 @@ module ADIWG
|
|
42
42
|
# distribution - distributor [] {distributor}
|
43
43
|
hDistribution[:distributor].each do |hDistributor|
|
44
44
|
@html.div do
|
45
|
-
@html.
|
45
|
+
@html.h5('Distributor', {'class' => 'h5'})
|
46
46
|
@html.div(:class => 'block') do
|
47
47
|
distributorClass.writeHtml(hDistributor)
|
48
48
|
end
|
@@ -30,7 +30,7 @@ module ADIWG
|
|
30
30
|
# distributor - contact {responsibility}
|
31
31
|
unless hDistributor[:contact].empty?
|
32
32
|
@html.div do
|
33
|
-
@html.
|
33
|
+
@html.h5('Contact', {'class' => 'h5'})
|
34
34
|
@html.div(:class => 'block') do
|
35
35
|
responsibilityClass.writeHtml(hDistributor[:contact])
|
36
36
|
end
|
@@ -40,7 +40,7 @@ module ADIWG
|
|
40
40
|
# distributor - order process [] {orderProcess}
|
41
41
|
hDistributor[:orderProcess].each do |hOrder|
|
42
42
|
@html.div do
|
43
|
-
@html.
|
43
|
+
@html.h5('Order Process', {'class' => 'h5'})
|
44
44
|
@html.div(:class => 'block') do
|
45
45
|
orderClass.writeHtml(hOrder)
|
46
46
|
end
|
@@ -50,7 +50,7 @@ module ADIWG
|
|
50
50
|
# distributor - transfer options [] {transferOption}
|
51
51
|
hDistributor[:transferOptions].each do |hTransfer|
|
52
52
|
@html.div do
|
53
|
-
@html.
|
53
|
+
@html.h5('Transfer Option', {'class' => 'h5'})
|
54
54
|
@html.div(:class => 'block') do
|
55
55
|
transferClass.writeHtml(hTransfer)
|
56
56
|
end
|
@@ -38,7 +38,7 @@ module ADIWG
|
|
38
38
|
type = 'ENUMERATED' unless hDomain[:domainItems].empty?
|
39
39
|
|
40
40
|
@html.div do
|
41
|
-
@html.
|
41
|
+
@html.h5(dName, {'class' => 'h5'})
|
42
42
|
@html.div(:class => 'block') do
|
43
43
|
|
44
44
|
# domain - type
|
@@ -78,7 +78,7 @@ module ADIWG
|
|
78
78
|
# domain - domain reference {citation}
|
79
79
|
unless hDomain[:domainReference].empty?
|
80
80
|
@html.div do
|
81
|
-
@html.
|
81
|
+
@html.h5('Reference', {'class' => 'h5'})
|
82
82
|
@html.div(:class => 'block') do
|
83
83
|
citationClass.writeHtml(hDomain[:domainReference])
|
84
84
|
end
|
@@ -88,7 +88,7 @@ module ADIWG
|
|
88
88
|
# domain - domain items [] {domainItem}
|
89
89
|
hDomain[:domainItems].each do |hItem|
|
90
90
|
@html.div do
|
91
|
-
@html.
|
91
|
+
@html.h5(hItem[:itemValue], {'class' => 'h5'})
|
92
92
|
@html.div(:class => 'block') do
|
93
93
|
itemClass.writeHtml(hItem)
|
94
94
|
end
|
@@ -48,7 +48,7 @@ module ADIWG
|
|
48
48
|
# domain item - reference {citation}
|
49
49
|
unless hItem[:itemReference].empty?
|
50
50
|
@html.div do
|
51
|
-
@html.
|
51
|
+
@html.h5('Reference', {'class' => 'h5'})
|
52
52
|
@html.div(:class => 'block') do
|
53
53
|
citationClass.writeHtml(hItem[:itemReference])
|
54
54
|
end
|
@@ -38,7 +38,7 @@ module ADIWG
|
|
38
38
|
eName = hEntity[:entityName] unless hEntity[:entityName].nil?
|
39
39
|
|
40
40
|
@html.div do
|
41
|
-
@html.
|
41
|
+
@html.h5(eName, {'class' => 'h5'})
|
42
42
|
@html.div(:class => 'block') do
|
43
43
|
|
44
44
|
# entity - entity id
|
@@ -116,7 +116,7 @@ module ADIWG
|
|
116
116
|
iName = hIndex[:indexCode] unless hIndex[:indexCode].nil?
|
117
117
|
iName = hIndex[:indexName] unless hIndex[:indexName].nil?
|
118
118
|
@html.div do
|
119
|
-
@html.
|
119
|
+
@html.h5('Index: '+iName, {'class' => 'h5'})
|
120
120
|
@html.div(:class => 'block') do
|
121
121
|
indexClass.writeHtml(hIndex)
|
122
122
|
end
|
@@ -126,7 +126,7 @@ module ADIWG
|
|
126
126
|
# entity - foreign keys [] {entityForeignKey}
|
127
127
|
hEntity[:foreignKeys].each do |hForeign|
|
128
128
|
@html.div do
|
129
|
-
@html.
|
129
|
+
@html.h5('ForeignKey', {'class' => 'h5'})
|
130
130
|
@html.div(:class => 'block') do
|
131
131
|
foreignClass.writeHtml(hForeign)
|
132
132
|
end
|
@@ -136,7 +136,7 @@ module ADIWG
|
|
136
136
|
# entity - entity reference [] {citation}
|
137
137
|
hEntity[:entityReferences].each do |hReference|
|
138
138
|
@html.div do
|
139
|
-
@html.
|
139
|
+
@html.h5('Reference', {'class' => 'h5'})
|
140
140
|
@html.div(:class => 'block') do
|
141
141
|
citationClass.writeHtml(hReference)
|
142
142
|
end
|
@@ -149,7 +149,7 @@ module ADIWG
|
|
149
149
|
aName = hAttribute[:attributeCode] unless hAttribute[:attributeCode].nil?
|
150
150
|
aName = hAttribute[:attributeName] unless hAttribute[:attributeName].nil?
|
151
151
|
@html.div do
|
152
|
-
@html.
|
152
|
+
@html.h5('Attribute: '+aName, {'class' => 'h5'})
|
153
153
|
@html.div(:class => 'block') do
|
154
154
|
attributeClass.writeHtml(hAttribute)
|
155
155
|
end
|
@@ -129,7 +129,7 @@ module ADIWG
|
|
129
129
|
# entity attribute - range of values [] {citation}
|
130
130
|
hAttribute[:valueRange].each do |hRange|
|
131
131
|
@html.div do
|
132
|
-
@html.
|
132
|
+
@html.h5('Range of Values', {'class' => 'h5'})
|
133
133
|
@html.div(:class => 'block') do
|
134
134
|
|
135
135
|
# range of values - minimum value
|
@@ -153,7 +153,7 @@ module ADIWG
|
|
153
153
|
# entity attribute - time period of values {timePeriod}
|
154
154
|
hAttribute[:timePeriod].each do |hPeriod|
|
155
155
|
@html.div do
|
156
|
-
@html.
|
156
|
+
@html.h5('Time Period of Values', {'class' => 'h5'})
|
157
157
|
@html.div(:class => 'block') do
|
158
158
|
periodClass.writeHtml(hPeriod)
|
159
159
|
end
|
@@ -163,7 +163,7 @@ module ADIWG
|
|
163
163
|
# entity attribute - attribute reference {citation}
|
164
164
|
unless hAttribute[:attributeReference].empty?
|
165
165
|
@html.div do
|
166
|
-
@html.
|
166
|
+
@html.h5('Reference', {'class' => 'h5'})
|
167
167
|
@html.div(:class => 'block') do
|
168
168
|
citationClass.writeHtml(hAttribute[:attributeReference])
|
169
169
|
end
|
@@ -39,7 +39,7 @@ module ADIWG
|
|
39
39
|
# extent - geographic extents
|
40
40
|
hExtent[:geographicExtents].each do |hGeographic|
|
41
41
|
@html.div do
|
42
|
-
@html.
|
42
|
+
@html.h5('Geographic Extent', {'class' => 'h5'})
|
43
43
|
@html.div(:class => 'block extent-geographic') do
|
44
44
|
geographicClass.writeHtml(hGeographic)
|
45
45
|
end
|
@@ -49,7 +49,7 @@ module ADIWG
|
|
49
49
|
# extent - temporal extents
|
50
50
|
hExtent[:temporalExtents].each do |hTemporal|
|
51
51
|
@html.div do
|
52
|
-
@html.
|
52
|
+
@html.h5('Temporal Extent', {'class' => 'h5'})
|
53
53
|
@html.div(:class => 'block') do
|
54
54
|
temporalClass.writeHtml(hTemporal)
|
55
55
|
end
|
@@ -59,7 +59,7 @@ module ADIWG
|
|
59
59
|
# extent - vertical extents
|
60
60
|
hExtent[:verticalExtents].each do |hVertical|
|
61
61
|
@html.div do
|
62
|
-
@html.
|
62
|
+
@html.h5('Vertical Extent', {'class' => 'h5'})
|
63
63
|
@html.div(:class => 'block') do
|
64
64
|
verticalClass.writeHtml(hVertical)
|
65
65
|
end
|
@@ -36,7 +36,7 @@ module ADIWG
|
|
36
36
|
# feature - geometry object
|
37
37
|
unless hFeature[:geometryObject].empty?
|
38
38
|
@html.div do
|
39
|
-
@html.
|
39
|
+
@html.h5(hFeature[:geometryObject][:type], 'class' => 'h5')
|
40
40
|
@html.div(:class => 'block') do
|
41
41
|
geometryClass.writeHtml(hFeature[:geometryObject])
|
42
42
|
end
|
@@ -46,7 +46,7 @@ module ADIWG
|
|
46
46
|
# feature - user bounding box
|
47
47
|
unless hFeature[:bbox].empty?
|
48
48
|
@html.div do
|
49
|
-
@html.
|
49
|
+
@html.h5('User Provided Bounding Box', 'class' => 'h5')
|
50
50
|
@html.div(:class => 'block') do
|
51
51
|
bbox = {}
|
52
52
|
bbox[:westLongitude] = hFeature[:bbox][0]
|
@@ -61,7 +61,7 @@ module ADIWG
|
|
61
61
|
# feature - computed bounding box
|
62
62
|
unless hFeature[:computedBbox].empty?
|
63
63
|
@html.div do
|
64
|
-
@html.
|
64
|
+
@html.h5('Computed Bounding Box', 'class' => 'h5')
|
65
65
|
@html.div(:class => 'block') do
|
66
66
|
boxClass.writeHtml(hFeature[:computedBbox])
|
67
67
|
end
|
@@ -71,7 +71,7 @@ module ADIWG
|
|
71
71
|
# feature - properties
|
72
72
|
unless hFeature[:properties].empty?
|
73
73
|
@html.div do
|
74
|
-
@html.
|
74
|
+
@html.h5('Properties', 'class' => 'h5')
|
75
75
|
@html.div(:class => 'block') do
|
76
76
|
propertyClass.writeHtml(hFeature[:properties])
|
77
77
|
end
|
@@ -81,7 +81,7 @@ module ADIWG
|
|
81
81
|
# feature - native GeoJson
|
82
82
|
unless hFeature[:nativeGeoJson].empty?
|
83
83
|
@html.div do
|
84
|
-
@html.
|
84
|
+
@html.h5('GeoJson', 'class' => 'h5')
|
85
85
|
@html.div(:class => 'block') do
|
86
86
|
@html.text!(hFeature[:nativeGeoJson].to_json)
|
87
87
|
end
|
@@ -31,7 +31,7 @@ module ADIWG
|
|
31
31
|
unless feature[:id].nil?
|
32
32
|
title += ': '+feature[:id].to_s
|
33
33
|
end
|
34
|
-
@html.
|
34
|
+
@html.h5(title, 'class' => 'h5')
|
35
35
|
@html.div(:class => 'block') do
|
36
36
|
featureClass.writeHtml(feature)
|
37
37
|
end
|
@@ -41,7 +41,7 @@ module ADIWG
|
|
41
41
|
# feature collection - user bounding box
|
42
42
|
unless hCollection[:bbox].empty?
|
43
43
|
@html.div do
|
44
|
-
@html.
|
44
|
+
@html.h5('User Provided Bounding Box', 'class' => 'h5')
|
45
45
|
@html.div(:class => 'block') do
|
46
46
|
bbox = {}
|
47
47
|
bbox[:westLongitude] = hCollection[:bbox][0]
|
@@ -56,7 +56,7 @@ module ADIWG
|
|
56
56
|
# feature collection - computed bounding box
|
57
57
|
unless hCollection[:computedBbox].empty?
|
58
58
|
@html.div do
|
59
|
-
@html.
|
59
|
+
@html.h5('Computed Bounding Box', 'class' => 'h5')
|
60
60
|
@html.div(:class => 'block') do
|
61
61
|
boxClass.writeHtml(hCollection[:computedBbox])
|
62
62
|
end
|
@@ -66,7 +66,7 @@ module ADIWG
|
|
66
66
|
# feature collection - native GeoJson
|
67
67
|
unless hCollection[:nativeGeoJson].empty?
|
68
68
|
@html.div do
|
69
|
-
@html.
|
69
|
+
@html.h5('GeoJson', 'class' => 'h5')
|
70
70
|
@html.div(:class => 'block') do
|
71
71
|
@html.text!(hCollection[:nativeGeoJson].to_json)
|
72
72
|
end
|
@@ -40,7 +40,7 @@ module ADIWG
|
|
40
40
|
# feature properties - identifier [] {identifier}
|
41
41
|
hProperty[:identifiers].each do |hIdentifier|
|
42
42
|
@html.div do
|
43
|
-
@html.
|
43
|
+
@html.h5('Identifier', 'class' => 'h5')
|
44
44
|
@html.div(:class => 'block') do
|
45
45
|
identifierClass.writeHtml(hIdentifier)
|
46
46
|
end
|
@@ -28,7 +28,7 @@ module ADIWG
|
|
28
28
|
# resource format - format specification {citation}
|
29
29
|
unless hFormat[:formatSpecification].empty?
|
30
30
|
@html.div do
|
31
|
-
@html.
|
31
|
+
@html.h5(hFormat[:formatSpecification][:title], {'class' => 'h5'})
|
32
32
|
@html.div(:class => 'block') do
|
33
33
|
citationClass.writeHtml(hFormat[:formatSpecification])
|
34
34
|
end
|
@@ -44,7 +44,7 @@ module ADIWG
|
|
44
44
|
# funding - allocations [] {allocation}
|
45
45
|
hFunding[:allocations].each do |hAllocation|
|
46
46
|
@html.div do
|
47
|
-
@html.
|
47
|
+
@html.h5('Allocation', {'class' => 'h5'})
|
48
48
|
@html.div(:class => 'block') do
|
49
49
|
allocationClass.writeHtml(hAllocation)
|
50
50
|
end
|