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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +96 -72
  4. data/README.md +0 -1
  5. data/lib/aixm/component/geometry.rb +8 -2
  6. data/lib/aixm/component/layer.rb +83 -2
  7. data/lib/aixm/document.rb +11 -2
  8. data/lib/aixm/errors.rb +14 -2
  9. data/lib/aixm/feature.rb +2 -14
  10. data/lib/aixm/feature/airport.rb +19 -18
  11. data/lib/aixm/feature/airspace.rb +19 -21
  12. data/lib/aixm/feature/navigational_aid.rb +2 -2
  13. data/lib/aixm/feature/navigational_aid/designated_point.rb +1 -2
  14. data/lib/aixm/feature/navigational_aid/dme.rb +25 -4
  15. data/lib/aixm/feature/navigational_aid/marker.rb +1 -2
  16. data/lib/aixm/feature/navigational_aid/ndb.rb +1 -2
  17. data/lib/aixm/feature/navigational_aid/tacan.rb +5 -2
  18. data/lib/aixm/feature/navigational_aid/vor.rb +3 -4
  19. data/lib/aixm/feature/organisation.rb +3 -4
  20. data/lib/aixm/feature/unit.rb +3 -4
  21. data/lib/aixm/version.rb +1 -1
  22. data/schemas/ofmx/0/OFMX-CSV-Obstacle.json +209 -0
  23. data/schemas/ofmx/0/OFMX-CSV.json +12 -0
  24. data/schemas/ofmx/0/OFMX-DataTypes.xsd +64 -5
  25. data/schemas/ofmx/0/OFMX-Features.xsd +73 -23
  26. data/schemas/ofmx/0/OFMX-Snapshot.xsd +7 -2
  27. data/spec/factory.rb +8 -18
  28. data/spec/lib/aixm/component/geometry_spec.rb +27 -4
  29. data/spec/lib/aixm/component/helipad_spec.rb +2 -2
  30. data/spec/lib/aixm/component/layer_spec.rb +27 -0
  31. data/spec/lib/aixm/component/runway_spec.rb +13 -13
  32. data/spec/lib/aixm/document_spec.rb +56 -42
  33. data/spec/lib/aixm/feature/airport_spec.rb +15 -15
  34. data/spec/lib/aixm/feature/airspace_spec.rb +38 -30
  35. data/spec/lib/aixm/feature/navigational_aid/designated_point_spec.rb +2 -2
  36. data/spec/lib/aixm/feature/navigational_aid/dme_spec.rb +24 -7
  37. data/spec/lib/aixm/feature/navigational_aid/marker_spec.rb +4 -4
  38. data/spec/lib/aixm/feature/navigational_aid/ndb_spec.rb +4 -4
  39. data/spec/lib/aixm/feature/navigational_aid/tacan_spec.rb +24 -7
  40. data/spec/lib/aixm/feature/navigational_aid/vor_spec.rb +14 -14
  41. data/spec/lib/aixm/feature/organisation_spec.rb +2 -2
  42. data/spec/lib/aixm/feature/unit_spec.rb +11 -11
  43. data/spec/lib/aixm/feature_spec.rb +0 -20
  44. 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
- code: 'LFNT',
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 :code= do
28
+ describe :id= do
29
29
  it "fails on invalid values" do
30
- [nil, 'A', 'AB', 'ABCDE', 'AB12345'].wont_be_written_to subject, :code
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.code = 'lfnt' }.code.must_equal 'LFNT'
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 region="LF">
187
+ <AhpUid>
188
188
  <codeId>LFNT</codeId>
189
189
  </AhpUid>
190
- <OrgUid region="LF">
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 region="LF">
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 region="LF">
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 region="LF">
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 region="LF">
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 region="LF">
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 region=\"LF\">
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 region="LF">
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 region="LF">
349
+ <AhpUid>
350
350
  <codeId>LFNT</codeId>
351
351
  </AhpUid>
352
- <OrgUid region="LF">
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 '22E2F734'
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 id, name and short_name" do
24
- subject.tap { |s| s.id = nil }.id.must_equal '22E2F734'
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 :name= do
43
+ describe :local_type= do
44
44
  it "fails on invalid values" do
