aixm 0.3.0 → 0.3.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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +96 -72
- data/README.md +0 -1
- data/lib/aixm/component/geometry.rb +8 -2
- data/lib/aixm/component/layer.rb +83 -2
- data/lib/aixm/document.rb +11 -2
- data/lib/aixm/errors.rb +14 -2
- data/lib/aixm/feature.rb +2 -14
- data/lib/aixm/feature/airport.rb +19 -18
- data/lib/aixm/feature/airspace.rb +19 -21
- data/lib/aixm/feature/navigational_aid.rb +2 -2
- data/lib/aixm/feature/navigational_aid/designated_point.rb +1 -2
- data/lib/aixm/feature/navigational_aid/dme.rb +25 -4
- data/lib/aixm/feature/navigational_aid/marker.rb +1 -2
- data/lib/aixm/feature/navigational_aid/ndb.rb +1 -2
- data/lib/aixm/feature/navigational_aid/tacan.rb +5 -2
- data/lib/aixm/feature/navigational_aid/vor.rb +3 -4
- data/lib/aixm/feature/organisation.rb +3 -4
- data/lib/aixm/feature/unit.rb +3 -4
- data/lib/aixm/version.rb +1 -1
- data/schemas/ofmx/0/OFMX-CSV-Obstacle.json +209 -0
- data/schemas/ofmx/0/OFMX-CSV.json +12 -0
- data/schemas/ofmx/0/OFMX-DataTypes.xsd +64 -5
- data/schemas/ofmx/0/OFMX-Features.xsd +73 -23
- data/schemas/ofmx/0/OFMX-Snapshot.xsd +7 -2
- data/spec/factory.rb +8 -18
- data/spec/lib/aixm/component/geometry_spec.rb +27 -4
- data/spec/lib/aixm/component/helipad_spec.rb +2 -2
- data/spec/lib/aixm/component/layer_spec.rb +27 -0
- data/spec/lib/aixm/component/runway_spec.rb +13 -13
- data/spec/lib/aixm/document_spec.rb +56 -42
- data/spec/lib/aixm/feature/airport_spec.rb +15 -15
- data/spec/lib/aixm/feature/airspace_spec.rb +38 -30
- data/spec/lib/aixm/feature/navigational_aid/designated_point_spec.rb +2 -2
- data/spec/lib/aixm/feature/navigational_aid/dme_spec.rb +24 -7
- data/spec/lib/aixm/feature/navigational_aid/marker_spec.rb +4 -4
- data/spec/lib/aixm/feature/navigational_aid/ndb_spec.rb +4 -4
- data/spec/lib/aixm/feature/navigational_aid/tacan_spec.rb +24 -7
- data/spec/lib/aixm/feature/navigational_aid/vor_spec.rb +14 -14
- data/spec/lib/aixm/feature/organisation_spec.rb +2 -2
- data/spec/lib/aixm/feature/unit_spec.rb +11 -11
- data/spec/lib/aixm/feature_spec.rb +0 -20
- metadata +4 -2
@@ -9,7 +9,7 @@ describe AIXM::Feature::Airport do
|
|
9
9
|
it "sets defaults" do
|
10
10
|
subject = AIXM::Feature::Airport.new(
|
11
11
|
organisation: AIXM::Factory.organisation,
|
12
|
-
|
12
|
+
id: 'LFNT',
|
13
13
|
name: 'Avignon-Pujaut',
|
14
14
|
xy: AIXM.xy(lat: %q(43°59'46"N), long: %q(004°45'16"E))
|
15
15
|
)
|
@@ -25,13 +25,13 @@ describe AIXM::Feature::Airport do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
describe :
|
28
|
+
describe :id= do
|
29
29
|
it "fails on invalid values" do
|
30
|
-
[nil, 'A', 'AB', 'ABCDE', '
|
30
|
+
[nil, 'A', 'AB', 'ABCDE', 'AB 1234'].wont_be_written_to subject, :id
|
31
31
|
end
|
32
32
|
|
33
33
|
it "upcases valid values" do
|
34
|
-
subject.tap { |s| s.
|
34
|
+
subject.tap { |s| s.id = 'lfnt' }.id.must_equal 'LFNT'
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -184,10 +184,10 @@ describe AIXM::Feature::Airport do
|
|
184
184
|
subject.to_xml.must_equal <<~END
|
185
185
|
<!-- Airport: LFNT AVIGNON-PUJAUT -->
|
186
186
|
<Ahp source="LF|GEN|0.0 FACTORY|0|0">
|
187
|
-
<AhpUid
|
187
|
+
<AhpUid>
|
188
188
|
<codeId>LFNT</codeId>
|
189
189
|
</AhpUid>
|
190
|
-
<OrgUid
|
190
|
+
<OrgUid>
|
191
191
|
<txtName>FRANCE</txtName>
|
192
192
|
</OrgUid>
|
193
193
|
<txtName>AVIGNON-PUJAUT</txtName>
|
@@ -206,7 +206,7 @@ describe AIXM::Feature::Airport do
|
|
206
206
|
</Ahp>
|
207
207
|
<Rwy>
|
208
208
|
<RwyUid>
|
209
|
-
<AhpUid
|
209
|
+
<AhpUid>
|
210
210
|
<codeId>LFNT</codeId>
|
211
211
|
</AhpUid>
|
212
212
|
<txtDesig>16L/34R</txtDesig>
|
@@ -221,7 +221,7 @@ describe AIXM::Feature::Airport do
|
|
221
221
|
<Rdn>
|
222
222
|
<RdnUid>
|
223
223
|
<RwyUid>
|
224
|
-
<AhpUid
|
224
|
+
<AhpUid>
|
225
225
|
<codeId>LFNT</codeId>
|
226
226
|
</AhpUid>
|
227
227
|
<txtDesig>16L/34R</txtDesig>
|
@@ -240,7 +240,7 @@ describe AIXM::Feature::Airport do
|
|
240
240
|
<RddUid>
|
241
241
|
<RdnUid>
|
242
242
|
<RwyUid>
|
243
|
-
<AhpUid
|
243
|
+
<AhpUid>
|
244
244
|
<codeId>LFNT</codeId>
|
245
245
|
</AhpUid>
|
246
246
|
<txtDesig>16L/34R</txtDesig>
|
@@ -257,7 +257,7 @@ describe AIXM::Feature::Airport do
|
|
257
257
|
<Rdn>
|
258
258
|
<RdnUid>
|
259
259
|
<RwyUid>
|
260
|
-
<AhpUid
|
260
|
+
<AhpUid>
|
261
261
|
<codeId>LFNT</codeId>
|
262
262
|
</AhpUid>
|
263
263
|
<txtDesig>16L/34R</txtDesig>
|
@@ -274,7 +274,7 @@ describe AIXM::Feature::Airport do
|
|
274
274
|
<RddUid>
|
275
275
|
<RdnUid>
|
276
276
|
<RwyUid>
|
277
|
-
<AhpUid
|
277
|
+
<AhpUid>
|
278
278
|
<codeId>LFNT</codeId>
|
279
279
|
</AhpUid>
|
280
280
|
<txtDesig>16L/34R</txtDesig>
|
@@ -290,7 +290,7 @@ describe AIXM::Feature::Airport do
|
|
290
290
|
</Rdd>
|
291
291
|
<Tla>
|
292
292
|
<TlaUid>
|
293
|
-
<AhpUid
|
293
|
+
<AhpUid>
|
294
294
|
<codeId>LFNT</codeId>
|
295
295
|
</AhpUid>
|
296
296
|
<txtDesig>H1</txtDesig>
|
@@ -309,7 +309,7 @@ describe AIXM::Feature::Airport do
|
|
309
309
|
</Tla>
|
310
310
|
<Ahu>
|
311
311
|
<AhuUid>
|
312
|
-
<AhpUid
|
312
|
+
<AhpUid>
|
313
313
|
<codeId>LFNT</codeId>
|
314
314
|
</AhpUid>
|
315
315
|
</AhuUid>
|
@@ -346,10 +346,10 @@ describe AIXM::Feature::Airport do
|
|
346
346
|
subject.to_xml.must_equal <<~END
|
347
347
|
<!-- Airport: LFNT AVIGNON-PUJAUT -->
|
348
348
|
<Ahp source="LF|GEN|0.0 FACTORY|0|0">
|
349
|
-
<AhpUid
|
349
|
+
<AhpUid>
|
350
350
|
<codeId>LFNT</codeId>
|
351
351
|
</AhpUid>
|
352
|
-
<OrgUid
|
352
|
+
<OrgUid>
|
353
353
|
<txtName>FRANCE</txtName>
|
354
354
|
</OrgUid>
|
355
355
|
<txtName>AVIGNON-PUJAUT</txtName>
|
@@ -9,7 +9,7 @@ describe AIXM::Feature::Airspace do
|
|
9
9
|
|
10
10
|
describe :initialize do
|
11
11
|
it "sets defaults" do
|
12
|
-
subject.id.must_equal '
|
12
|
+
subject.id.must_equal 'C55466EC'
|
13
13
|
subject.layers.must_equal []
|
14
14
|
subject.geometry.must_be_instance_of AIXM::Component::Geometry
|
15
15
|
end
|
@@ -20,8 +20,8 @@ describe AIXM::Feature::Airspace do
|
|
20
20
|
[:foobar, 123].wont_be_written_to subject, :id
|
21
21
|
end
|
22
22
|
|
23
|
-
it "falls back to id derived from digest of
|
24
|
-
subject.tap { |s| s.id = nil }.id.must_equal '
|
23
|
+
it "falls back to id derived from digest of type, local_type and name" do
|
24
|
+
subject.tap { |s| s.id = nil }.id.must_equal 'C55466EC'
|
25
25
|
end
|
26
26
|
|
27
27
|
it "upcases value" do
|
@@ -40,31 +40,31 @@ describe AIXM::Feature::Airspace do
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
describe :
|
43
|
+
describe :local_type= do
|
44
44
|
it "fails on invalid values" do
|
45
|
-
[:foobar, 123].wont_be_written_to subject, :
|
45
|
+
[:foobar, 123].wont_be_written_to subject, :local_type
|
46
46
|
end
|
47
47
|
|
48
48
|
it "accepts nil value" do
|
49
|
-
[nil].must_be_written_to subject, :
|
49
|
+
[nil].must_be_written_to subject, :local_type
|
50
50
|
end
|
51
51
|
|
52
52
|
it "upcases value" do
|
53
|
-
subject.tap { |s| s.
|
53
|
+
subject.tap { |s| s.local_type = 'löl' }.local_type.must_equal 'LOEL'
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
describe :
|
57
|
+
describe :name= do
|
58
58
|
it "fails on invalid values" do
|
59
|
-
[:foobar, 123].wont_be_written_to subject, :
|
59
|
+
[:foobar, 123].wont_be_written_to subject, :name
|
60
60
|
end
|
61
61
|
|
62
62
|
it "accepts nil value" do
|
63
|
-
[nil].must_be_written_to subject, :
|
63
|
+
[nil].must_be_written_to subject, :name
|
64
64
|
end
|
65
65
|
|
66
66
|
it "upcases value" do
|
67
|
-
subject.tap { |s| s.
|
67
|
+
subject.tap { |s| s.name = 'löl' }.name.must_equal 'LOEL'
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
@@ -99,7 +99,7 @@ describe AIXM::Feature::Airspace do
|
|
99
99
|
describe :to_xml do
|
100
100
|
it "builds correct AIXM without id" do
|
101
101
|
AIXM.aixm!
|
102
|
-
subject.to_xml.must_match(%r{<codeId>
|
102
|
+
subject.to_xml.must_match(%r{<codeId>C55466EC</codeId>})
|
103
103
|
end
|
104
104
|
|
105
105
|
it "builds correct AIXM without short name" do
|
@@ -125,13 +125,15 @@ describe AIXM::Feature::Airspace do
|
|
125
125
|
subject.to_xml.must_equal <<~"END"
|
126
126
|
<!-- Airspace: [D] POLYGON AIRSPACE -->
|
127
127
|
<Ase source="LF|GEN|0.0 FACTORY|0|0">
|
128
|
-
<AseUid
|
128
|
+
<AseUid>
|
129
129
|
<codeType>D</codeType>
|
130
130
|
<codeId>PA</codeId>
|
131
131
|
</AseUid>
|
132
132
|
<txtLocalType>POLYGON</txtLocalType>
|
133
133
|
<txtName>POLYGON AIRSPACE</txtName>
|
134
134
|
<codeClass>C</codeClass>
|
135
|
+
<codeLocInd>XXXX</codeLocInd>
|
136
|
+
<codeActivity>TFC-AD</codeActivity>
|
135
137
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
136
138
|
<valDistVerUpper>65</valDistVerUpper>
|
137
139
|
<uomDistVerUpper>FL</uomDistVerUpper>
|
@@ -152,7 +154,7 @@ describe AIXM::Feature::Airspace do
|
|
152
154
|
</Ase>
|
153
155
|
<Abd>
|
154
156
|
<AbdUid>
|
155
|
-
<AseUid
|
157
|
+
<AseUid>
|
156
158
|
<codeType>D</codeType>
|
157
159
|
<codeId>PA</codeId>
|
158
160
|
</AseUid>
|
@@ -186,15 +188,17 @@ describe AIXM::Feature::Airspace do
|
|
186
188
|
|
187
189
|
it "builds correct minimal OFMX" do
|
188
190
|
AIXM.ofmx!
|
189
|
-
subject.
|
191
|
+
subject.local_type = subject.name = nil
|
190
192
|
subject.to_xml.must_equal <<~"END"
|
191
193
|
<!-- Airspace: [D] UNNAMED -->
|
192
194
|
<Ase source="LF|GEN|0.0 FACTORY|0|0">
|
193
|
-
<AseUid
|
195
|
+
<AseUid>
|
194
196
|
<codeType>D</codeType>
|
195
197
|
<codeId>PA</codeId>
|
196
198
|
</AseUid>
|
197
199
|
<codeClass>C</codeClass>
|
200
|
+
<codeLocInd>XXXX</codeLocInd>
|
201
|
+
<codeActivity>TFC-AD</codeActivity>
|
198
202
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
199
203
|
<valDistVerUpper>65</valDistVerUpper>
|
200
204
|
<uomDistVerUpper>FL</uomDistVerUpper>
|
@@ -215,7 +219,7 @@ describe AIXM::Feature::Airspace do
|
|
215
219
|
</Ase>
|
216
220
|
<Abd>
|
217
221
|
<AbdUid>
|
218
|
-
<AseUid
|
222
|
+
<AseUid>
|
219
223
|
<codeType>D</codeType>
|
220
224
|
<codeId>PA</codeId>
|
221
225
|
</AseUid>
|
@@ -261,8 +265,8 @@ describe AIXM::Feature::Airspace do
|
|
261
265
|
AIXM.ofmx!
|
262
266
|
subject.to_xml.must_equal <<~"END"
|
263
267
|
<!-- Airspace: [D] POLYGON AIRSPACE -->
|
264
|
-
<Ase source="LF|GEN|0.0 FACTORY|0|0"
|
265
|
-
<AseUid
|
268
|
+
<Ase source="LF|GEN|0.0 FACTORY|0|0">
|
269
|
+
<AseUid>
|
266
270
|
<codeType>D</codeType>
|
267
271
|
<codeId>PA</codeId>
|
268
272
|
</AseUid>
|
@@ -271,7 +275,7 @@ describe AIXM::Feature::Airspace do
|
|
271
275
|
</Ase>
|
272
276
|
<Abd>
|
273
277
|
<AbdUid>
|
274
|
-
<AseUid
|
278
|
+
<AseUid>
|
275
279
|
<codeType>D</codeType>
|
276
280
|
<codeId>PA</codeId>
|
277
281
|
</AseUid>
|
@@ -301,12 +305,14 @@ describe AIXM::Feature::Airspace do
|
|
301
305
|
</Avx>
|
302
306
|
</Abd>
|
303
307
|
<Ase>
|
304
|
-
<AseUid
|
308
|
+
<AseUid>
|
305
309
|
<codeType>CLASS</codeType>
|
306
|
-
<codeId>
|
310
|
+
<codeId>B794588D</codeId>
|
307
311
|
</AseUid>
|
308
312
|
<txtName>POLYGON AIRSPACE LAYER 1</txtName>
|
309
313
|
<codeClass>C</codeClass>
|
314
|
+
<codeLocInd>XXXX</codeLocInd>
|
315
|
+
<codeActivity>TFC-AD</codeActivity>
|
310
316
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
311
317
|
<valDistVerUpper>65</valDistVerUpper>
|
312
318
|
<uomDistVerUpper>FL</uomDistVerUpper>
|
@@ -327,23 +333,25 @@ describe AIXM::Feature::Airspace do
|
|
327
333
|
</Ase>
|
328
334
|
<Adg>
|
329
335
|
<AdgUid>
|
330
|
-
<AseUid
|
336
|
+
<AseUid>
|
331
337
|
<codeType>CLASS</codeType>
|
332
|
-
<codeId>
|
338
|
+
<codeId>B794588D</codeId>
|
333
339
|
</AseUid>
|
334
340
|
</AdgUid>
|
335
|
-
<AseUidSameExtent
|
341
|
+
<AseUidSameExtent>
|
336
342
|
<codeType>D</codeType>
|
337
343
|
<codeId>PA</codeId>
|
338
344
|
</AseUidSameExtent>
|
339
345
|
</Adg>
|
340
346
|
<Ase>
|
341
|
-
<AseUid
|
347
|
+
<AseUid>
|
342
348
|
<codeType>CLASS</codeType>
|
343
|
-
<codeId>
|
349
|
+
<codeId>64589EAF</codeId>
|
344
350
|
</AseUid>
|
345
351
|
<txtName>POLYGON AIRSPACE LAYER 2</txtName>
|
346
352
|
<codeClass>C</codeClass>
|
353
|
+
<codeLocInd>XXXX</codeLocInd>
|
354
|
+
<codeActivity>TFC-AD</codeActivity>
|
347
355
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
348
356
|
<valDistVerUpper>65</valDistVerUpper>
|
349
357
|
<uomDistVerUpper>FL</uomDistVerUpper>
|
@@ -364,12 +372,12 @@ describe AIXM::Feature::Airspace do
|
|
364
372
|
</Ase>
|
365
373
|
<Adg>
|
366
374
|
<AdgUid>
|
367
|
-
<AseUid
|
375
|
+
<AseUid>
|
368
376
|
<codeType>CLASS</codeType>
|
369
|
-
<codeId>
|
377
|
+
<codeId>64589EAF</codeId>
|
370
378
|
</AseUid>
|
371
379
|
</AdgUid>
|
372
|
-
<AseUidSameExtent
|
380
|
+
<AseUidSameExtent>
|
373
381
|
<codeType>D</codeType>
|
374
382
|
<codeId>PA</codeId>
|
375
383
|
</AseUidSameExtent>
|
@@ -28,7 +28,7 @@ describe AIXM::Feature::NavigationalAid::DesignatedPoint do
|
|
28
28
|
subject.to_xml.must_equal <<~END
|
29
29
|
<!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
|
30
30
|
<Dpn source="LF|GEN|0.0 FACTORY|0|0">
|
31
|
-
<DpnUid
|
31
|
+
<DpnUid>
|
32
32
|
<codeId>DDD</codeId>
|
33
33
|
<geoLat>47.85916667N</geoLat>
|
34
34
|
<geoLong>007.56000000E</geoLong>
|
@@ -47,7 +47,7 @@ describe AIXM::Feature::NavigationalAid::DesignatedPoint do
|
|
47
47
|
subject.to_xml.must_equal <<~END
|
48
48
|
<!-- NavigationalAid: [DesignatedPoint:ICAO] UNNAMED -->
|
49
49
|
<Dpn source="LF|GEN|0.0 FACTORY|0|0">
|
50
|
-
<DpnUid
|
50
|
+
<DpnUid>
|
51
51
|
<codeId>DDD</codeId>
|
52
52
|
<geoLat>47.85916667N</geoLat>
|
53
53
|
<geoLong>007.56000000E</geoLong>
|
@@ -11,11 +11,24 @@ describe AIXM::Feature::NavigationalAid::DME do
|
|
11
11
|
|
12
12
|
describe :channel= do
|
13
13
|
it "fails on invalid values" do
|
14
|
-
[nil, :foobar, 123].wont_be_written_to subject, :channel
|
14
|
+
[nil, :foobar, 123, '0X', '127Y', '12Z'].wont_be_written_to subject, :channel
|
15
15
|
end
|
16
|
+
end
|
16
17
|
|
17
|
-
|
18
|
-
|
18
|
+
describe :ghost_f do
|
19
|
+
it "must be derived from the channel" do
|
20
|
+
subject.tap { |s| s.channel = '1X' }.ghost_f.freq.must_equal 134.4
|
21
|
+
subject.tap { |s| s.channel = '12Y' }.ghost_f.freq.must_equal 135.55
|
22
|
+
subject.tap { |s| s.channel = '16Y' }.ghost_f.freq.must_equal 135.95
|
23
|
+
subject.tap { |s| s.channel = '17X' }.ghost_f.freq.must_equal 108
|
24
|
+
subject.tap { |s| s.channel = '30X' }.ghost_f.freq.must_equal 109.3
|
25
|
+
subject.tap { |s| s.channel = '59Y' }.ghost_f.freq.must_equal 112.25
|
26
|
+
subject.tap { |s| s.channel = '60X' }.ghost_f.freq.must_equal 133.3
|
27
|
+
subject.tap { |s| s.channel = '64Y' }.ghost_f.freq.must_equal 133.75
|
28
|
+
subject.tap { |s| s.channel = '69Y' }.ghost_f.freq.must_equal 134.25
|
29
|
+
subject.tap { |s| s.channel = '70X' }.ghost_f.freq.must_equal 112.30
|
30
|
+
subject.tap { |s| s.channel = '100X' }.ghost_f.freq.must_equal 115.3
|
31
|
+
subject.tap { |s| s.channel = '126Y' }.ghost_f.freq.must_equal 117.95
|
19
32
|
end
|
20
33
|
end
|
21
34
|
|
@@ -31,16 +44,18 @@ describe AIXM::Feature::NavigationalAid::DME do
|
|
31
44
|
subject.to_xml.must_equal <<~END
|
32
45
|
<!-- NavigationalAid: [DME] DME NAVAID -->
|
33
46
|
<Dme source="LF|GEN|0.0 FACTORY|0|0">
|
34
|
-
<DmeUid
|
47
|
+
<DmeUid>
|
35
48
|
<codeId>MMM</codeId>
|
36
49
|
<geoLat>47.85916667N</geoLat>
|
37
50
|
<geoLong>007.56000000E</geoLong>
|
38
51
|
</DmeUid>
|
39
|
-
<OrgUid
|
52
|
+
<OrgUid>
|
40
53
|
<txtName>FRANCE</txtName>
|
41
54
|
</OrgUid>
|
42
55
|
<txtName>DME NAVAID</txtName>
|
43
56
|
<codeChannel>95X</codeChannel>
|
57
|
+
<valGhostFreq>114.8</valGhostFreq>
|
58
|
+
<uomGhostFreq>MHZ</uomGhostFreq>
|
44
59
|
<codeDatum>WGE</codeDatum>
|
45
60
|
<valElev>500</valElev>
|
46
61
|
<uomDistVer>FT</uomDistVer>
|
@@ -58,15 +73,17 @@ describe AIXM::Feature::NavigationalAid::DME do
|
|
58
73
|
subject.to_xml.must_equal <<~END
|
59
74
|
<!-- NavigationalAid: [DME] UNNAMED -->
|
60
75
|
<Dme source="LF|GEN|0.0 FACTORY|0|0">
|
61
|
-
<DmeUid
|
76
|
+
<DmeUid>
|
62
77
|
<codeId>MMM</codeId>
|
63
78
|
<geoLat>47.85916667N</geoLat>
|
64
79
|
<geoLong>007.56000000E</geoLong>
|
65
80
|
</DmeUid>
|
66
|
-
<OrgUid
|
81
|
+
<OrgUid>
|
67
82
|
<txtName>FRANCE</txtName>
|
68
83
|
</OrgUid>
|
69
84
|
<codeChannel>95X</codeChannel>
|
85
|
+
<valGhostFreq>114.8</valGhostFreq>
|
86
|
+
<uomGhostFreq>MHZ</uomGhostFreq>
|
70
87
|
<codeDatum>WGE</codeDatum>
|
71
88
|
</Dme>
|
72
89
|
END
|
@@ -32,12 +32,12 @@ describe AIXM::Feature::NavigationalAid::Marker do
|
|
32
32
|
subject.to_xml.must_equal <<~END
|
33
33
|
<!-- NavigationalAid: [Marker:O] MARKER NAVAID -->
|
34
34
|
<Mkr source="LF|GEN|0.0 FACTORY|0|0">
|
35
|
-
<MkrUid
|
35
|
+
<MkrUid>
|
36
36
|
<codeId>---</codeId>
|
37
37
|
<geoLat>47.85916667N</geoLat>
|
38
38
|
<geoLong>007.56000000E</geoLong>
|
39
39
|
</MkrUid>
|
40
|
-
<OrgUid
|
40
|
+
<OrgUid>
|
41
41
|
<txtName>FRANCE</txtName>
|
42
42
|
</OrgUid>
|
43
43
|
<codePsnIls>O</codePsnIls>
|
@@ -61,12 +61,12 @@ describe AIXM::Feature::NavigationalAid::Marker do
|
|
61
61
|
subject.to_xml.must_equal <<~END
|
62
62
|
<!-- NavigationalAid: [Marker] UNNAMED -->
|
63
63
|
<Mkr source="LF|GEN|0.0 FACTORY|0|0">
|
64
|
-
<MkrUid
|
64
|
+
<MkrUid>
|
65
65
|
<codeId>---</codeId>
|
66
66
|
<geoLat>47.85916667N</geoLat>
|
67
67
|
<geoLong>007.56000000E</geoLong>
|
68
68
|
</MkrUid>
|
69
|
-
<OrgUid
|
69
|
+
<OrgUid>
|
70
70
|
<txtName>FRANCE</txtName>
|
71
71
|
</OrgUid>
|
72
72
|
<valFreq>75</valFreq>
|
@@ -42,12 +42,12 @@ describe AIXM::Feature::NavigationalAid::NDB do
|
|
42
42
|
subject.to_xml.must_equal <<~END
|
43
43
|
<!-- NavigationalAid: [NDB:B] NDB NAVAID -->
|
44
44
|
<Ndb source="LF|GEN|0.0 FACTORY|0|0">
|
45
|
-
<NdbUid
|
45
|
+
<NdbUid>
|
46
46
|
<codeId>NNN</codeId>
|
47
47
|
<geoLat>47.85916667N</geoLat>
|
48
48
|
<geoLong>007.56000000E</geoLong>
|
49
49
|
</NdbUid>
|
50
|
-
<OrgUid
|
50
|
+
<OrgUid>
|
51
51
|
<txtName>FRANCE</txtName>
|
52
52
|
</OrgUid>
|
53
53
|
<txtName>NDB NAVAID</txtName>
|
@@ -71,12 +71,12 @@ describe AIXM::Feature::NavigationalAid::NDB do
|
|
71
71
|
subject.to_xml.must_equal <<~END
|
72
72
|
<!-- NavigationalAid: [NDB] UNNAMED -->
|
73
73
|
<Ndb source="LF|GEN|0.0 FACTORY|0|0">
|
74
|
-
<NdbUid
|
74
|
+
<NdbUid>
|
75
75
|
<codeId>NNN</codeId>
|
76
76
|
<geoLat>47.85916667N</geoLat>
|
77
77
|
<geoLong>007.56000000E</geoLong>
|
78
78
|
</NdbUid>
|
79
|
-
<OrgUid
|
79
|
+
<OrgUid>
|
80
80
|
<txtName>FRANCE</txtName>
|
81
81
|
</OrgUid>
|
82
82
|
<valFreq>555</valFreq>
|