adiwg-mdtranslator 2.15.0 → 2.16.1

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.
Files changed (35) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +8 -12
  3. data/adiwg-mdtranslator.gemspec +2 -2
  4. data/lib/adiwg/mdtranslator/internal/acquisition.json +108 -0
  5. data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +267 -12
  6. data/lib/adiwg/mdtranslator/internal/qualityReport.json +64 -0
  7. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_entityAttribute.rb +5 -2
  8. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb +11 -1
  9. data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader_messages_eng.yml +15 -0
  10. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_algorithm.rb +65 -0
  11. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_nominalResolution.rb +78 -0
  12. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_onlineResource.rb +25 -10
  13. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processReport.rb +66 -0
  14. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processStep.rb +46 -9
  15. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processing.rb +104 -0
  16. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_source.rb +27 -2
  17. data/lib/adiwg/mdtranslator/version.rb +4 -1
  18. data/lib/adiwg/mdtranslator/writers/html/sections/html_onlineResource.rb +14 -0
  19. data/lib/adiwg/mdtranslator/writers/html/sections/html_source.rb +2 -2
  20. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_fcFeatureCatalogue.rb +20 -15
  21. data/lib/adiwg/mdtranslator/writers/iso19110/iso19110_writer.rb +4 -4
  22. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_featureCatalog.rb +53 -0
  23. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_mdMetadata.rb +18 -3
  24. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_onlineResource.rb +19 -2
  25. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_source.rb +1 -1
  26. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_onlineResource.rb +26 -20
  27. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_algorithm.rb +31 -0
  28. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_nominalResolution.rb +31 -0
  29. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb +6 -3
  30. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processReport.rb +31 -0
  31. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processStep.rb +6 -0
  32. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processing.rb +37 -0
  33. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_source.rb +7 -2
  34. data/lib/adiwg/mdtranslator_cli.rb +1 -1
  35. metadata +18 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4c28a9de2c4b82b2f0b46f4de13a87b8de286d98
4
- data.tar.gz: af96ef12d442a941918a23842bd74aa027d0d1a2
2
+ SHA256:
3
+ metadata.gz: 5648f5e66d246d037e252f21ab96b678acd191582beac5faed22ce1b335d7922
4
+ data.tar.gz: f0125ed07e0fdfebfbc25b52ebb3144865d863713d09a37d171159fbeb86c6a8
5
5
  SHA512:
6
- metadata.gz: f428c56a2f93748c0482746b31278bbacd995080416a6c28e3aa195c1ca16b30a02a73ee3a1a1b7e45037f8f4fa28ee0db3735dc630903af85a6cedf58253ad4
7
- data.tar.gz: 1a8b0cc95da21914bab8eae81d2b9f55b962984cc583e76fc49472ca8c14b1b0d3d9b0e3d16ef9f1c3b27986eadd954edc78e341b25228eb7a73de85e1f4f7b9
6
+ metadata.gz: 0d7255a476ebf2e7d3dd60795693523b04f37dd9887ff1fbdee97eb67b5a4954532aa4925f993c64325f19b75e75d19a5226294310b025a9483ea4dd9848a109
7
+ data.tar.gz: 57d9fdf2c382e1ddf057faea4666c949c54915e7962b45820f5bd0486e8fd1f21274748aeb272a689d56423bc9734d540ddea423f9af061872f0639dd85203a5
data/Rakefile CHANGED
@@ -2,6 +2,14 @@
2
2
  require 'bundler/gem_tasks'
3
3
  require 'rake/testtask'
4
4
 
5
+ # Rake::TestTask.new do |t|
6
+ # t.libs << 'test'
7
+ # t.test_files = FileList[
8
+ # 'test/writers/iso19115-2/tc*.rb'
9
+ # ]
10
+ # t.verbose = true
11
+ # end
12
+
5
13
  Rake::TestTask.new do |t|
6
14
  t.libs << 'test'
