aixm 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +1 -2
  4. data/CHANGELOG.md +20 -0
  5. data/README.md +7 -2
  6. data/aixm.gemspec +2 -3
  7. data/lib/aixm.rb +6 -2
  8. data/lib/aixm/a.rb +151 -0
  9. data/lib/aixm/component/frequency.rb +2 -2
  10. data/lib/aixm/component/geometry.rb +4 -0
  11. data/lib/aixm/component/geometry/point.rb +0 -4
  12. data/lib/aixm/component/helipad.rb +8 -22
  13. data/lib/aixm/component/runway.rb +36 -36
  14. data/lib/aixm/component/surface.rb +121 -0
  15. data/lib/aixm/component/timetable.rb +1 -0
  16. data/lib/aixm/constants.rb +40 -0
  17. data/lib/aixm/d.rb +5 -0
  18. data/lib/aixm/document.rb +2 -2
  19. data/lib/aixm/f.rb +6 -0
  20. data/lib/aixm/feature/address.rb +100 -0
  21. data/lib/aixm/feature/airport.rb +26 -7
  22. data/lib/aixm/feature/airspace.rb +10 -1
  23. data/lib/aixm/feature/navigational_aid.rb +1 -1
  24. data/lib/aixm/feature/navigational_aid/designated_point.rb +20 -5
  25. data/lib/aixm/feature/navigational_aid/dme.rb +2 -2
  26. data/lib/aixm/{component → feature}/service.rb +67 -16
  27. data/lib/aixm/feature/unit.rb +40 -6
  28. data/lib/aixm/refinements.rb +63 -6
  29. data/lib/aixm/shortcuts.rb +12 -4
  30. data/lib/aixm/version.rb +1 -1
  31. data/lib/aixm/xy.rb +6 -1
  32. data/lib/aixm/z.rb +6 -0
  33. data/schemas/ofmx/0/OFMX-DataTypes.xsd +5 -2
  34. data/schemas/ofmx/0/OFMX-Features.xsd +2 -0
  35. data/spec/factory.rb +32 -10
  36. data/spec/lib/aixm/a_spec.rb +203 -0
  37. data/spec/lib/aixm/component/helipad_spec.rb +11 -17
  38. data/spec/lib/aixm/component/runway_spec.rb +46 -32
  39. data/spec/lib/aixm/component/surface_spec.rb +88 -0
  40. data/spec/lib/aixm/d_spec.rb +10 -0
  41. data/spec/lib/aixm/document_spec.rb +104 -32
  42. data/spec/lib/aixm/f_spec.rb +10 -0
  43. data/spec/lib/aixm/feature/address_spec.rb +55 -0
  44. data/spec/lib/aixm/feature/airport_spec.rb +73 -3
  45. data/spec/lib/aixm/feature/navigational_aid/designated_point_spec.rb +43 -6
  46. data/spec/lib/aixm/feature/navigational_aid/dme_spec.rb +2 -2
  47. data/spec/lib/aixm/feature/navigational_aid/marker_spec.rb +2 -2
  48. data/spec/lib/aixm/feature/navigational_aid/ndb_spec.rb +2 -2
  49. data/spec/lib/aixm/feature/navigational_aid/tacan_spec.rb +2 -2
  50. data/spec/lib/aixm/feature/navigational_aid/vor_spec.rb +6 -6
  51. data/spec/lib/aixm/{component → feature}/service_spec.rb +12 -14
  52. data/spec/lib/aixm/feature/unit_spec.rb +7 -4
  53. data/spec/lib/aixm/refinements_spec.rb +100 -15
  54. data/spec/lib/aixm/z_spec.rb +10 -0
  55. metadata +17 -25
  56. data/lib/aixm/h.rb +0 -87
  57. data/spec/lib/aixm/h_spec.rb +0 -113