45
- [:foobar, 123].wont_be_written_to subject, :name
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, :name
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.name = 'löl' }.name.must_equal 'LOEL'
53
+ subject.tap { |s| s.local_type = 'löl' }.local_type.must_equal 'LOEL'
54
54
  end
55
55
  end
56
56
 
57
- describe :short_name= do
57
+ describe :name= do
58
58
  it "fails on invalid values" do
59
- [:foobar, 123].wont_be_written_to subject, :short_name
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, :short_name
63
+ [nil].must_be_written_to subject, :name
64
64
  end
65
65
 
66
66
  it "upcases value" do
67
- subject.tap { |s| s.short_name = 'löl' }.short_name.must_equal 'LOEL'
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>22E2F734</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 region="LF">
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 region="LF">
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.short_name = subject.name = nil
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 region="LF">
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 region="LF">
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" classLayers="2">
265
- <AseUid region="LF">
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 region="LF">
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 region="LF">
308
+ <AseUid>
305
309
  <codeType>CLASS</codeType>
306
- <codeId>522496D6</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 region="LF">
336
+ <AseUid>
331
337
  <codeType>CLASS</codeType>
332
- <codeId>522496D6</codeId>
338
+ <codeId>B794588D</codeId>
333
339
  </AseUid>
334
340
  </AdgUid>
335
- <AseUidSameExtent region="LF">
341
+ <AseUidSameExtent>
336
342
  <codeType>D</codeType>
337
343
  <codeId>PA</codeId>
338
344
  </AseUidSameExtent>
339
345
  </Adg>
340
346
  <Ase>
341
- <AseUid region="LF">
347
+ <AseUid>
342
348
  <codeType>CLASS</codeType>
343
- <codeId>CAA85949</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 region="LF">
375
+ <AseUid>
368
376
  <codeType>CLASS</codeType>
369
- <codeId>CAA85949</codeId>
377
+ <codeId>64589EAF</codeId>
370
378
  </AseUid>
371
379
  </AdgUid>
372
- <AseUidSameExtent region="LF">
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 region="LF">
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 region="LF">
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
- it "upcases value" do
18
- subject.tap { |s| s.channel = '3x' }.channel.must_equal '3X'
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 region="LF">
47
+ <DmeUid>
35
48
  <codeId>MMM</codeId>
36
49
  <geoLat>47.85916667N</geoLat>
37
50
  <geoLong>007.56000000E</geoLong>
38
51
  </DmeUid>
39
- <OrgUid region=\"LF\">
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 region="LF">
76
+ <DmeUid>
62
77
  <codeId>MMM</codeId>
63
78
  <geoLat>47.85916667N</geoLat>
64
79
  <geoLong>007.56000000E</geoLong>
65
80
  </DmeUid>
66
- <OrgUid region=\"LF\">
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 region="LF">
35
+ <MkrUid>
36
36
  <codeId>---</codeId>
37
37
  <geoLat>47.85916667N</geoLat>
38
38
  <geoLong>007.56000000E</geoLong>
39
39
  </MkrUid>
40
- <OrgUid region="LF">
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 region="LF">
64
+ <MkrUid>
65
65
  <codeId>---</codeId>
66
66
  <geoLat>47.85916667N</geoLat>
67
67
  <geoLong>007.56000000E</geoLong>
68
68
  </MkrUid>
69
- <OrgUid region="LF">
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 region="LF">
45
+ <NdbUid>
46
46
  <codeId>NNN</codeId>
47
47
  <geoLat>47.85916667N</geoLat>
48
48
  <geoLong>007.56000000E</geoLong>
49
49
  </NdbUid>
50
- <OrgUid region="LF">
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 region="LF">
74
+ <NdbUid>
75
75
  <codeId>NNN</codeId>
76
76
  <geoLat>47.85916667N</geoLat>
77
77
  <geoLong>007.56000000E</geoLong>
78
78
  </NdbUid>
79
- <OrgUid region="LF">
79
+ <OrgUid>
80
80
  <txtName>FRANCE</txtName>
81
81
  </OrgUid>
82
82
  <valFreq>555</valFreq>