aixm 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +149 -116
- data/lib/aixm/component/class_layer.rb +3 -3
- data/lib/aixm/component/geometry.rb +3 -3
- data/lib/aixm/component/geometry/arc.rb +2 -2
- data/lib/aixm/component/geometry/border.rb +2 -2
- data/lib/aixm/component/geometry/circle.rb +2 -2
- data/lib/aixm/component/geometry/point.rb +2 -2
- data/lib/aixm/component/schedule.rb +2 -2
- data/lib/aixm/component/vertical_limits.rb +2 -2
- data/lib/aixm/document.rb +4 -4
- data/lib/aixm/feature/airspace.rb +42 -17
- data/lib/aixm/feature/navigational_aid/base.rb +41 -8
- data/lib/aixm/feature/navigational_aid/designated_point.rb +29 -15
- data/lib/aixm/feature/navigational_aid/dme.rb +32 -9
- data/lib/aixm/feature/navigational_aid/marker.rb +25 -7
- data/lib/aixm/feature/navigational_aid/ndb.rb +25 -9
- data/lib/aixm/feature/navigational_aid/tacan.rb +21 -20
- data/lib/aixm/feature/navigational_aid/vor.rb +66 -26
- data/lib/aixm/version.rb +1 -1
- data/spec/factory.rb +69 -13
- data/spec/lib/aixm/component/class_layer_spec.rb +4 -4
- data/spec/lib/aixm/component/geometry/arc_spec.rb +3 -3
- data/spec/lib/aixm/component/geometry/border_spec.rb +2 -2
- data/spec/lib/aixm/component/geometry/circle_spec.rb +3 -3
- data/spec/lib/aixm/component/geometry/point_spec.rb +3 -3
- data/spec/lib/aixm/component/geometry_spec.rb +4 -4
- data/spec/lib/aixm/component/schedule_spec.rb +2 -2
- data/spec/lib/aixm/component/vertical_limits_spec.rb +4 -4
- data/spec/lib/aixm/document_spec.rb +282 -28
- data/spec/lib/aixm/feature/airspace_spec.rb +14 -10
- data/spec/lib/aixm/feature/navigational_aid/designated_point_spec.rb +9 -6
- data/spec/lib/aixm/feature/navigational_aid/dme_spec.rb +9 -6
- data/spec/lib/aixm/feature/navigational_aid/marker_spec.rb +7 -4
- data/spec/lib/aixm/feature/navigational_aid/ndb_spec.rb +9 -6
- data/spec/lib/aixm/feature/navigational_aid/tacan_spec.rb +9 -6
- data/spec/lib/aixm/feature/navigational_aid/vor_spec.rb +156 -7
- metadata +2 -2
@@ -19,9 +19,9 @@ describe AIXM::Component::ClassLayer do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
describe :
|
22
|
+
describe :to_aixm do
|
23
23
|
it "must build correct XML" do
|
24
|
-
subject.
|
24
|
+
subject.to_aixm.must_equal <<~END
|
25
25
|
<codeClass>C</codeClass>
|
26
26
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
27
27
|
<valDistVerUpper>65</valDistVerUpper>
|
@@ -51,9 +51,9 @@ describe AIXM::Component::ClassLayer do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
describe :
|
54
|
+
describe :to_aixm do
|
55
55
|
it "must build correct XML" do
|
56
|
-
subject.
|
56
|
+
subject.to_aixm.must_equal <<~END
|
57
57
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
58
58
|
<valDistVerUpper>65</valDistVerUpper>
|
59
59
|
<uomDistVerUpper>FL</uomDistVerUpper>
|
@@ -29,14 +29,14 @@ describe AIXM::Component::Geometry::Arc do
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
describe :
|
32
|
+
describe :to_aixm do
|
33
33
|
it "must build correct XML for clockwise arcs" do
|
34
34
|
subject = AIXM.arc(
|
35
35
|
xy: AIXM.xy(lat: 11.1, long: 33.3),
|
36
36
|
center_xy: AIXM.xy(lat: 22.2, long: 33.3),
|
37
37
|
clockwise: true
|
38
38
|
)
|
39
|
-
subject.
|
39
|
+
subject.to_aixm.must_equal <<~END
|
40
40
|
<Avx>
|
41
41
|
<codeType>CWA</codeType>
|
42
42
|
<geoLat>110600.00N</geoLat>
|
@@ -54,7 +54,7 @@ describe AIXM::Component::Geometry::Arc do
|
|
54
54
|
center_xy: AIXM.xy(lat: 22.2, long: 33.3),
|
55
55
|
clockwise: false
|
56
56
|
)
|
57
|
-
subject.
|
57
|
+
subject.to_aixm.must_equal <<~END
|
58
58
|
<Avx>
|
59
59
|
<codeType>CCA</codeType>
|
60
60
|
<geoLat>110600.00N</geoLat>
|
@@ -11,13 +11,13 @@ describe AIXM::Component::Geometry::Border do
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
describe :
|
14
|
+
describe :to_aixm do
|
15
15
|
it "must build correct XML" do
|
16
16
|
subject = AIXM.border(
|
17
17
|
xy: AIXM.xy(lat: 11.1, long: 22.2),
|
18
18
|
name: 'foobar'
|
19
19
|
)
|
20
|
-
subject.
|
20
|
+
subject.to_aixm.must_equal <<~END
|
21
21
|
<Avx>
|
22
22
|
<codeType>FNT</codeType>
|
23
23
|
<geoLat>110600.00N</geoLat>
|
@@ -27,13 +27,13 @@ describe AIXM::Component::Geometry::Circle do
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
describe :
|
30
|
+
describe :to_aixm do
|
31
31
|
it "must build correct XML for circles not near the equator" do
|
32
32
|
subject = AIXM.circle(
|
33
33
|
center_xy: AIXM.xy(lat: 11.1, long: 22.2),
|
34
34
|
radius: 25
|
35
35
|
)
|
36
|
-
subject.
|
36
|
+
subject.to_aixm.must_equal <<~END
|
37
37
|
<Avx>
|
38
38
|
<codeType>CWA</codeType>
|
39
39
|
<geoLat>111929.39N</geoLat>
|
@@ -50,7 +50,7 @@ describe AIXM::Component::Geometry::Circle do
|
|
50
50
|
center_xy: AIXM.xy(lat: -0.0005, long: -22.2),
|
51
51
|
radius: 50
|
52
52
|
)
|
53
|
-
subject.
|
53
|
+
subject.to_aixm.must_equal <<~END
|
54
54
|
<Avx>
|
55
55
|
<codeType>CWA</codeType>
|
56
56
|
<geoLat>002656.98N</geoLat>
|
@@ -14,10 +14,10 @@ describe AIXM::Component::Geometry::Point do
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
describe :
|
17
|
+
describe :to_aixm do
|
18
18
|
it "must build correct XML for N/E points" do
|
19
19
|
subject = AIXM.point(xy: AIXM.xy(lat: 11.1, long: 22.2))
|
20
|
-
subject.
|
20
|
+
subject.to_aixm.must_equal <<~END
|
21
21
|
<Avx>
|
22
22
|
<codeType>GRC</codeType>
|
23
23
|
<geoLat>110600.00N</geoLat>
|
@@ -29,7 +29,7 @@ describe AIXM::Component::Geometry::Point do
|
|
29
29
|
|
30
30
|
it "must build correct XML for S/W points" do
|
31
31
|
subject = AIXM.point(xy: AIXM.xy(lat: -11.1, long: -22.2))
|
32
|
-
subject.
|
32
|
+
subject.to_aixm.must_equal <<~END
|
33
33
|
<Avx>
|
34
34
|
<codeType>GRC</codeType>
|
35
35
|
<geoLat>110600.00S</geoLat>
|
@@ -72,7 +72,7 @@ describe AIXM::Component::Geometry do
|
|
72
72
|
end
|
73
73
|
|
74
74
|
it "must build valid XML" do
|
75
|
-
subject.
|
75
|
+
subject.to_aixm.must_equal <<~END
|
76
76
|
<Avx>
|
77
77
|
<codeType>GRC</codeType>
|
78
78
|
<geoLat>110000.00N</geoLat>
|
@@ -111,7 +111,7 @@ describe AIXM::Component::Geometry do
|
|
111
111
|
end
|
112
112
|
|
113
113
|
it "must build valid XML" do
|
114
|
-
subject.
|
114
|
+
subject.to_aixm.must_equal <<~END
|
115
115
|
<Avx>
|
116
116
|
<codeType>CWA</codeType>
|
117
117
|
<geoLat>110000.00N</geoLat>
|
@@ -156,7 +156,7 @@ describe AIXM::Component::Geometry do
|
|
156
156
|
end
|
157
157
|
|
158
158
|
it "must build valid XML" do
|
159
|
-
subject.
|
159
|
+
subject.to_aixm.must_equal <<~END
|
160
160
|
<Avx>
|
161
161
|
<codeType>FNT</codeType>
|
162
162
|
<geoLat>110000.00N</geoLat>
|
@@ -198,7 +198,7 @@ describe AIXM::Component::Geometry do
|
|
198
198
|
end
|
199
199
|
|
200
200
|
it "must build valid XML" do
|
201
|
-
subject.
|
201
|
+
subject.to_aixm.must_equal <<~END
|
202
202
|
<Avx>
|
203
203
|
<codeType>CWA</codeType>
|
204
204
|
<geoLat>110523.76N</geoLat>
|
@@ -22,10 +22,10 @@ describe AIXM::Component::Schedule do
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
describe :
|
25
|
+
describe :to_aixm do
|
26
26
|
it "must build correct XML" do
|
27
27
|
subject = AIXM.schedule(code: :continuous)
|
28
|
-
subject.
|
28
|
+
subject.to_aixm.must_equal <<~END
|
29
29
|
<codeWorkHr>H24</codeWorkHr>
|
30
30
|
END
|
31
31
|
end
|
@@ -21,13 +21,13 @@ describe AIXM::Component::VerticalLimits do
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
describe :
|
24
|
+
describe :to_aixm do
|
25
25
|
it "must build correct XML with only upper_z and lower_z" do
|
26
26
|
subject = AIXM.vertical_limits(
|
27
27
|
upper_z: AIXM.z(2000, :qnh),
|
28
28
|
lower_z: AIXM::GROUND
|
29
29
|
)
|
30
|
-
subject.
|
30
|
+
subject.to_aixm.must_equal <<~END
|
31
31
|
<codeDistVerUpper>ALT</codeDistVerUpper>
|
32
32
|
<valDistVerUpper>2000</valDistVerUpper>
|
33
33
|
<uomDistVerUpper>FT</uomDistVerUpper>
|
@@ -43,7 +43,7 @@ describe AIXM::Component::VerticalLimits do
|
|
43
43
|
lower_z: AIXM.z(1000, :qfe),
|
44
44
|
max_z: AIXM.z(6000, :qnh)
|
45
45
|
)
|
46
|
-
subject.
|
46
|
+
subject.to_aixm.must_equal <<~END
|
47
47
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
48
48
|
<valDistVerUpper>65</valDistVerUpper>
|
49
49
|
<uomDistVerUpper>FL</uomDistVerUpper>
|
@@ -62,7 +62,7 @@ describe AIXM::Component::VerticalLimits do
|
|
62
62
|
lower_z: AIXM.z(45, :qne),
|
63
63
|
min_z: AIXM.z(3000, :qnh)
|
64
64
|
)
|
65
|
-
subject.
|
65
|
+
subject.to_aixm.must_equal <<~END
|
66
66
|
<codeDistVerUpper>STD</codeDistVerUpper>
|
67
67
|
<valDistVerUpper>65</valDistVerUpper>
|
68
68
|
<uomDistVerUpper>FL</uomDistVerUpper>
|
@@ -57,7 +57,7 @@ describe AIXM::Document do
|
|
57
57
|
end
|
58
58
|
|
59
59
|
it "must build correct XML without extensions" do
|
60
|
-
subject.
|
60
|
+
subject.to_aixm.must_equal <<~"END"
|
61
61
|
<?xml version="1.0" encoding="UTF-8"?>
|
62
62
|
<AIXM-Snapshot xmlns:xsi="http://www.aixm.aero/schema/4.5/AIXM-Snapshot.xsd" version="4.5" origin="AIXM #{AIXM::VERSION} Ruby gem" created="2018-01-18T12:00:00+01:00" effective="2018-01-18T12:00:00+01:00">
|
63
63
|
<!-- Airspace: [D] POLYGON AIRSPACE -->
|
@@ -156,10 +156,10 @@ describe AIXM::Document do
|
|
156
156
|
<geoLongArc>0045300.00E</geoLongArc>
|
157
157
|
</Avx>
|
158
158
|
</Abd>
|
159
|
-
<!--
|
159
|
+
<!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
|
160
160
|
<Dpn>
|
161
161
|
<DpnUid>
|
162
|
-
<codeId>
|
162
|
+
<codeId>DDD</codeId>
|
163
163
|
<geoLat>475133.00N</geoLat>
|
164
164
|
<geoLong>0073336.00E</geoLong>
|
165
165
|
</DpnUid>
|
@@ -169,12 +169,15 @@ describe AIXM::Document do
|
|
169
169
|
<codeType>ICAO</codeType>
|
170
170
|
<valElev>500</valElev>
|
171
171
|
<uomDistVer>FT</uomDistVer>
|
172
|
+
<Dtt>
|
173
|
+
<codeWorkHr>H24</codeWorkHr>
|
174
|
+
</Dtt>
|
172
175
|
<txtRmk>designated point navaid</txtRmk>
|
173
176
|
</Dpn>
|
174
|
-
<!--
|
177
|
+
<!-- NavigationalAid: [DME] DME NAVAID -->
|
175
178
|
<Dme>
|
176
179
|
<DmeUid>
|
177
|
-
<codeId>
|
180
|
+
<codeId>MMM</codeId>
|
178
181
|
<geoLat>475133.00N</geoLat>
|
179
182
|
<geoLong>0073336.00E</geoLong>
|
180
183
|
</DmeUid>
|
@@ -184,9 +187,12 @@ describe AIXM::Document do
|
|
184
187
|
<codeDatum>WGE</codeDatum>
|
185
188
|
<valElev>500</valElev>
|
186
189
|
<uomDistVer>FT</uomDistVer>
|
190
|
+
<Dtt>
|
191
|
+
<codeWorkHr>H24</codeWorkHr>
|
192
|
+
</Dtt>
|
187
193
|
<txtRmk>dme navaid</txtRmk>
|
188
194
|
</Dme>
|
189
|
-
<!--
|
195
|
+
<!-- NavigationalAid: [Marker] MARKER NAVAID -->
|
190
196
|
<Mkr>
|
191
197
|
<MkrUid>
|
192
198
|
<codeId>---</codeId>
|
@@ -200,12 +206,15 @@ describe AIXM::Document do
|
|
200
206
|
<codeDatum>WGE</codeDatum>
|
201
207
|
<valElev>500</valElev>
|
202
208
|
<uomDistVer>FT</uomDistVer>
|
209
|
+
<Mtt>
|
210
|
+
<codeWorkHr>H24</codeWorkHr>
|
211
|
+
</Mtt>
|
203
212
|
<txtRmk>marker navaid</txtRmk>
|
204
213
|
</Mkr>
|
205
|
-
<!--
|
214
|
+
<!-- NavigationalAid: [NDB] NDB NAVAID -->
|
206
215
|
<Ndb>
|
207
216
|
<NdbUid>
|
208
|
-
<codeId>
|
217
|
+
<codeId>NNN</codeId>
|
209
218
|
<geoLat>475133.00N</geoLat>
|
210
219
|
<geoLong>0073336.00E</geoLong>
|
211
220
|
</NdbUid>
|
@@ -216,12 +225,33 @@ describe AIXM::Document do
|
|
216
225
|
<codeDatum>WGE</codeDatum>
|
217
226
|
<valElev>500</valElev>
|
218
227
|
<uomDistVer>FT</uomDistVer>
|
228
|
+
<Ntt>
|
229
|
+
<codeWorkHr>H24</codeWorkHr>
|
230
|
+
</Ntt>
|
219
231
|
<txtRmk>ndb navaid</txtRmk>
|
220
232
|
</Ndb>
|
221
|
-
<!--
|
233
|
+
<!-- NavigationalAid: [TACAN] TACAN NAVAID -->
|
234
|
+
<Tcn>
|
235
|
+
<TcnUid>
|
236
|
+
<codeId>TTT</codeId>
|
237
|
+
<geoLat>475133.00N</geoLat>
|
238
|
+
<geoLong>0073336.00E</geoLong>
|
239
|
+
</TcnUid>
|
240
|
+
<OrgUid/>
|
241
|
+
<txtName>TACAN NAVAID</txtName>
|
242
|
+
<codeChannel>29X</codeChannel>
|
243
|
+
<codeDatum>WGE</codeDatum>
|
244
|
+
<valElev>500</valElev>
|
245
|
+
<uomDistVer>FT</uomDistVer>
|
246
|
+
<Ttt>
|
247
|
+
<codeWorkHr>H24</codeWorkHr>
|
248
|
+
</Ttt>
|
249
|
+
<txtRmk>tacan navaid</txtRmk>
|
250
|
+
</Tcn>
|
251
|
+
<!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
|
222
252
|
<Vor>
|
223
253
|
<VorUid>
|
224
|
-
<codeId>
|
254
|
+
<codeId>VVV</codeId>
|
225
255
|
<geoLat>475133.00N</geoLat>
|
226
256
|
<geoLong>0073336.00E</geoLong>
|
227
257
|
</VorUid>
|
@@ -234,29 +264,126 @@ describe AIXM::Document do
|
|
234
264
|
<codeDatum>WGE</codeDatum>
|
235
265
|
<valElev>500</valElev>
|
236
266
|
<uomDistVer>FT</uomDistVer>
|
267
|
+
<Vtt>
|
268
|
+
<codeWorkHr>H24</codeWorkHr>
|
269
|
+
</Vtt>
|
237
270
|
<txtRmk>vor navaid</txtRmk>
|
238
271
|
</Vor>
|
239
|
-
<!--
|
272
|
+
<!-- NavigationalAid: [VOR:DVOR] DOPPLER-VOR NAVAID -->
|
273
|
+
<Vor>
|
274
|
+
<VorUid>
|
275
|
+
<codeId>DVV</codeId>
|
276
|
+
<geoLat>475133.00N</geoLat>
|
277
|
+
<geoLong>0073336.00E</geoLong>
|
278
|
+
</VorUid>
|
279
|
+
<OrgUid/>
|
280
|
+
<txtName>DOPPLER-VOR NAVAID</txtName>
|
281
|
+
<codeType>DVOR</codeType>
|
282
|
+
<valFreq>111</valFreq>
|
283
|
+
<uomFreq>MHZ</uomFreq>
|
284
|
+
<codeTypeNorth>TRUE</codeTypeNorth>
|
285
|
+
<codeDatum>WGE</codeDatum>
|
286
|
+
<valElev>500</valElev>
|
287
|
+
<uomDistVer>FT</uomDistVer>
|
288
|
+
<Vtt>
|
289
|
+
<codeWorkHr>H24</codeWorkHr>
|
290
|
+
</Vtt>
|
291
|
+
<txtRmk>doppler-vor navaid</txtRmk>
|
292
|
+
</Vor>
|
293
|
+
<!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
|
294
|
+
<Vor>
|
295
|
+
<VorUid>
|
296
|
+
<codeId>VDD</codeId>
|
297
|
+
<geoLat>475133.00N</geoLat>
|
298
|
+
<geoLong>0073336.00E</geoLong>
|
299
|
+
</VorUid>
|
300
|
+
<OrgUid/>
|
301
|
+
<txtName>VOR/DME NAVAID</txtName>
|
302
|
+
<codeType>VOR</codeType>
|
303
|
+
<valFreq>111</valFreq>
|
304
|
+
<uomFreq>MHZ</uomFreq>
|
305
|
+
<codeTypeNorth>TRUE</codeTypeNorth>
|
306
|
+
<codeDatum>WGE</codeDatum>
|
307
|
+
<valElev>500</valElev>
|
308
|
+
<uomDistVer>FT</uomDistVer>
|
309
|
+
<Vtt>
|
310
|
+
<codeWorkHr>H24</codeWorkHr>
|
311
|
+
</Vtt>
|
312
|
+
<txtRmk>vor/dme navaid</txtRmk>
|
313
|
+
</Vor>
|
314
|
+
<!-- NavigationalAid: [DME] VOR/DME NAVAID -->
|
315
|
+
<Dme>
|
316
|
+
<DmeUid>
|
317
|
+
<codeId>VDD</codeId>
|
318
|
+
<geoLat>475133.00N</geoLat>
|
319
|
+
<geoLong>0073336.00E</geoLong>
|
320
|
+
</DmeUid>
|
321
|
+
<OrgUid/>
|
322
|
+
<VorUid>
|
323
|
+
<codeId>VDD</codeId>
|
324
|
+
<geoLat>475133.00N</geoLat>
|
325
|
+
<geoLong>0073336.00E</geoLong>
|
326
|
+
</VorUid>
|
327
|
+
<txtName>VOR/DME NAVAID</txtName>
|
328
|
+
<codeChannel>95X</codeChannel>
|
329
|
+
<codeDatum>WGE</codeDatum>
|
330
|
+
<valElev>500</valElev>
|
331
|
+
<uomDistVer>FT</uomDistVer>
|
332
|
+
<Dtt>
|
333
|
+
<codeWorkHr>H24</codeWorkHr>
|
334
|
+
</Dtt>
|
335
|
+
<txtRmk>vor/dme navaid</txtRmk>
|
336
|
+
</Dme>
|
337
|
+
<!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
|
338
|
+
<Vor>
|
339
|
+
<VorUid>
|
340
|
+
<codeId>VTT</codeId>
|
341
|
+
<geoLat>475133.00N</geoLat>
|
342
|
+
<geoLong>0073336.00E</geoLong>
|
343
|
+
</VorUid>
|
344
|
+
<OrgUid/>
|
345
|
+
<txtName>VORTAC NAVAID</txtName>
|
346
|
+
<codeType>VOR</codeType>
|
347
|
+
<valFreq>111</valFreq>
|
348
|
+
<uomFreq>MHZ</uomFreq>
|
349
|
+
<codeTypeNorth>TRUE</codeTypeNorth>
|
350
|
+
<codeDatum>WGE</codeDatum>
|
351
|
+
<valElev>500</valElev>
|
352
|
+
<uomDistVer>FT</uomDistVer>
|
353
|
+
<Vtt>
|
354
|
+
<codeWorkHr>H24</codeWorkHr>
|
355
|
+
</Vtt>
|
356
|
+
<txtRmk>vortac navaid</txtRmk>
|
357
|
+
</Vor>
|
358
|
+
<!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
|
240
359
|
<Tcn>
|
241
360
|
<TcnUid>
|
242
|
-
<codeId>
|
361
|
+
<codeId>VTT</codeId>
|
243
362
|
<geoLat>475133.00N</geoLat>
|
244
363
|
<geoLong>0073336.00E</geoLong>
|
245
364
|
</TcnUid>
|
246
365
|
<OrgUid/>
|
247
|
-
<
|
366
|
+
<VorUid>
|
367
|
+
<codeId>VTT</codeId>
|
368
|
+
<geoLat>475133.00N</geoLat>
|
369
|
+
<geoLong>0073336.00E</geoLong>
|
370
|
+
</VorUid>
|
371
|
+
<txtName>VORTAC NAVAID</txtName>
|
248
372
|
<codeChannel>29X</codeChannel>
|
249
373
|
<codeDatum>WGE</codeDatum>
|
250
374
|
<valElev>500</valElev>
|
251
375
|
<uomDistVer>FT</uomDistVer>
|
252
|
-
<
|
376
|
+
<Ttt>
|
377
|
+
<codeWorkHr>H24</codeWorkHr>
|
378
|
+
</Ttt>
|
379
|
+
<txtRmk>vortac navaid</txtRmk>
|
253
380
|
</Tcn>
|
254
381
|
</AIXM-Snapshot>
|
255
382
|
END
|
256
383
|
end
|
257
384
|
|
258
385
|
it "must build correct XML with OFM extensions" do
|
259
|
-
subject.
|
386
|
+
subject.to_aixm(:ofm).must_equal <<~"END"
|
260
387
|
<?xml version="1.0" encoding="UTF-8"?>
|
261
388
|
<AIXM-Snapshot xmlns:xsi="http://www.aixm.aero/schema/4.5/AIXM-Snapshot.xsd" version="4.5 + OFM extensions of version 0.1" origin="AIXM #{AIXM::VERSION} Ruby gem" created="2018-01-18T12:00:00+01:00" effective="2018-01-18T12:00:00+01:00">
|
262
389
|
<!-- Airspace: [D] POLYGON AIRSPACE -->
|
@@ -360,10 +487,10 @@ describe AIXM::Document do
|
|
360
487
|
<geoLongArc>4.88333333E</geoLongArc>
|
361
488
|
</Avx>
|
362
489
|
</Abd>
|
363
|
-
<!--
|
490
|
+
<!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
|
364
491
|
<Dpn>
|
365
492
|
<DpnUid newEntity="true">
|
366
|
-
<codeId>
|
493
|
+
<codeId>DDD</codeId>
|
367
494
|
<geoLat>47.85916667N</geoLat>
|
368
495
|
<geoLong>7.56000000E</geoLong>
|
369
496
|
</DpnUid>
|
@@ -373,12 +500,15 @@ describe AIXM::Document do
|
|
373
500
|
<codeType>ICAO</codeType>
|
374
501
|
<valElev>500</valElev>
|
375
502
|
<uomDistVer>FT</uomDistVer>
|
503
|
+
<Dtt>
|
504
|
+
<codeWorkHr>H24</codeWorkHr>
|
505
|
+
</Dtt>
|
376
506
|
<txtRmk>designated point navaid</txtRmk>
|
377
507
|
</Dpn>
|
378
|
-
<!--
|
508
|
+
<!-- NavigationalAid: [DME] DME NAVAID -->
|
379
509
|
<Dme>
|
380
510
|
<DmeUid newEntity="true">
|
381
|
-
<codeId>
|
511
|
+
<codeId>MMM</codeId>
|
382
512
|
<geoLat>47.85916667N</geoLat>
|
383
513
|
<geoLong>7.56000000E</geoLong>
|
384
514
|
</DmeUid>
|
@@ -388,9 +518,12 @@ describe AIXM::Document do
|
|
388
518
|
<codeDatum>WGE</codeDatum>
|
389
519
|
<valElev>500</valElev>
|
390
520
|
<uomDistVer>FT</uomDistVer>
|
521
|
+
<Dtt>
|
522
|
+
<codeWorkHr>H24</codeWorkHr>
|
523
|
+
</Dtt>
|
391
524
|
<txtRmk>dme navaid</txtRmk>
|
392
525
|
</Dme>
|
393
|
-
<!--
|
526
|
+
<!-- NavigationalAid: [Marker] MARKER NAVAID -->
|
394
527
|
<Mkr>
|
395
528
|
<MkrUid newEntity="true">
|
396
529
|
<codeId>---</codeId>
|
@@ -404,12 +537,15 @@ describe AIXM::Document do
|
|
404
537
|
<codeDatum>WGE</codeDatum>
|
405
538
|
<valElev>500</valElev>
|
406
539
|
<uomDistVer>FT</uomDistVer>
|
540
|
+
<Mtt>
|
541
|
+
<codeWorkHr>H24</codeWorkHr>
|
542
|
+
</Mtt>
|
407
543
|
<txtRmk>marker navaid</txtRmk>
|
408
544
|
</Mkr>
|
409
|
-
<!--
|
545
|
+
<!-- NavigationalAid: [NDB] NDB NAVAID -->
|
410
546
|
<Ndb>
|
411
547
|
<NdbUid newEntity="true">
|
412
|
-
<codeId>
|
548
|
+
<codeId>NNN</codeId>
|
413
549
|
<geoLat>47.85916667N</geoLat>
|
414
550
|
<geoLong>7.56000000E</geoLong>
|
415
551
|
</NdbUid>
|
@@ -420,12 +556,33 @@ describe AIXM::Document do
|
|
420
556
|
<codeDatum>WGE</codeDatum>
|
421
557
|
<valElev>500</valElev>
|
422
558
|
<uomDistVer>FT</uomDistVer>
|
559
|
+
<Ntt>
|
560
|
+
<codeWorkHr>H24</codeWorkHr>
|
561
|
+
</Ntt>
|
423
562
|
<txtRmk>ndb navaid</txtRmk>
|
424
563
|
</Ndb>
|
425
|
-
<!--
|
564
|
+
<!-- NavigationalAid: [TACAN] TACAN NAVAID -->
|
565
|
+
<Tcn>
|
566
|
+
<TcnUid newEntity="true">
|
567
|
+
<codeId>TTT</codeId>
|
568
|
+
<geoLat>47.85916667N</geoLat>
|
569
|
+
<geoLong>7.56000000E</geoLong>
|
570
|
+
</TcnUid>
|
571
|
+
<OrgUid/>
|
572
|
+
<txtName>TACAN NAVAID</txtName>
|
573
|
+
<codeChannel>29X</codeChannel>
|
574
|
+
<codeDatum>WGE</codeDatum>
|
575
|
+
<valElev>500</valElev>
|
576
|
+
<uomDistVer>FT</uomDistVer>
|
577
|
+
<Ttt>
|
578
|
+
<codeWorkHr>H24</codeWorkHr>
|
579
|
+
</Ttt>
|
580
|
+
<txtRmk>tacan navaid</txtRmk>
|
581
|
+
</Tcn>
|
582
|
+
<!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
|
426
583
|
<Vor>
|
427
584
|
<VorUid newEntity="true">
|
428
|
-
<codeId>
|
585
|
+
<codeId>VVV</codeId>
|
429
586
|
<geoLat>47.85916667N</geoLat>
|
430
587
|
<geoLong>7.56000000E</geoLong>
|
431
588
|
</VorUid>
|
@@ -438,22 +595,119 @@ describe AIXM::Document do
|
|
438
595
|
<codeDatum>WGE</codeDatum>
|
439
596
|
<valElev>500</valElev>
|
440
597
|
<uomDistVer>FT</uomDistVer>
|
598
|
+
<Vtt>
|
599
|
+
<codeWorkHr>H24</codeWorkHr>
|
600
|
+
</Vtt>
|
441
601
|
<txtRmk>vor navaid</txtRmk>
|
442
602
|
</Vor>
|
443
|
-
<!--
|
603
|
+
<!-- NavigationalAid: [VOR:DVOR] DOPPLER-VOR NAVAID -->
|
604
|
+
<Vor>
|
605
|
+
<VorUid newEntity="true">
|
606
|
+
<codeId>DVV</codeId>
|
607
|
+
<geoLat>47.85916667N</geoLat>
|
608
|
+
<geoLong>7.56000000E</geoLong>
|
609
|
+
</VorUid>
|
610
|
+
<OrgUid/>
|
611
|
+
<txtName>DOPPLER-VOR NAVAID</txtName>
|
612
|
+
<codeType>DVOR</codeType>
|
613
|
+
<valFreq>111</valFreq>
|
614
|
+
<uomFreq>MHZ</uomFreq>
|
615
|
+
<codeTypeNorth>TRUE</codeTypeNorth>
|
616
|
+
<codeDatum>WGE</codeDatum>
|
617
|
+
<valElev>500</valElev>
|
618
|
+
<uomDistVer>FT</uomDistVer>
|
619
|
+
<Vtt>
|
620
|
+
<codeWorkHr>H24</codeWorkHr>
|
621
|
+
</Vtt>
|
622
|
+
<txtRmk>doppler-vor navaid</txtRmk>
|
623
|
+
</Vor>
|
624
|
+
<!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
|
625
|
+
<Vor>
|
626
|
+
<VorUid newEntity="true">
|
627
|
+
<codeId>VDD</codeId>
|
628
|
+
<geoLat>47.85916667N</geoLat>
|
629
|
+
<geoLong>7.56000000E</geoLong>
|
630
|
+
</VorUid>
|
631
|
+
<OrgUid/>
|
632
|
+
<txtName>VOR/DME NAVAID</txtName>
|
633
|
+
<codeType>VOR</codeType>
|
634
|
+
<valFreq>111</valFreq>
|
635
|
+
<uomFreq>MHZ</uomFreq>
|
636
|
+
<codeTypeNorth>TRUE</codeTypeNorth>
|
637
|
+
<codeDatum>WGE</codeDatum>
|
638
|
+
<valElev>500</valElev>
|
639
|
+
<uomDistVer>FT</uomDistVer>
|
640
|
+
<Vtt>
|
641
|
+
<codeWorkHr>H24</codeWorkHr>
|
642
|
+
</Vtt>
|
643
|
+
<txtRmk>vor/dme navaid</txtRmk>
|
644
|
+
</Vor>
|
645
|
+
<!-- NavigationalAid: [DME] VOR/DME NAVAID -->
|
646
|
+
<Dme>
|
647
|
+
<DmeUid newEntity="true">
|
648
|
+
<codeId>VDD</codeId>
|
649
|
+
<geoLat>47.85916667N</geoLat>
|
650
|
+
<geoLong>7.56000000E</geoLong>
|
651
|
+
</DmeUid>
|
652
|
+
<OrgUid/>
|
653
|
+
<VorUid newEntity="true">
|
654
|
+
<codeId>VDD</codeId>
|
655
|
+
<geoLat>47.85916667N</geoLat>
|
656
|
+
<geoLong>7.56000000E</geoLong>
|
657
|
+
</VorUid>
|
658
|
+
<txtName>VOR/DME NAVAID</txtName>
|
659
|
+
<codeChannel>95X</codeChannel>
|
660
|
+
<codeDatum>WGE</codeDatum>
|
661
|
+
<valElev>500</valElev>
|
662
|
+
<uomDistVer>FT</uomDistVer>
|
663
|
+
<Dtt>
|
664
|
+
<codeWorkHr>H24</codeWorkHr>
|
665
|
+
</Dtt>
|
666
|
+
<txtRmk>vor/dme navaid</txtRmk>
|
667
|
+
</Dme>
|
668
|
+
<!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
|
669
|
+
<Vor>
|
670
|
+
<VorUid newEntity="true">
|
671
|
+
<codeId>VTT</codeId>
|
672
|
+
<geoLat>47.85916667N</geoLat>
|
673
|
+
<geoLong>7.56000000E</geoLong>
|
674
|
+
</VorUid>
|
675
|
+
<OrgUid/>
|
676
|
+
<txtName>VORTAC NAVAID</txtName>
|
677
|
+
<codeType>VOR</codeType>
|
678
|
+
<valFreq>111</valFreq>
|
679
|
+
<uomFreq>MHZ</uomFreq>
|
680
|
+
<codeTypeNorth>TRUE</codeTypeNorth>
|
681
|
+
<codeDatum>WGE</codeDatum>
|
682
|
+
<valElev>500</valElev>
|
683
|
+
<uomDistVer>FT</uomDistVer>
|
684
|
+
<Vtt>
|
685
|
+
<codeWorkHr>H24</codeWorkHr>
|
686
|
+
</Vtt>
|
687
|
+
<txtRmk>vortac navaid</txtRmk>
|
688
|
+
</Vor>
|
689
|
+
<!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
|
444
690
|
<Tcn>
|
445
691
|
<TcnUid newEntity="true">
|
446
|
-
<codeId>
|
692
|
+
<codeId>VTT</codeId>
|
447
693
|
<geoLat>47.85916667N</geoLat>
|
448
694
|
<geoLong>7.56000000E</geoLong>
|
449
695
|
</TcnUid>
|
450
696
|
<OrgUid/>
|
451
|
-
<
|
697
|
+
<VorUid newEntity="true">
|
698
|
+
<codeId>VTT</codeId>
|
699
|
+
<geoLat>47.85916667N</geoLat>
|
700
|
+
<geoLong>7.56000000E</geoLong>
|
701
|
+
</VorUid>
|
702
|
+
<txtName>VORTAC NAVAID</txtName>
|
452
703
|
<codeChannel>29X</codeChannel>
|
453
704
|
<codeDatum>WGE</codeDatum>
|
454
705
|
<valElev>500</valElev>
|
455
706
|
<uomDistVer>FT</uomDistVer>
|
456
|
-
<
|
707
|
+
<Ttt>
|
708
|
+
<codeWorkHr>H24</codeWorkHr>
|
709
|
+
</Ttt>
|
710
|
+
<txtRmk>vortac navaid</txtRmk>
|
457
711
|
</Tcn>
|
458
712
|
</AIXM-Snapshot>
|
459
713
|
END
|