@@ -0,0 +1,88 @@
1
+ require_relative '../../../spec_helper'
2
+
3
+ describe AIXM::Component::Surface do
4
+ subject do
5
+ AIXM::Factory.airport.runways.first.surface
6
+ end
7
+
8
+ describe :composition= do
9
+ it "fails on invalid values" do
10
+ [:foobar, 123].wont_be_written_to subject, :composition
11
+ end
12
+
13
+ it "accepts nil value" do
14
+ [nil].must_be_written_to subject, :composition
15
+ end
16
+
17
+ it "looks up valid values" do
18
+ subject.tap { |s| s.composition = :macadam }.composition.must_equal :macadam
19
+ subject.tap { |s| s.composition = :GRADE }.composition.must_equal :graded_earth
20
+ end
21
+ end
22
+
23
+ describe :preparation= do
24
+ it "fails on invalid values" do
25
+ [:foobar, 123].wont_be_written_to subject, :preparation
26
+ end
27
+
28
+ it "accepts nil value" do
29
+ [nil].must_be_written_to subject, :preparation
30
+ end
31
+
32
+ it "looks up valid values" do
33
+ subject.tap { |s| s.preparation = :rolled }.preparation.must_equal :rolled
34
+ subject.tap { |s| s.preparation = 'PFC' }.preparation.must_equal :porous_friction_course
35
+ end
36
+ end
37
+
38
+ describe :condition= do
39
+ it "fails on invalid values" do
40
+ [:foobar, 123].wont_be_written_to subject, :condition
41
+ end
42
+
43
+ it "accepts nil value" do
44
+ [nil].must_be_written_to subject, :condition
45
+ end
46
+
47
+ it "looks up valid values" do
48
+ subject.tap { |s| s.condition = :fair }.condition.must_equal :fair
49
+ subject.tap { |s| s.condition = :GOOD }.condition.must_equal :good
50
+ end
51
+ end
52
+
53
+ describe :pcn do
54
+ end
55
+
56
+ describe :pcn= do
57
+ it "fails on invalid values" do
58
+ [25, 'X/F/B/W/U', '10/A/B', '10/A/B/C/D'].wont_be_written_to subject, :pcn
59
+ end
60
+
61
+ it "accepts valid values" do
62
+ subject.tap { |s| s.pcn = nil }.pcn.must_be :nil?
63
+ subject.tap { |s| s.pcn = '25/F/B/W/U' }.pcn.must_equal '25/F/B/W/U'
64
+ subject.tap { |s| s.pcn = '10 R C X T' }.pcn.must_equal '10/R/C/X/T'
65
+ subject.tap { |s| s.pcn = "5\nF-b-y U" }.pcn.must_equal '5/F/B/Y/U'
66
+ end
67
+ end
68
+
69
+ describe :remarks= do
70
+ macro :remarks
71
+ end
72
+
73
+ describe :to_xml do
74
+ it "builds correct complete AIXM/OFMX" do
75
+ subject.to_xml.must_equal <<~END
76
+ <codeComposition>ASPH</codeComposition>
77
+ <codePreparation>PAVED</codePreparation>
78
+ <codeCondSfc>GOOD</codeCondSfc>
79
+ <valPcnClass>59</valPcnClass>
80
+ <codePcnPavementType>F</codePcnPavementType>
81
+ <codePcnPavementSubgrade>A</codePcnPavementSubgrade>
82
+ <codePcnMaxTirePressure>W</codePcnMaxTirePressure>
83
+ <codePcnEvalMethod>T</codePcnEvalMethod>
84
+ <txtPcnNote>Paved shoulder on 2.5m on each side of the RWY.</txtPcnNote>
85
+ END
86
+ end
87
+ end
88
+ end
@@ -137,4 +137,14 @@ describe AIXM::D do
137
137
  { subject => true }[dupe].must_equal true
138
138
  end
139
139
  end
140
+
141
+ describe :zero? do
142
+ it "returns true for zero length" do
143
+ subject.tap { |s| s.dist = 0 }.must_be :zero?
144
+ end
145
+
146
+ it "returns false for non-zero length" do
147
+ subject.tap { |s| s.dist = 1 }.wont_be :zero?
148
+ end
149
+ end
140
150
  end
@@ -17,7 +17,7 @@ describe AIXM::Document do
17
17
  end
18
18
 
19
19
  it "sets random UUID for nil value" do
