aixm 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|