aixm 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -7,11 +7,24 @@ describe AIXM::Feature::NavigationalAid::TACAN do
7
7
 
8
8
  describe :channel= do
9
9
  it "fails on invalid values" do
10
- [nil, :foobar, 123].wont_be_written_to subject, :channel
10
+ [nil, :foobar, 123, '0X', '127Y', '12Z'].wont_be_written_to subject, :channel
11
11
  end
12
+ end
12
13
 
13
- it "upcases value" do
14
- subject.tap { |s| s.channel = '3x' }.channel.must_equal '3X'
14
+ describe :ghost_f do
15
+ it "must be derived from the channel" do
16
+ subject.tap { |s| s.channel = '1X' }.ghost_f.freq.must_equal 134.4
17
+ subject.tap { |s| s.channel = '12Y' }.ghost_f.freq.must_equal 135.55
18
+ subject.tap { |s| s.channel = '16Y' }.ghost_f.freq.must_equal 135.95
19
+ subject.tap { |s| s.channel = '17X' }.ghost_f.freq.must_equal 108
20
+ subject.tap { |s| s.channel = '30X' }.ghost_f.freq.must_equal 109.3
21
+ subject.tap { |s| s.channel = '59Y' }.ghost_f.freq.must_equal 112.25
22
+ subject.tap { |s| s.channel = '60X' }.ghost_f.freq.must_equal 133.3
23
+ subject.tap { |s| s.channel = '64Y' }.ghost_f.freq.must_equal 133.75
24
+ subject.tap { |s| s.channel = '69Y' }.ghost_f.freq.must_equal 134.25
25
+ subject.tap { |s| s.channel = '70X' }.ghost_f.freq.must_equal 112.30
26
+ subject.tap { |s| s.channel = '100X' }.ghost_f.freq.must_equal 115.3
27
+ subject.tap { |s| s.channel = '126Y' }.ghost_f.freq.must_equal 117.95
15
28
  end
16
29
  end
17
30
 
@@ -27,16 +40,18 @@ describe AIXM::Feature::NavigationalAid::TACAN do
27
40
  subject.to_xml.must_equal <<~END
28
41
  <!-- NavigationalAid: [TACAN] TACAN NAVAID -->
29
42
  <Tcn source="LF|GEN|0.0 FACTORY|0|0">
30
- <TcnUid region="LF">
43
+ <TcnUid>
31
44
  <codeId>TTT</codeId>
32
45
  <geoLat>47.85916667N</geoLat>
33
46
  <geoLong>007.56000000E</geoLong>
34
47
  </TcnUid>
35
- <OrgUid region="LF">
48
+ <OrgUid>
36
49
  <txtName>FRANCE</txtName>
37
50
  </OrgUid>
38
51
  <txtName>TACAN NAVAID</txtName>
39
52
  <codeChannel>29X</codeChannel>
53
+ <valGhostFreq>109.2</valGhostFreq>
54
+ <uomGhostFreq>MHZ</uomGhostFreq>
40
55
  <codeDatum>WGE</codeDatum>
41
56
  <valElev>500</valElev>
42
57
  <uomDistVer>FT</uomDistVer>
@@ -54,15 +69,17 @@ describe AIXM::Feature::NavigationalAid::TACAN do
54
69
  subject.to_xml.must_equal <<~END
55
70
  <!-- NavigationalAid: [TACAN] UNNAMED -->
56
71
  <Tcn source="LF|GEN|0.0 FACTORY|0|0">
57
- <TcnUid region="LF">
72
+ <TcnUid>
58
73
  <codeId>TTT</codeId>
59
74
  <geoLat>47.85916667N</geoLat>
60
75
  <geoLong>007.56000000E</geoLong>
61
76
  </TcnUid>
62
- <OrgUid region="LF">
77
+ <OrgUid>
63
78
  <txtName>FRANCE</txtName>
64
79
  </OrgUid>
65
80
  <codeChannel>29X</codeChannel>
81
+ <valGhostFreq>109.2</valGhostFreq>
82
+ <uomGhostFreq>MHZ</uomGhostFreq>
66
83
  <codeDatum>WGE</codeDatum>
67
84
  </Tcn>
68
85
  END
@@ -50,12 +50,12 @@ describe AIXM::Feature::NavigationalAid::VOR do
50
50
  subject.to_xml.must_equal <<~END
51
51
  <!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
52
52
  <Vor source="LF|GEN|0.0 FACTORY|0|0">
53
- <VorUid region="LF">
53
+ <VorUid>
54
54
  <codeId>VVV</codeId>
55
55
  <geoLat>47.85916667N</geoLat>
56
56
  <geoLong>007.56000000E</geoLong>
57
57
  </VorUid>
58
- <OrgUid region="LF">
58
+ <OrgUid>
59
59
  <txtName>FRANCE</txtName>
60
60
  </OrgUid>
61
61
  <txtName>VOR NAVAID</txtName>
@@ -80,12 +80,12 @@ describe AIXM::Feature::NavigationalAid::VOR do
80
80
  subject.to_xml.must_equal <<~END