20
- subject.tap { |s| s.namespace = nil }.namespace.must_match AIXM::Document::NAMESPACE_PATTERN
20
+ subject.tap { |s| s.namespace = nil }.namespace.must_match AIXM::Document::NAMESPACE_RE
21
21
  end
22
22
 
23
23
  it "accepts UUID value" do
@@ -105,8 +105,9 @@ describe AIXM::Document do
105
105
  </AhpUid>
106
106
  <codeType>TWR</codeType>
107
107
  <codeClass>ICAO</codeClass>
108
- <txtRmk>A/A FR only</txtRmk>
108
+ <txtRmk>FR only</txtRmk>
109
109
  </Uni>
110
+ <!-- Service: APP by PUJAUT TWR -->
110
111
  <Ser>
111
112
  <SerUid>
112
113
  <UniUid>
@@ -177,7 +178,15 @@ describe AIXM::Document do
177
178
  <valLen>650</valLen>
178
179
  <valWid>80</valWid>
179
180
  <uomDimRwy>M</uomDimRwy>
180
- <codeComposition>GRADE</codeComposition>
181
+ <codeComposition>ASPH</codeComposition>
182
+ <codePreparation>PAVED</codePreparation>
183
+ <codeCondSfc>GOOD</codeCondSfc>
184
+ <valPcnClass>59</valPcnClass>
185
+ <codePcnPavementType>F</codePcnPavementType>
186
+ <codePcnPavementSubgrade>A</codePcnPavementSubgrade>
187
+ <codePcnMaxTirePressure>W</codePcnMaxTirePressure>
188
+ <codePcnEvalMethod>T</codePcnEvalMethod>
189
+ <txtPcnNote>Paved shoulder on 2.5m on each side of the RWY.</txtPcnNote>
181
190
  <codeSts>CLSD</codeSts>
182
191
  <txtRmk>Markings eroded</txtRmk>
183
192
  </Rwy>
@@ -195,8 +204,9 @@ describe AIXM::Document do
195
204
  <geoLong>0044507.81E</geoLong>
196
205
  <valTrueBrg>165</valTrueBrg>
197
206
  <valMagBrg>166</valMagBrg>
198
- <valElevTdz>147</valElevTdz>
207
+ <valElevTdz>145</valElevTdz>
199
208
  <uomElevTdz>FT</uomElevTdz>
209
+ <codeVfrPattern>E</codeVfrPattern>
200
210
  <txtRmk>forth remarks</txtRmk>
201
211
  </Rdn>
202
212
  <Rdd>
@@ -231,6 +241,9 @@ describe AIXM::Document do
231
241
  <geoLong>0044523.24E</geoLong>
232
242
  <valTrueBrg>345</valTrueBrg>
233
243
  <valMagBrg>346</valMagBrg>
244
+ <valElevTdz>147</valElevTdz>
245
+ <uomElevTdz>FT</uomElevTdz>
246
+ <codeVfrPattern>L</codeVfrPattern>
234
247
  <txtRmk>back remarks</txtRmk>
235
248
  </Rdn>
236
249
  <Rdd>
@@ -266,7 +279,15 @@ describe AIXM::Document do
266
279
  <valLen>20</valLen>
267
280
  <valWid>20</valWid>
268
281
  <uomDim>M</uomDim>
269
- <codeComposition>GRASS</codeComposition>
282
+ <codeComposition>CONC</codeComposition>
283
+ <codePreparation>PAVED</codePreparation>
284
+ <codeCondSfc>FAIR</codeCondSfc>
285
+ <valPcnClass>30</valPcnClass>
286
+ <codePcnPavementType>F</codePcnPavementType>
287
+ <codePcnPavementSubgrade>A</codePcnPavementSubgrade>
288
+ <codePcnMaxTirePressure>W</codePcnMaxTirePressure>
289
+ <codePcnEvalMethod>U</codePcnEvalMethod>
290
+ <txtPcnNote>Cracks near the center.</txtPcnNote>
270
291
  <codeSts>OTHER</codeSts>
271
292
  <txtRmk>Authorizaton by AD operator required</txtRmk>
272
293
  </Tla>