7
15
  t.test_files = FileList[
@@ -22,15 +30,3 @@ end
22
30
 
23
31
  desc 'Run tests'
24
32
  task :default => :test
25
-
26
- # 'test/readers/fgdc/tc*.rb',
27
- # 'test/readers/mdJson/tc*.rb',
28
- # 'test/readers/sbJson/tc*.rb',
29
- # 'test/writers/fgdc/tc*.rb',
30
- # 'test/writers/html/tc*.rb',
31
- # 'test/writers/iso19110/tc*.rb',
32
- # 'test/writers/iso19115-1/tc*.rb',
33
- # 'test/writers/iso19115-2/tc*.rb',
34
- # 'test/writers/mdJson/tc*.rb',
35
- # 'test/writers/sbJson/tc*.rb',
36
- # 'test/translator/tc*.rb'
@@ -34,8 +34,8 @@ Gem::Specification.new do |spec|
34
34
  spec.add_runtime_dependency "thor", "~> 0.19"
35
35
  spec.add_runtime_dependency "uuidtools", "~> 2.1"
36
36
  spec.add_runtime_dependency "json-schema", "~> 2.7"
37
- spec.add_runtime_dependency "adiwg-mdjson_schemas", ">= 2.6"
38
- spec.add_runtime_dependency "adiwg-mdcodes", "~> 2.7"
37
+ spec.add_runtime_dependency "adiwg-mdjson_schemas", ">= 2.7"
38
+ spec.add_runtime_dependency "adiwg-mdcodes", "~> 2.8"
39
39
  spec.add_runtime_dependency "jbuilder", "~> 2.5"
40
40
  spec.add_runtime_dependency "kramdown", "~> 1.13"
41
41
  spec.add_runtime_dependency "coderay", "~> 1.1"
@@ -0,0 +1,108 @@
1
+ {
2
+ "acquisition": [
3
+ {
4
+ "plan": [
5
+ {
6
+ "planId": "plan ID",
7
+ "planType": "MI_GeometryTypeCode",
8
+ "status": "MD_ProgressCode",
9
+ "citation": {},
10
+ "planOperation": ["operationId"],
11
+ "satisfiedRequirement": ["requirementId"]
12
+ }
13
+ ],
14
+ "requirement": [
15
+ {
16
+ "requirementId": "requirement ID",
17
+ "citation": {},
18
+ "identifier": {},
19
+ "requestor": [],
20
+ "recipient": [],
21
+ "priority": "MI_PriorityCode",
22
+ "requestedDate": {
23
+ "requestedDateOfCollection": "2019-06-10T16:01:00",
24
+ "latestAcceptableDate": "2019-06-13:T16:02:00"
25
+ },
26
+ "expiryDate": "2019-06-10T15:50:00",
27
+ "satisfiedPlan": ["planId"]
28
+ }
29
+ ],
30
+ "objective": [
31
+ {
32
+ "objectiveId": "objective ID",
33
+ "identifier": [],
34
+ "priority": "objective priority",
35
+ "objectiveType": ["MI_ObjectiveTypeCode"],
36
+ "function": ["objective function one"],
37
+ "extent": [],
38
+ "objectiveOccurrence": ["eventId"],
39
+ "pass": ["passId"],
40
+ "sensingInstrument": ["instrumentId"]
41
+ }
42
+ ],
43
+ "platform": [
44
+ {
45
+ "platformId": "platform ID",
46
+ "citation": {},
47
+ "identifier": {},
48
+ "description": "platform description",
49
+ "sponsor": [],
50
+ "instrument": ["instrumentId"]
51
+ }
52
+ ],
53
+ "instrument": [
54
+ {
55
+ "instrumentId": "instrument ID",
56
+ "citation": [],
57
+ "identifier": {},
58
+ "instrumentType": "instrument type",
59
+ "description": "instrument description",
60
+ "mountedOn": "platformId"
61
+ }
62
+ ],
63
+ "operation": [
64
+ {
65
+ "operationId": "operation ID",
66
+ "description": "operation description",
67
+ "citation": {},
68
+ "identifier": {},
69
+ "status": "MD_ProgressCode",
70
+ "operationType": "MI_OperationTypeCode",
71
+ "objective": ["objectiveId"],
72
+ "parentOperation": "operationId",
73
+ "childOperation": ["operationId"],
74
+ "plan": "planId",
75
+ "platform": ["platformId"],
76
+ "significantEvent": ["eventId"]
77
+ }
78
+ ],
79
+ "event": [
80
+ {
81
+ "eventId": "event ID",
82
+ "identifier": {},
83
+ "trigger": "MI_TriggerCode",
84
+ "context": "MI_ContextCode",
85
+ "sequence": "MI_SequenceCode",
86
+ "time": "2019-06-10T16:07:00",
87
+ "expectedObjective": ["objectiveId"],
88
+ "relatedPass": "passId",
89
+ "relatedSensor": ["instrumentId"]
90
+ }
91
+ ],
92
+ "pass": [
93
+ {
94
+ "passId": "pass ID",
95
+ "identifier": {},
96
+ "extent": {},
97
+ "relatedEvent": ["eventId"]
98
+ }
99
+ ],
100
+ "environment": {
101
+ "averageAirTemperature": 9.9,
102
+ "maxRelativeHumidity": 9.9,
103
+ "maxAltitude": 9.9,
104
+ "meteorologicalConditions": "meteorological conditions"
105
+ }
106
+ }
107
+ ]
108
+ }
@@ -154,7 +154,138 @@ class InternalMetadata
154
154
  end
155
155
 
156
156
 
157
- # contacts--------------------------------
157
+ # acquisition ----------------------------
158
+ def newAcquisition
159
+ {
160
+ plans: [],
161
+ requirements: [],
162
+ objectives: [],
163
+ platforms: [],
164
+ instruments: [],
165
+ operations: [],
166
+ events: [],
167
+ passes: [],
168
+ environment: {}
169
+ }
170
+ end
171
+
172
+ def newEnvironment
173
+ {
174
+ averageAirTemperature: nil,
175
+ maxRelativeHumidity: nil,
176
+ maxAltitude: nil,
177
+ meteorologicalConditions: nil
178
+ }
179
+ end
180
+
181
+ def newEvent
182
+ {
183
+ eventId: nil,
184
+ trigger: nil,
185
+ context: nil,
186
+ sequence: nil,
187
+ dateTime: nil,
188
+ expectedObjectives: [],
189
+ relatedPass: nil,
190
+ relatedSensors: []
191
+ }
192
+ end
193
+
194
+ def newInstrument
195
+ {
196
+ instrumentId: nil,
197
+ citation: {},
198
+ identifier: {},
199
+ instrumentType: nil,
200
+ description: nil,
201
+ mountedOn: nil
202
+ }
203
+ end
204
+
205
+ def newObjective
206
+ {
207
+ objectiveId: nil,
208
+ identifiers: [],
209
+ priority: nil,
210
+ objectiveTypes: [],
211
+ functions: [],
212
+ extents: [],
213
+ occurrences: [],
214
+ passes: [],
215
+ sensingInstruments: []
216
+ }
217
+ end
218
+
219
+ def newPass
220
+ {
221
+ passId: nil,
222
+ identifier: {},
223
+ extent: {},
224
+ relatedEvents: []
225
+ }
226
+ end
227
+
228
+ def newPlan
229
+ {
230
+ planId: nil,
231
+ planType: nil,
232
+ status: nil,
233
+ citation: {},
234
+ planOperations: [],
235
+ satisfiedRequirements: []
236
+ }
237
+ end
238
+
239
+ def newOperation
240
+ {
241
+ operationId: nil,
242
+ citation: {},
243
+ identifier: {},
244
+ status: nil,
245
+ operationType: nil,
246
+ objectives: [],
247
+ parentOperations: nil,
248
+ childOperations: [],
249
+ plan: nil,
250
+ platforms: [],
251
+ significantEvents: []
252
+ }
253
+ end
254
+
255
+ def newRequirement
256
+ {
257
+ requirementId: nil,
258
+ citation: {},
259
+ identifier: {},
260
+ requestors: [],
261
+ recipients: [],
262
+ priority: nil,
263
+ requestedDate: {},
264
+ expiryDate: nil,
265
+ satisfiedPlans: []
266
+ }
267
+ end
268
+
269
+ def newPlatform
270
+ {
271
+ platformId: nil,
272
+ citation: {},
273
+ identifier: {},
274
+ description: nil,
275
+ sponsors: [],
276
+ instruments: []
277
+ }
278
+ end
279
+
280
+ def newRequestedDate
281
+ {
282
+ requestedDateCollection: nil,
283
+ latestAcceptableDate: nil
284
+ }
285
+ end
286
+
287
+
288
+ # contacts -------------------------------
158
289
  def newAddress
159
290
  {
160
291
  addressTypes: [],
@@ -255,10 +386,12 @@ class InternalMetadata
255
386
  def newOnlineResource
256
387
  {
257
388
  olResURI: nil,
258
- olResProtocol: nil,
259
389
  olResName: nil,
260
390
  olResDesc: nil,
261
- olResFunction: nil
391
+ olResFunction: nil,
392
+ olResApplicationProfile: nil,
393
+ olResProtocol: nil,
394
+ olResProtocolRequest: nil
262
395
  }
263
396
  end
264
397
 
@@ -495,6 +628,90 @@ class InternalMetadata
495
628
  end
496
629
 
497
630
 
631
+ # data quality ---------------------------
632
+ def newDataQuality
633
+ {
634
+ scope: {},
635
+ standaloneReport: {},
636
+ reports: []
637
+ }
638
+ end
639
+
640
+ def newConformanceResult
641
+ {
642
+ dateTime: nil,
643
+ scope: {},
644
+ specification: {},
645
+ explanation: nil,
646
+ pass: false
647
+ }
648
+ end
649
+
650
+ def newDescriptiveResult
651
+ {
652
+ dateTime: nil,
653
+ scope: {},
654
+ statement: nil
655
+ }
656
+ end
657
+
658
+ def newEvaluationMethod
659
+ {
660
+ type: nil,
661
+ dateTime: [],
662
+ description: nil,
663
+ evaluationProcedure: {},
664
+ referenceDocuments: [],
665
+ evaluationMethodType: nil,
666
+ deductiveSource: 'deductive source',
667
+ samplingScheme: 'sampling scheme',
668
+ lotDescription: 'lot description',
669
+ samplingRatio: 'sampling ratio'
670
+ }
671
+ end
672
+
673
+ def newQuantitativeResult
674
+ {
675
+ dateTime: nil,
676
+ scope: {},
677
+ values: [],
678
+ valueUnits: nil,
679
+ valueRecordType: nil
680
+ }
681
+ end
682
+
683
+ def newQualityMeasure
684
+ {
685
+ identifier: {},
686
+ nameOfMeasure: [],
687
+ description: nil
688
+ }
689
+ end
690
+
691
+ def newReport
692
+ {
693
+ type: nil,
694
+ dateTime: [],
695
+ standaloneQualityReportDetails: nil,
696
+ qualityMeasure: {},
697
+ evaluationMethod: {},
698
+ quantitativeResults: [],
699
+ descriptiveResults: [],
700
+ conformanceResults: [],
701
+ derivedElementReports: [],
702
+ relatedElementReports: []
703
+ }
704
+ end
705
+
706
+ def newStandaloneReport
707
+ {
708
+ reportReference: {},
709
+ abstract: nil,
710
+ elementReports: []
711
+ }
712
+ end
713
+
714
+
498
715
  # date-time ------------------------------
499
716
  def newDate
500
717
  {
@@ -709,6 +926,46 @@ class InternalMetadata
709
926
  }
710
927
  end
711
928
 
929
+ def newAlgorithm
930
+ {
931
+ citation: {},
932
+ description: nil
933
+ }
934
+ end
935
+
936
+ def newDataSource
937
+ {
938
+ sourceId: nil,
939
+ description: nil,
940
+ sourceCitation: {},
941
+ metadataCitations: [],
942
+ spatialResolution: {},
943
+ referenceSystem: {},
944
+ sourceSteps: [],
945
+ scope: {},
946
+ processedLevel: {},
947
+ resolution: {}
948
+ }
949
+ end
950
+
951
+ def newNominalResolution
952
+ {
953
+ scanningResolution: {},
954
+ groundResolution: {}
955
+ }
956
+ end
957
+
958
+ def newProcessing
959
+ {
960
+ identifier: {},
961
+ softwareReferences: [],
962
+ procedureDescription: nil,
963
+ documentation: [],
964
+ runtimeParameters: nil,
965
+ algorithms: []
966
+ }
967
+ end
968
+
712
969
  def newProcessStep
713
970
  {
714
971
  stepId: nil,
@@ -719,20 +976,18 @@ class InternalMetadata
719
976
  references: [],
720
977
  stepSources: [],
721
978
  stepProducts: [],
722
- scope: {}
979
+ scope: {},
980
+ output: [],
981
+ processingInformation: {},
982
+ reports: []
723
983
  }
724
984
  end
725
985
 
726
- def newDataSource
986
+ def newProcessStepReport
727
987
  {
728
- sourceId: nil,
988
+ name: nil,
729
989
  description: nil,
730
- sourceCitation: {},
731
- metadataCitation: [],
732
- spatialResolution: {},
733
- referenceSystem: {},
734
- sourceSteps: [],
735
- scope: {}
990
+ fileType: nil
736
991
  }
737
992
  end
738
993