81
81
  <!-- NavigationalAid: [VOR:VOR] UNNAMED -->
82
82
  <Vor source="LF|GEN|0.0 FACTORY|0|0">
83
- <VorUid region="LF">
83
+ <VorUid>
84
84
  <codeId>VVV</codeId>
85
85
  <geoLat>47.85916667N</geoLat>
86
86
  <geoLong>007.56000000E</geoLong>
87
87
  </VorUid>
88
- <OrgUid region="LF">
88
+ <OrgUid>
89
89
  <txtName>FRANCE</txtName>
90
90
  </OrgUid>
91
91
  <codeType>VOR</codeType>
@@ -120,12 +120,12 @@ describe AIXM::Feature::NavigationalAid::VOR do
120
120
  subject.to_xml.must_equal <<~END
121
121
  <!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
122
122
  <Vor source="LF|GEN|0.0 FACTORY|0|0">
123
- <VorUid region="LF">
123
+ <VorUid>
124
124
  <codeId>VVV</codeId>
125
125
  <geoLat>47.85916667N</geoLat>
126
126
  <geoLong>007.56000000E</geoLong>
127
127
  </VorUid>
128
- <OrgUid region="LF">
128
+ <OrgUid>
129
129
  <txtName>FRANCE</txtName>
130
130
  </OrgUid>
131
131
  <txtName>VOR/DME NAVAID</txtName>
@@ -143,15 +143,15 @@ describe AIXM::Feature::NavigationalAid::VOR do
143
143
  </Vor>
144
144
  <!-- NavigationalAid: [DME] VOR/DME NAVAID -->
145
145
  <Dme>
146
- <DmeUid region="LF">
146
+ <DmeUid>
147
147
  <codeId>VVV</codeId>
148
148
  <geoLat>47.85916667N</geoLat>
149
149
  <geoLong>007.56000000E</geoLong>
150
150
  </DmeUid>
151
- <OrgUid region="LF">
151
+ <OrgUid>
152
152
  <txtName>FRANCE</txtName>
153
153
  </OrgUid>
154
- <VorUid region="LF">
154
+ <VorUid>
155
155
  <codeId>VVV</codeId>
156
156
  <geoLat>47.85916667N</geoLat>
157
157
  <geoLong>007.56000000E</geoLong>
@@ -192,12 +192,12 @@ describe AIXM::Feature::NavigationalAid::VOR do
192
192
  subject.to_xml.must_equal <<~END
193
193
  <!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
194
194
  <Vor source="LF|GEN|0.0 FACTORY|0|0">
195
- <VorUid region="LF">
195
+ <VorUid>
196
196
  <codeId>VVV</codeId>
197
197
  <geoLat>47.85916667N</geoLat>
198
198
  <geoLong>007.56000000E</geoLong>
199
199
  </VorUid>
200
- <OrgUid region="LF">
200
+ <OrgUid>
201
201
  <txtName>FRANCE</txtName>
202
202
  </OrgUid>
203
203
  <txtName>VORTAC NAVAID</txtName>
@@ -215,15 +215,15 @@ describe AIXM::Feature::NavigationalAid::VOR do
215
215
  </Vor>
216
216
  <!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
217
217
  <Tcn>
218
- <TcnUid region="LF">
218
+ <TcnUid>
219
219
  <codeId>VVV</codeId>
220
220
  <geoLat>47.85916667N</geoLat>
221
221
  <geoLong>007.56000000E</geoLong>
222
222
  </TcnUid>
223
- <OrgUid region="LF">
223
+ <OrgUid>
224
224
  <txtName>FRANCE</txtName>
225
225
  </OrgUid>
226
- <VorUid region="LF">
226
+ <VorUid>
227
227
  <codeId>VVV</codeId>
228
228
  <geoLat>47.85916667N</geoLat>
229
229
  <geoLong>007.56000000E</geoLong>
@@ -50,7 +50,7 @@ describe AIXM::Feature::Organisation do
50
50
  subject.to_xml.must_equal <<~END
51
51
  <!-- Organisation: FRANCE -->
52
52
  <Org source="LF|GEN|0.0 FACTORY|0|0">
53
- <OrgUid region="LF">
53
+ <OrgUid>
54
54
  <txtName>FRANCE</txtName>
55
55
  </OrgUid>
56
56
  <codeId>LF</codeId>
@@ -66,7 +66,7 @@ describe AIXM::Feature::Organisation do
66
66
  subject.to_xml.must_equal <<~END
67
67
  <!-- Organisation: FRANCE -->
68
68
  <Org source="LF|GEN|0.0 FACTORY|0|0">
69
- <OrgUid region="LF">
69
+ <OrgUid>
70
70
  <txtName>FRANCE</txtName>
71
71
  </OrgUid>
72
72
  <codeType>S</codeType>
@@ -72,13 +72,13 @@ describe AIXM::Feature::Unit do
72
72
  subject.to_xml.must_equal <<~END
73
73
  <!-- Unit: PUJAUT TWR -->
74
74
  <Uni source="LF|GEN|0.0 FACTORY|0|0">