@@ -297,6 +318,18 @@ describe AIXM::Document do
297
318
  <txtRmk>reservation remarks</txtRmk>
298
319
  </UsageLimitation>
299
320
  </Ahu>
321
+ <!-- Address: RADIO for LFNT -->
322
+ <Aha>
323
+ <AhaUid>
324
+ <AhpUid>
325
+ <codeId>LFNT</codeId>
326
+ </AhpUid>
327
+ <codeType>RADIO</codeType>
328
+ <noSeq>1</noSeq>
329
+ </AhaUid>
330
+ <txtAddress>123.35</txtAddress>
331
+ <txtRmk>A/A (callsign PUJAUT)</txtRmk>
332
+ </Aha>
300
333
  <!-- Airspace: [D] POLYGON AIRSPACE -->
301
334
  <Ase>
302
335
  <AseUid>
@@ -400,19 +433,22 @@ describe AIXM::Document do
400
433
  <geoLongArc>0045300.00E</geoLongArc>
401
434
  </Avx>
402
435
  </Abd>
403
- <!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
436
+ <!-- NavigationalAid: [DesignatedPoint:VFR-RP] DDD / DESIGNATED POINT NAVAID -->
404
437
  <Dpn>
405
438
  <DpnUid>
406
439
  <codeId>DDD</codeId>
407
440
  <geoLat>475133.00N</geoLat>
408
441
  <geoLong>0073336.00E</geoLong>
409
442
  </DpnUid>
443
+ <AhpUidAssoc>
444
+ <codeId>LFNT</codeId>
445
+ </AhpUidAssoc>
410
446
  <codeDatum>WGE</codeDatum>
411
- <codeType>ICAO</codeType>
447
+ <codeType>OTHER</codeType>
412
448
  <txtName>DESIGNATED POINT NAVAID</txtName>
413
449
  <txtRmk>designated point navaid</txtRmk>
414
450
  </Dpn>
415
- <!-- NavigationalAid: [DME] DME NAVAID -->
451
+ <!-- NavigationalAid: [DME] MMM / DME NAVAID -->
416
452
  <Dme>
417
453
  <DmeUid>
418
454
  <codeId>MMM</codeId>
@@ -434,7 +470,7 @@ describe AIXM::Document do
434
470
  </Dtt>
435
471
  <txtRmk>dme navaid</txtRmk>
436
472
  </Dme>
437
- <!-- NavigationalAid: [Marker:O] MARKER NAVAID -->
473
+ <!-- NavigationalAid: [Marker:O] --- / MARKER NAVAID -->
438
474
  <Mkr>
439
475
  <MkrUid>
440
476
  <codeId>---</codeId>
@@ -456,7 +492,7 @@ describe AIXM::Document do
456
492
  </Mtt>
457
493
  <txtRmk>marker navaid</txtRmk>
458
494
  </Mkr>
459
- <!-- NavigationalAid: [NDB:B] NDB NAVAID -->
495
+ <!-- NavigationalAid: [NDB:B] NNN / NDB NAVAID -->
460
496
  <Ndb>
461
497
  <NdbUid>
462
498
  <codeId>NNN</codeId>
@@ -478,7 +514,7 @@ describe AIXM::Document do
478
514
  </Ntt>
479
515
  <txtRmk>ndb navaid</txtRmk>
480
516
  </Ndb>
481
- <!-- NavigationalAid: [TACAN] TACAN NAVAID -->
517
+ <!-- NavigationalAid: [TACAN] TTT / TACAN NAVAID -->
482
518
  <Tcn>
483
519
  <TcnUid>
484
520
  <codeId>TTT</codeId>
@@ -498,7 +534,7 @@ describe AIXM::Document do
498
534
  </Ttt>
499
535
  <txtRmk>tacan navaid</txtRmk>
500
536
  </Tcn>
501
- <!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
537
+ <!-- NavigationalAid: [VOR:VOR] VVV / VOR NAVAID -->
502
538
  <Vor>
503
539
  <VorUid>
504
540
  <codeId>VVV</codeId>
@@ -521,7 +557,7 @@ describe AIXM::Document do
521
557
  </Vtt>
522
558
  <txtRmk>vor navaid</txtRmk>
523
559
  </Vor>
524
- <!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
560
+ <!-- NavigationalAid: [VOR:VOR] VDD / VOR/DME NAVAID -->
525
561
  <Vor>
526
562
  <VorUid>
527
563
  <codeId>VDD</codeId>
@@ -544,7 +580,7 @@ describe AIXM::Document do
544
580
  </Vtt>
545
581
  <txtRmk>vor/dme navaid</txtRmk>
546
582
  </Vor>
547
- <!-- NavigationalAid: [DME] VOR/DME NAVAID -->
583
+ <!-- NavigationalAid: [DME] VDD / VOR/DME NAVAID -->
548
584
  <Dme>
549
585
  <DmeUid>
550
586
  <codeId>VDD</codeId>
@@ -569,7 +605,7 @@ describe AIXM::Document do
569
605
  </Dtt>
570
606
  <txtRmk>vor/dme navaid</txtRmk>
571
607
  </Dme>
572
- <!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
608
+ <!-- NavigationalAid: [VOR:VOR] VTT / VORTAC NAVAID -->
573
609
  <Vor>
574
610
  <VorUid>
575
611
  <codeId>VTT</codeId>
@@ -592,7 +628,7 @@ describe AIXM::Document do
592
628
  </Vtt>
593
629
  <txtRmk>vortac navaid</txtRmk>
594
630
  </Vor>
595
- <!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
631
+ <!-- NavigationalAid: [TACAN] VTT / VORTAC NAVAID -->
596
632
  <Tcn>
597
633
  <TcnUid>
598
634
  <codeId>VTT</codeId>
@@ -750,9 +786,10 @@ describe AIXM::Document do
750
786
  </AhpUid>
751
787
  <codeType>TWR</codeType>
752
788
  <codeClass>ICAO</codeClass>
753
- <txtRmk>A/A FR only</txtRmk>
789
+ <txtRmk>FR only</txtRmk>
754
790
  </Uni>
755
- <Ser>
791
+ <!-- Service: APP by PUJAUT TWR -->
792
+ <Ser source="LF|GEN|0.0 FACTORY|0|0">
756
793
  <SerUid>
757
794
  <UniUid>
758
795
  <txtName>PUJAUT TWR</txtName>
@@ -823,7 +860,15 @@ describe AIXM::Document do
823
860
  <valLen>650</valLen>
824
861
  <valWid>80</valWid>
825
862
  <uomDimRwy>M</uomDimRwy>
826
- <codeComposition>GRADE</codeComposition>
863
+ <codeComposition>ASPH</codeComposition>
864
+ <codePreparation>PAVED</codePreparation>
865
+ <codeCondSfc>GOOD</codeCondSfc>
866
+ <valPcnClass>59</valPcnClass>
867
+ <codePcnPavementType>F</codePcnPavementType>
868
+ <codePcnPavementSubgrade>A</codePcnPavementSubgrade>
869
+ <codePcnMaxTirePressure>W</codePcnMaxTirePressure>
870
+ <codePcnEvalMethod>T</codePcnEvalMethod>
871
+ <txtPcnNote>Paved shoulder on 2.5m on each side of the RWY.</txtPcnNote>
827
872
  <codeSts>CLSD</codeSts>
828
873
  <txtRmk>Markings eroded</txtRmk>
829
874
  </Rwy>
@@ -841,8 +886,9 @@ describe AIXM::Document do
841
886
  <geoLong>004.75216944E</geoLong>
842
887
  <valTrueBrg>165</valTrueBrg>
843
888
  <valMagBrg>166</valMagBrg>
844
- <valElevTdz>147</valElevTdz>
889
+ <valElevTdz>145</valElevTdz>
845
890
  <uomElevTdz>FT</uomElevTdz>
891
+ <codeVfrPattern>E</codeVfrPattern>
846
892
  <txtRmk>forth remarks</txtRmk>
847
893
  </Rdn>
848
894
  <Rdd>
@@ -877,6 +923,9 @@ describe AIXM::Document do
877
923
  <geoLong>004.75645556E</geoLong>
878
924
  <valTrueBrg>345</valTrueBrg>