75
- <UniUid region="LF">
75
+ <UniUid>
76
76
  <txtName>PUJAUT TWR</txtName>
77
77
  </UniUid>
78
- <OrgUid region="LF">
78
+ <OrgUid>
79
79
  <txtName>FRANCE</txtName>
80
80
  </OrgUid>
81
- <AhpUid region="LF">
81
+ <AhpUid>
82
82
  <codeId>LFNT</codeId>
83
83
  </AhpUid>
84
84
  <codeType>TWR</codeType>
@@ -87,7 +87,7 @@ describe AIXM::Feature::Unit do
87
87
  </Uni>
88
88
  <Ser>
89
89
  <SerUid>
90
- <UniUid region="LF">
90
+ <UniUid>
91
91
  <txtName>PUJAUT TWR</txtName>
92
92
  </UniUid>
93
93
  <codeType>AFIS</codeType>
@@ -101,7 +101,7 @@ describe AIXM::Feature::Unit do
101
101
  <Fqy>
102
102
  <FqyUid>
103
103
  <SerUid>
104
- <UniUid region="LF">
104
+ <UniUid>
105
105
  <txtName>PUJAUT TWR</txtName>
106
106
  </UniUid>
107
107
  <codeType>AFIS</codeType>
@@ -126,7 +126,7 @@ describe AIXM::Feature::Unit do
126
126
  </Fqy>
127
127
  <Ser>
128
128
  <SerUid>
129
- <UniUid region="LF">
129
+ <UniUid>
130
130
  <txtName>PUJAUT TWR</txtName>
131
131
  </UniUid>
132
132
  <codeType>AFIS</codeType>
@@ -140,7 +140,7 @@ describe AIXM::Feature::Unit do
140
140
  <Fqy>
141
141
  <FqyUid>
142
142
  <SerUid>
143
- <UniUid region="LF">
143
+ <UniUid>
144
144
  <txtName>PUJAUT TWR</txtName>
145
145
  </UniUid>
146
146
  <codeType>AFIS</codeType>
@@ -165,7 +165,7 @@ describe AIXM::Feature::Unit do
165
165
  </Fqy>
166
166
  <Ser>
167
167
  <SerUid>
168
- <UniUid region="LF">
168
+ <UniUid>
169
169
  <txtName>PUJAUT TWR</txtName>
170
170
  </UniUid>
171
171
  <codeType>APP</codeType>
@@ -179,7 +179,7 @@ describe AIXM::Feature::Unit do
179
179
  <Fqy>
180
180
  <FqyUid>
181
181
  <SerUid>
182
- <UniUid region="LF">
182
+ <UniUid>
183
183
  <txtName>PUJAUT TWR</txtName>
184
184
  </UniUid>
185
185
  <codeType>APP</codeType>
@@ -212,10 +212,10 @@ describe AIXM::Feature::Unit do
212
212
  subject.to_xml.must_equal <<~END
213
213
  <!-- Unit: PUJAUT TWR -->
214
214
  <Uni source="LF|GEN|0.0 FACTORY|0|0">
215
- <UniUid region="LF">
215
+ <UniUid>
216
216
  <txtName>PUJAUT TWR</txtName>
217
217
  </UniUid>
218
- <OrgUid region="LF">
218
+ <OrgUid>
219
219
  <txtName>FRANCE</txtName>
220
220
  </OrgUid>
221
221
  <codeType>TWR</codeType>
@@ -15,26 +15,6 @@ describe AIXM::Feature do
15
15
  end
16
16
  end
17
17
 
18
- describe :region= do
19
- it "fails on invalid values" do
20
- -> { subject.region = 123 }.must_raise ArgumentError
21
- end
22
-
23
- it "accepts nil value" do
24
- subject.tap { |s| s.region = nil }.region.must_be_nil
25
- end
26
-
27
- it "upcases value" do
28
- subject.tap { |s| s.region = 'lol' }.region.must_equal 'LOL'
29
- end
30
-
31
- it "falls back to configuration default" do
32
- AIXM.config.region = 'foo'
33
- subject.region.must_equal 'FOO'
34
- AIXM.config.region = nil
35
- end
36
- end
37
-
38
18
  describe :== do
39
19
  it "recognizes features with identical UID as equal" do
40
20
  a = AIXM::Factory.organisation
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aixm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Schwyn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-12 00:00:00.000000000 Z
11
+ date: 2018-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -206,6 +206,8 @@ files:
206
206
  - schemas/aixm/4.5/AIXM-DataTypes.xsd
207
207
  - schemas/aixm/4.5/AIXM-Features.xsd
208
208
  - schemas/aixm/4.5/AIXM-Snapshot.xsd
209
+ - schemas/ofmx/0/OFMX-CSV-Obstacle.json
210
+ - schemas/ofmx/0/OFMX-CSV.json
209
211
  - schemas/ofmx/0/OFMX-DataTypes.xsd
210
212
  - schemas/ofmx/0/OFMX-Features.xsd
211
213
  - schemas/ofmx/0/OFMX-Snapshot.xsd