879
925
  <valMagBrg>346</valMagBrg>
926
+ <valElevTdz>147</valElevTdz>
927
+ <uomElevTdz>FT</uomElevTdz>
928
+ <codeVfrPattern>L</codeVfrPattern>
880
929
  <txtRmk>back remarks</txtRmk>
881
930
  </Rdn>
882
931
  <Rdd>
@@ -912,7 +961,15 @@ describe AIXM::Document do
912
961
  <valLen>20</valLen>
913
962
  <valWid>20</valWid>
914
963
  <uomDim>M</uomDim>
915
- <codeComposition>GRASS</codeComposition>
964
+ <codeComposition>CONC</codeComposition>
965
+ <codePreparation>PAVED</codePreparation>
966
+ <codeCondSfc>FAIR</codeCondSfc>
967
+ <valPcnClass>30</valPcnClass>
968
+ <codePcnPavementType>F</codePcnPavementType>
969
+ <codePcnPavementSubgrade>A</codePcnPavementSubgrade>
970
+ <codePcnMaxTirePressure>W</codePcnMaxTirePressure>
971
+ <codePcnEvalMethod>U</codePcnEvalMethod>
972
+ <txtPcnNote>Cracks near the center.</txtPcnNote>
916
973
  <codeSts>OTHER</codeSts>
917
974
  <txtRmk>Authorizaton by AD operator required</txtRmk>
918
975
  </Tla>
@@ -943,6 +1000,18 @@ describe AIXM::Document do
943
1000
  <txtRmk>reservation remarks</txtRmk>
944
1001
  </UsageLimitation>
945
1002
  </Ahu>
1003
+ <!-- Address: RADIO for LFNT -->
1004
+ <Aha source="LF|GEN|0.0 FACTORY|0|0">
1005
+ <AhaUid>
1006
+ <AhpUid>
1007
+ <codeId>LFNT</codeId>
1008
+ </AhpUid>
1009
+ <codeType>RADIO</codeType>
1010
+ <noSeq>1</noSeq>
1011
+ </AhaUid>
1012
+ <txtAddress>123.35</txtAddress>
1013
+ <txtRmk>A/A (callsign PUJAUT)</txtRmk>
1014
+ </Aha>
946
1015
  <!-- Airspace: [D] POLYGON AIRSPACE -->
947
1016
  <Ase source="LF|GEN|0.0 FACTORY|0|0">
948
1017
  <AseUid>
@@ -1048,19 +1117,22 @@ describe AIXM::Document do
1048
1117
  <geoLongArc>004.88333333E</geoLongArc>
1049
1118
  </Avx>
1050
1119
  </Abd>
1051
- <!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
1120
+ <!-- NavigationalAid: [DesignatedPoint:VFR-RP] DDD / DESIGNATED POINT NAVAID -->
1052
1121
  <Dpn source="LF|GEN|0.0 FACTORY|0|0">
1053
1122
  <DpnUid>
1054
1123
  <codeId>DDD</codeId>
1055
1124
  <geoLat>47.85916667N</geoLat>
1056
1125
  <geoLong>007.56000000E</geoLong>
1057
1126
  </DpnUid>
1127
+ <AhpUidAssoc>
1128
+ <codeId>LFNT</codeId>
1129
+ </AhpUidAssoc>
1058
1130
  <codeDatum>WGE</codeDatum>
1059
- <codeType>ICAO</codeType>
1131
+ <codeType>VFR-RP</codeType>
1060
1132
  <txtName>DESIGNATED POINT NAVAID</txtName>
1061
1133
  <txtRmk>designated point navaid</txtRmk>
1062
1134
  </Dpn>
1063
- <!-- NavigationalAid: [DME] DME NAVAID -->
1135
+ <!-- NavigationalAid: [DME] MMM / DME NAVAID -->
1064
1136
  <Dme source="LF|GEN|0.0 FACTORY|0|0">
1065
1137
  <DmeUid>
1066
1138
  <codeId>MMM</codeId>
@@ -1082,7 +1154,7 @@ describe AIXM::Document do
1082
1154
  </Dtt>
1083
1155
  <txtRmk>dme navaid</txtRmk>
1084
1156
  </Dme>
1085
- <!-- NavigationalAid: [Marker:O] MARKER NAVAID -->
1157
+ <!-- NavigationalAid: [Marker:O] --- / MARKER NAVAID -->
1086
1158
  <Mkr source="LF|GEN|0.0 FACTORY|0|0">
1087
1159
  <MkrUid>
1088
1160
  <codeId>---</codeId>
@@ -1104,7 +1176,7 @@ describe AIXM::Document do
1104
1176
  </Mtt>
1105
1177
  <txtRmk>marker navaid</txtRmk>
1106
1178
  </Mkr>
1107
- <!-- NavigationalAid: [NDB:B] NDB NAVAID -->
1179
+ <!-- NavigationalAid: [NDB:B] NNN / NDB NAVAID -->
1108
1180
  <Ndb source="LF|GEN|0.0 FACTORY|0|0">
1109
1181
  <NdbUid>
1110
1182
  <codeId>NNN</codeId>
@@ -1126,7 +1198,7 @@ describe AIXM::Document do
1126
1198
  </Ntt>
1127
1199
  <txtRmk>ndb navaid</txtRmk>
1128
1200
  </Ndb>
1129
- <!-- NavigationalAid: [TACAN] TACAN NAVAID -->
1201
+ <!-- NavigationalAid: [TACAN] TTT / TACAN NAVAID -->
1130
1202
  <Tcn source="LF|GEN|0.0 FACTORY|0|0">
1131
1203
  <TcnUid>
1132
1204
  <codeId>TTT</codeId>
@@ -1148,7 +1220,7 @@ describe AIXM::Document do
1148
1220
  </Ttt>
1149
1221
  <txtRmk>tacan navaid</txtRmk>
1150
1222
  </Tcn>
1151
- <!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
1223
+ <!-- NavigationalAid: [VOR:VOR] VVV / VOR NAVAID -->
1152
1224
  <Vor source="LF|GEN|0.0 FACTORY|0|0">
1153
1225
  <VorUid>
1154
1226
  <codeId>VVV</codeId>
@@ -1171,7 +1243,7 @@ describe AIXM::Document do
1171
1243
  </Vtt>
1172
1244
  <txtRmk>vor navaid</txtRmk>
1173
1245
  </Vor>
1174
- <!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
1246
+ <!-- NavigationalAid: [VOR:VOR] VDD / VOR/DME NAVAID -->
1175
1247
  <Vor source="LF|GEN|0.0 FACTORY|0|0">
1176
1248
  <VorUid>
1177
1249
  <codeId>VDD</codeId>
@@ -1194,7 +1266,7 @@ describe AIXM::Document do
1194
1266
  </Vtt>
1195
1267
  <txtRmk>vor/dme navaid</txtRmk>
1196
1268
  </Vor>
1197
- <!-- NavigationalAid: [DME] VOR/DME NAVAID -->
1269
+ <!-- NavigationalAid: [DME] VDD / VOR/DME NAVAID -->
1198
1270
  <Dme>
1199
1271
  <DmeUid>
1200
1272
  <codeId>VDD</codeId>
@@ -1219,7 +1291,7 @@ describe AIXM::Document do
1219
1291
  </Dtt>
1220
1292
  <txtRmk>vor/dme navaid</txtRmk>
1221
1293
  </Dme>
1222
- <!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
1294
+ <!-- NavigationalAid: [VOR:VOR] VTT / VORTAC NAVAID -->
1223
1295
  <Vor source="LF|GEN|0.0 FACTORY|0|0">
1224
1296
  <VorUid>
1225
1297
  <codeId>VTT</codeId>
@@ -1242,7 +1314,7 @@ describe AIXM::Document do
1242
1314
  </Vtt>
1243
1315
  <txtRmk>vortac navaid</txtRmk>
1244
1316
  </Vor>
1245
- <!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
1317
+ <!-- NavigationalAid: [TACAN] VTT / VORTAC NAVAID -->
1246
1318
  <Tcn>
1247
1319
  <TcnUid>
1248
1320
  <codeId>VTT</codeId>