aixm 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 273c3a151ac0b4c91488692c47918ba3ca36e044e4d1392ba48b98d2ad45f08e
4
- data.tar.gz: 4dca28d512bd61ea981ea7e24889e6796b5eeab8ee950e7859bb4b6604848d50
3
+ metadata.gz: cf1e96e454dba0f43522ac3f8253c34a4f5b209498b410449521b2f9f935f624
4
+ data.tar.gz: ad46225ec28030c43792f854bf1b1bfe4197217c5d45a5400a1e1f74ffa3c2ca
5
5
  SHA512:
6
- metadata.gz: 87471ca95b1590688987f08d7c40c910f63395cb2ab109947acd8be0d28ad704e4a7ff82facb3c510253349dc083de93866f91cc9f750472ef8782019f36a628
7
- data.tar.gz: f1004c94f130cdb333863701746b20eaa23fd36e7ddabfc60c37ad156d49c1f30753663bdcc2a32a60cc8ff3d462f6ad8b23ec649d0d0a4be4d9e3a1bb322463
6
+ metadata.gz: 672feb31e6a816e8d9c38a2f491833464d669c58f1ccec81ef776f449a3573eea31a263b822e1a88f70f80ea8864865f3c4127df16433f3d5d66430e6b6df93f
7
+ data.tar.gz: 81b8b9e9dcd1cf088607380915adaa08cac8a43b4837fe124f47ef81dc4a2de428f5babfb6e64efe6c14961652bbf60c0242c3fd56bcc8c1974aa1bc97b9afb1
@@ -1,18 +1,27 @@
1
+ ## 0.2.3
2
+
3
+ * Breaking minor changes:
4
+ * VOR types renamed from :vor to :conventional and :doppler_vor to :doppler
5
+ * NBR types added
6
+ * Marker types added
7
+ * Minor changes:
8
+ * "mid" attributes on all navigational aid features
9
+
1
10
  ## 0.2.2
2
11
 
3
12
  * Minor changes:
4
- * Fix bad error classes
13
+ * Bad error classes fixed
5
14
  * Allow navigational aids without name
6
15
 
7
16
  ## 0.2.1
8
17
 
9
18
  * Major changes:
10
- * Fix DVOR and VORDME confusion
11
- * Add schedule to navigational aids
19
+ * DVOR and VORDME confusion fixed
20
+ * Schedule added to navigational aids
12
21
  * VOR can be associated with DME (-> VOR/DME) or TACAN (-> VORTAC) now
13
- * `to_xml` has been renamed to `to_aixm` everywhere
22
+ * `to_xml` renamed to `to_aixm` everywhere
14
23
  * Minor changes:
15
- * Remove :other from all value lists
24
+ * Removed :other from all value lists
16
25
 
17
26
  ## 0.2.0
18
27
 
data/README.md CHANGED
@@ -138,6 +138,7 @@ ndb = AIXM.ndb(
138
138
  name: String
139
139
  xy: AIXM.xy
140
140
  z: AIXM.z or nil
141
+ type: :en_route, :locator or :marine
141
142
  f: AIXM.f
142
143
  )
143
144
  ndb.schedule = AIXM.schedule
@@ -155,6 +156,7 @@ marker = AIXM.marker(
155
156
  name: String
156
157
  xy: AIXM.xy
157
158
  z: AIXM.z or nil
159
+ type: :outer, :middle, :inner or :backcourse
158
160
  )
159
161
  marker.schedule = AIXM.schedule
160
162
  marker.remarks = String
@@ -182,7 +184,7 @@ vor = AIXM.vor(
182
184
  name: String
183
185
  xy: AIXM.xy
184
186
  z: AIXM.z or nil
185
- type: :vor or :doppler_vor
187
+ type: :conventional or :doppler
186
188
  f: AIXM.f
187
189
  north: :geographic or :grid or :magnetic
188
190
  )
@@ -46,7 +46,7 @@ module AIXM
46
46
  # Render UID markup
47
47
  def to_uid(*extensions)
48
48
  builder = Builder::XmlMarkup.new(indent: 2)
49
- builder.DpnUid({ newEntity: (true if extensions >> :ofm) }.compact) do |dpnuid|
49
+ builder.DpnUid({ mid: to_digest, newEntity: (true if extensions >> :ofm) }.compact) do |dpnuid|
50
50
  dpnuid.codeId(id)
51
51
  dpnuid.geoLat(xy.lat(format_for(*extensions)))
52
52
  dpnuid.geoLong(xy.long(format_for(*extensions)))
@@ -39,7 +39,7 @@ module AIXM
39
39
  # Render UID markup
40
40
  def to_uid(*extensions)
41
41
  builder = Builder::XmlMarkup.new(indent: 2)
42
- builder.DmeUid({ newEntity: (true if extensions >> :ofm) }.compact) do |dmeuid|
42
+ builder.DmeUid({ mid: to_digest, newEntity: (true if extensions >> :ofm) }.compact) do |dmeuid|
43
43
  dmeuid.codeId(id)
44
44
  dmeuid.geoLat(xy.lat(format_for(*extensions)))
45
45
  dmeuid.geoLong(xy.long(format_for(*extensions)))
@@ -5,23 +5,47 @@ module AIXM
5
5
  ##
6
6
  # Marker (marker beacons) operate on 75 MHz.
7
7
  #
8
+ # Types:
9
+ # * +:outer+ (+:O+) - outer marker
10
+ # * +:middle+ (+:M+) - middle marker
11
+ # * +:inner+ (+:I+) - inner marker
12
+ # * +:backcourse+ (+:C+) - backcourse marker
13
+ #
8
14
  # https://en.wikipedia.org/wiki/Marker_beacon
9
15
  class Marker < Base
10
16
  using AIXM::Refinements
11
17
 
18
+ TYPES = {
19
+ O: :outer,
20
+ M: :middle,
21
+ I: :inner,
22
+ C: :backcourse
23
+ }
24
+
25
+ attr_reader :type
26
+
12
27
  public_class_method :new
13
28
 
14
29
  # TODO: Marker require an associated ILS
15
- def initialize(**args)
30
+ def initialize(id:, name:, xy:, z: nil, type:)
31
+ super(id: id, name: name, xy: xy, z: z)
32
+ self.type = type
16
33
  warn("WARNING: Maker is not fully implemented yet due to the lack of ILS")
17
- super
34
+ end
35
+
36
+ def type=(value)
37
+ @type = TYPES.lookup(value&.to_sym, nil) || fail(ArgumentError, "invalid type")
38
+ end
39
+
40
+ def type_key
41
+ TYPES.key(type)
18
42
  end
19
43
 
20
44
  ##
21
45
  # Render UID markup
22
46
  def to_uid(*extensions)
23
47
  builder = Builder::XmlMarkup.new(indent: 2)
24
- builder.MkrUid({ newEntity: (true if extensions >> :ofm) }.compact) do |mkruid|
48
+ builder.MkrUid({ mid: to_digest, newEntity: (true if extensions >> :ofm) }.compact) do |mkruid|
25
49
  mkruid.codeId(id)
26
50
  mkruid.geoLat(xy.lat(format_for(*extensions)))
27
51
  mkruid.geoLong(xy.long(format_for(*extensions)))
@@ -35,6 +59,7 @@ module AIXM
35
59
  builder.Mkr do |mkr|
36
60
  mkr << to_uid(*extensions).indent(2)
37
61
  mkr.OrgUid
62
+ mkr.codePsnIls(type_key.to_s)
38
63
  mkr.valFreq(75)
39
64
  mkr.uomFreq('MHZ')
40
65
  mkr.txtName(name) if name
@@ -6,17 +6,36 @@ module AIXM
6
6
  # NDB (non-directional beacon) operate in the frequency band between
7
7
  # 190 kHz and 1750 kHz.
8
8
  #
9
+ # Types:
10
+ # * +:en_route+ (+:B+) - high powered NDB
11
+ # * +:locator+ (+:L+) - locator (low powered NDB)
12
+ # * +:marine+ (+:M+) - marine beacon
13
+ #
9
14
  # https://en.wikipedia.org/wiki/Non-directional_beacon
10
15
  class NDB < Base
11
16
  using AIXM::Refinements
12
17
 
13
- attr_reader :f
18
+ TYPES = {
19
+ B: :en_route,
20
+ L: :locator,
21
+ M: :marine
22
+ }.freeze
23
+
24
+ attr_reader :type, :f
14
25
 
15
26
  public_class_method :new
16
27
 
17
- def initialize(id:, name:, xy:, z: nil, f:)
28
+ def initialize(id:, name:, xy:, z: nil, type:, f:)
18
29
  super(id: id, name: name, xy: xy, z: z)
19
- self.f = f
30
+ self.type, self.f = type, f
31
+ end
32
+
33
+ def type=(value)
34
+ @type = TYPES.lookup(value&.to_sym, nil) || fail(ArgumentError, "invalid type")
35
+ end
36
+
37
+ def type_key
38
+ TYPES.key(type)
20
39
  end
21
40
 
22
41
  def f=(value)
@@ -34,7 +53,7 @@ module AIXM
34
53
  # Render UID markup
35
54
  def to_uid(*extensions)
36
55
  builder = Builder::XmlMarkup.new(indent: 2)
37
- builder.NdbUid({ newEntity: (true if extensions >> :ofm) }.compact) do |ndbuid|
56
+ builder.NdbUid({ mid: to_digest, newEntity: (true if extensions >> :ofm) }.compact) do |ndbuid|
38
57
  ndbuid.codeId(id)
39
58
  ndbuid.geoLat(xy.lat(format_for(*extensions)))
40
59
  ndbuid.geoLong(xy.long(format_for(*extensions)))
@@ -51,6 +70,7 @@ module AIXM
51
70
  ndb.txtName(name) if name
52
71
  ndb.valFreq(f.freq.trim)
53
72
  ndb.uomFreq(f.unit.upcase.to_s)
73
+ ndb.codeClass(type_key.to_s)
54
74
  ndb.codeDatum('WGE')
55
75
  if z
56
76
  ndb.valElev(z.alt)
@@ -17,7 +17,7 @@ module AIXM
17
17
  # Render UID markup
18
18
  def to_uid(*extensions)
19
19
  builder = Builder::XmlMarkup.new(indent: 2)
20
- builder.TcnUid({ newEntity: (true if extensions >> :ofm) }.compact) do |tcnuid|
20
+ builder.TcnUid({ mid: to_digest, newEntity: (true if extensions >> :ofm) }.compact) do |tcnuid|
21
21
  tcnuid.codeId(id)
22
22
  tcnuid.geoLat(xy.lat(format_for(*extensions)))
23
23
  tcnuid.geoLong(xy.long(format_for(*extensions)))
@@ -7,7 +7,7 @@ module AIXM
7
7
  # 108.00 Mhz to 117.95 MHz. Two type of VORs exist:
8
8
  #
9
9
  # Types:
10
- # * +:vor+ (+:VOR+) - standard VOR
10
+ # * +:vor+ (+:VOR+) - conventional VOR (also known as CVOR)
11
11
  # * +:doppler_vor+ (+:DVOR+) - Doppler VOR
12
12
  #
13
13
  # North types:
@@ -22,8 +22,8 @@ module AIXM
22
22
  using AIXM::Refinements
23
23
 
24
24
  TYPES = {
25
- VOR: :vor,
26
- DVOR: :doppler_vor
25
+ VOR: :conventional,
26
+ DVOR: :doppler
27
27
  }.freeze
28
28
 
29
29
  NORTHS = {
@@ -90,7 +90,7 @@ module AIXM
90
90
  # Render UID markup
91
91
  def to_uid(*extensions)
92
92
  builder = Builder::XmlMarkup.new(indent: 2)
93
- builder.VorUid({ newEntity: (true if extensions >> :ofm) }.compact) do |voruid|
93
+ builder.VorUid({ mid: to_digest, newEntity: (true if extensions >> :ofm) }.compact) do |voruid|
94
94
  voruid.codeId(id)
95
95
  voruid.geoLat(xy.lat(format_for(*extensions)))
96
96
  voruid.geoLong(xy.long(format_for(*extensions)))
@@ -1,3 +1,3 @@
1
1
  module AIXM
2
- VERSION = "0.2.2".freeze
2
+ VERSION = "0.2.3".freeze
3
3
  end
@@ -105,7 +105,8 @@ module AIXM
105
105
  id: '---',
106
106
  name: 'MARKER NAVAID',
107
107
  xy: AIXM.xy(lat: %q(47°51'33"N), long: %q(007°33'36"E)),
108
- z: AIXM.z(500, :qnh)
108
+ z: AIXM.z(500, :qnh),
109
+ type: :outer
109
110
  ).tap do |marker|
110
111
  marker.schedule = AIXM::H24
111
112
  marker.remarks = 'marker navaid'
@@ -118,6 +119,7 @@ module AIXM
118
119
  name: 'NDB NAVAID',
119
120
  xy: AIXM.xy(lat: %q(47°51'33"N), long: %q(007°33'36"E)),
120
121
  z: AIXM.z(500, :qnh),
122
+ type: :en_route,
121
123
  f: AIXM.f(555, :khz)
122
124
  ).tap do |ndb|
123
125
  ndb.schedule = AIXM::H24
@@ -144,7 +146,7 @@ module AIXM
144
146
  name: 'VOR NAVAID',
145
147
  xy: AIXM.xy(lat: %q(47°51'33"N), long: %q(007°33'36"E)),
146
148
  z: AIXM.z(500, :qnh),
147
- type: :vor,
149
+ type: :conventional,
148
150
  f: AIXM.f(111, :mhz),
149
151
  north: :geographic
150
152
  ).tap do |vor|
@@ -153,28 +155,13 @@ module AIXM
153
155
  end
154
156
  end
155
157
 
156
- def dvor
157
- AIXM.vor(
158
- id: 'DVV',
159
- name: 'DOPPLER-VOR NAVAID',
160
- xy: AIXM.xy(lat: %q(47°51'33"N), long: %q(007°33'36"E)),
161
- z: AIXM.z(500, :qnh),
162
- type: :doppler_vor,
163
- f: AIXM.f(111, :mhz),
164
- north: :geographic
165
- ).tap do |doppler_vor|
166
- doppler_vor.schedule = AIXM::H24
167
- doppler_vor.remarks = 'doppler-vor navaid'
168
- end
169
- end
170
-
171
158
  def vordme
172
159
  AIXM.vor(
173
160
  id: 'VDD',
174
161
  name: 'VOR/DME NAVAID',
175
162
  xy: AIXM.xy(lat: %q(47°51'33"N), long: %q(007°33'36"E)),
176
163
  z: AIXM.z(500, :qnh),
177
- type: :vor,
164
+ type: :conventional,
178
165
  f: AIXM.f(111, :mhz),
179
166
  north: :geographic
180
167
  ).tap do |vordme|
@@ -190,7 +177,7 @@ module AIXM
190
177
  name: 'VORTAC NAVAID',
191
178
  xy: AIXM.xy(lat: %q(47°51'33"N), long: %q(007°33'36"E)),
192
179
  z: AIXM.z(500, :qnh),
193
- type: :vor,
180
+ type: :conventional,
194
181
  f: AIXM.f(111, :mhz),
195
182
  north: :geographic
196
183
  ).tap do |vortac|
@@ -211,7 +198,6 @@ module AIXM
211
198
  document.features << AIXM::Factory.ndb
212
199
  document.features << AIXM::Factory.tacan
213
200
  document.features << AIXM::Factory.vor
214
- document.features << AIXM::Factory.dvor
215
201
  document.features << AIXM::Factory.vordme
216
202
  document.features << AIXM::Factory.vortac
217
203
  end
@@ -158,7 +158,7 @@ describe AIXM::Document do
158
158
  </Abd>
159
159
  <!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
160
160
  <Dpn>
161
- <DpnUid>
161
+ <DpnUid mid="5317882">
162
162
  <codeId>DDD</codeId>
163
163
  <geoLat>475133.00N</geoLat>
164
164
  <geoLong>0073336.00E</geoLong>
@@ -176,7 +176,7 @@ describe AIXM::Document do
176
176
  </Dpn>
177
177
  <!-- NavigationalAid: [DME] DME NAVAID -->
178
178
  <Dme>
179
- <DmeUid>
179
+ <DmeUid mid="537506748">
180
180
  <codeId>MMM</codeId>
181
181
  <geoLat>475133.00N</geoLat>
182
182
  <geoLong>0073336.00E</geoLong>
@@ -192,14 +192,15 @@ describe AIXM::Document do
192
192
  </Dtt>
193
193
  <txtRmk>dme navaid</txtRmk>
194
194
  </Dme>
195
- <!-- NavigationalAid: [Marker] MARKER NAVAID -->
195
+ <!-- NavigationalAid: [Marker:O] MARKER NAVAID -->
196
196
  <Mkr>
197
- <MkrUid>
197
+ <MkrUid mid="300437209">
198
198
  <codeId>---</codeId>
199
199
  <geoLat>475133.00N</geoLat>
200
200
  <geoLong>0073336.00E</geoLong>
201
201
  </MkrUid>
202
202
  <OrgUid/>
203
+ <codePsnIls>O</codePsnIls>
203
204
  <valFreq>75</valFreq>
204
205
  <uomFreq>MHZ</uomFreq>
205
206
  <txtName>MARKER NAVAID</txtName>
@@ -211,9 +212,9 @@ describe AIXM::Document do
211
212
  </Mtt>
212
213
  <txtRmk>marker navaid</txtRmk>
213
214
  </Mkr>
214
- <!-- NavigationalAid: [NDB] NDB NAVAID -->
215
+ <!-- NavigationalAid: [NDB:B] NDB NAVAID -->
215
216
  <Ndb>
216
- <NdbUid>
217
+ <NdbUid mid="782114926">
217
218
  <codeId>NNN</codeId>
218
219
  <geoLat>475133.00N</geoLat>
219
220
  <geoLong>0073336.00E</geoLong>
@@ -222,6 +223,7 @@ describe AIXM::Document do
222
223
  <txtName>NDB NAVAID</txtName>
223
224
  <valFreq>555</valFreq>
224
225
  <uomFreq>KHZ</uomFreq>
226
+ <codeClass>B</codeClass>
225
227
  <codeDatum>WGE</codeDatum>
226
228
  <valElev>500</valElev>
227
229
  <uomDistVer>FT</uomDistVer>
@@ -232,7 +234,7 @@ describe AIXM::Document do
232
234
  </Ndb>
233
235
  <!-- NavigationalAid: [TACAN] TACAN NAVAID -->
234
236
  <Tcn>
235
- <TcnUid>
237
+ <TcnUid mid="648449590">
236
238
  <codeId>TTT</codeId>
237
239
  <geoLat>475133.00N</geoLat>
238
240
  <geoLong>0073336.00E</geoLong>
@@ -250,7 +252,7 @@ describe AIXM::Document do
250
252
  </Tcn>
251
253
  <!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
252
254
  <Vor>
253
- <VorUid>
255
+ <VorUid mid="904391566">
254
256
  <codeId>VVV</codeId>
255
257
  <geoLat>475133.00N</geoLat>
256
258
  <geoLong>0073336.00E</geoLong>
@@ -269,30 +271,9 @@ describe AIXM::Document do
269
271
  </Vtt>
270
272
  <txtRmk>vor navaid</txtRmk>
271
273
  </Vor>
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
274
  <!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
294
275
  <Vor>
295
- <VorUid>
276
+ <VorUid mid="428844269">
296
277
  <codeId>VDD</codeId>
297
278
  <geoLat>475133.00N</geoLat>
298
279
  <geoLong>0073336.00E</geoLong>
@@ -313,13 +294,13 @@ describe AIXM::Document do
313
294
  </Vor>
314
295
  <!-- NavigationalAid: [DME] VOR/DME NAVAID -->
315
296
  <Dme>
316
- <DmeUid>
297
+ <DmeUid mid="284278140">
317
298
  <codeId>VDD</codeId>
318
299
  <geoLat>475133.00N</geoLat>
319
300
  <geoLong>0073336.00E</geoLong>
320
301
  </DmeUid>
321
302
  <OrgUid/>
322
- <VorUid>
303
+ <VorUid mid="428844269">
323
304
  <codeId>VDD</codeId>
324
305
  <geoLat>475133.00N</geoLat>
325
306
  <geoLong>0073336.00E</geoLong>
@@ -336,7 +317,7 @@ describe AIXM::Document do
336
317
  </Dme>
337
318
  <!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
338
319
  <Vor>
339
- <VorUid>
320
+ <VorUid mid="305713874">
340
321
  <codeId>VTT</codeId>
341
322
  <geoLat>475133.00N</geoLat>
342
323
  <geoLong>0073336.00E</geoLong>
@@ -357,13 +338,13 @@ describe AIXM::Document do
357
338
  </Vor>
358
339
  <!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
359
340
  <Tcn>
360
- <TcnUid>
341
+ <TcnUid mid="595472802">
361
342
  <codeId>VTT</codeId>
362
343
  <geoLat>475133.00N</geoLat>
363
344
  <geoLong>0073336.00E</geoLong>
364
345
  </TcnUid>
365
346
  <OrgUid/>
366
- <VorUid>
347
+ <VorUid mid="305713874">
367
348
  <codeId>VTT</codeId>
368
349
  <geoLat>475133.00N</geoLat>
369
350
  <geoLong>0073336.00E</geoLong>
@@ -489,7 +470,7 @@ describe AIXM::Document do
489
470
  </Abd>
490
471
  <!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
491
472
  <Dpn>
492
- <DpnUid newEntity="true">
473
+ <DpnUid mid="5317882" newEntity="true">
493
474
  <codeId>DDD</codeId>
494
475
  <geoLat>47.85916667N</geoLat>
495
476
  <geoLong>7.56000000E</geoLong>
@@ -507,7 +488,7 @@ describe AIXM::Document do
507
488
  </Dpn>
508
489
  <!-- NavigationalAid: [DME] DME NAVAID -->
509
490
  <Dme>
510
- <DmeUid newEntity="true">
491
+ <DmeUid mid="537506748" newEntity="true">
511
492
  <codeId>MMM</codeId>
512
493
  <geoLat>47.85916667N</geoLat>
513
494
  <geoLong>7.56000000E</geoLong>
@@ -523,14 +504,15 @@ describe AIXM::Document do
523
504
  </Dtt>
524
505
  <txtRmk>dme navaid</txtRmk>
525
506
  </Dme>
526
- <!-- NavigationalAid: [Marker] MARKER NAVAID -->
507
+ <!-- NavigationalAid: [Marker:O] MARKER NAVAID -->
527
508
  <Mkr>
528
- <MkrUid newEntity="true">
509
+ <MkrUid mid="300437209" newEntity="true">
529
510
  <codeId>---</codeId>
530
511
  <geoLat>47.85916667N</geoLat>
531
512
  <geoLong>7.56000000E</geoLong>
532
513
  </MkrUid>
533
514
  <OrgUid/>
515
+ <codePsnIls>O</codePsnIls>
534
516
  <valFreq>75</valFreq>
535
517
  <uomFreq>MHZ</uomFreq>
536
518
  <txtName>MARKER NAVAID</txtName>
@@ -542,9 +524,9 @@ describe AIXM::Document do
542
524
  </Mtt>
543
525
  <txtRmk>marker navaid</txtRmk>
544
526
  </Mkr>
545
- <!-- NavigationalAid: [NDB] NDB NAVAID -->
527
+ <!-- NavigationalAid: [NDB:B] NDB NAVAID -->
546
528
  <Ndb>
547
- <NdbUid newEntity="true">
529
+ <NdbUid mid="782114926" newEntity="true">
548
530
  <codeId>NNN</codeId>
549
531
  <geoLat>47.85916667N</geoLat>
550
532
  <geoLong>7.56000000E</geoLong>
@@ -553,6 +535,7 @@ describe AIXM::Document do
553
535
  <txtName>NDB NAVAID</txtName>
554
536
  <valFreq>555</valFreq>
555
537
  <uomFreq>KHZ</uomFreq>
538
+ <codeClass>B</codeClass>
556
539
  <codeDatum>WGE</codeDatum>
557
540
  <valElev>500</valElev>
558
541
  <uomDistVer>FT</uomDistVer>
@@ -563,7 +546,7 @@ describe AIXM::Document do
563
546
  </Ndb>
564
547
  <!-- NavigationalAid: [TACAN] TACAN NAVAID -->
565
548
  <Tcn>
566
- <TcnUid newEntity="true">
549
+ <TcnUid mid="648449590" newEntity="true">
567
550
  <codeId>TTT</codeId>
568
551
  <geoLat>47.85916667N</geoLat>
569
552
  <geoLong>7.56000000E</geoLong>
@@ -581,7 +564,7 @@ describe AIXM::Document do
581
564
  </Tcn>
582
565
  <!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
583
566
  <Vor>
584
- <VorUid newEntity="true">
567
+ <VorUid mid="904391566" newEntity="true">
585
568
  <codeId>VVV</codeId>
586
569
  <geoLat>47.85916667N</geoLat>
587
570
  <geoLong>7.56000000E</geoLong>
@@ -600,30 +583,9 @@ describe AIXM::Document do
600
583
  </Vtt>
601
584
  <txtRmk>vor navaid</txtRmk>
602
585
  </Vor>
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
586
  <!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
625
587
  <Vor>
626
- <VorUid newEntity="true">
588
+ <VorUid mid="428844269" newEntity="true">
627
589
  <codeId>VDD</codeId>
628
590
  <geoLat>47.85916667N</geoLat>
629
591
  <geoLong>7.56000000E</geoLong>
@@ -644,13 +606,13 @@ describe AIXM::Document do
644
606
  </Vor>
645
607
  <!-- NavigationalAid: [DME] VOR/DME NAVAID -->
646
608
  <Dme>
647
- <DmeUid newEntity="true">
609
+ <DmeUid mid="284278140" newEntity="true">
648
610
  <codeId>VDD</codeId>
649
611
  <geoLat>47.85916667N</geoLat>
650
612
  <geoLong>7.56000000E</geoLong>
651
613
  </DmeUid>
652
614
  <OrgUid/>
653
- <VorUid newEntity="true">
615
+ <VorUid mid="428844269" newEntity="true">
654
616
  <codeId>VDD</codeId>
655
617
  <geoLat>47.85916667N</geoLat>
656
618
  <geoLong>7.56000000E</geoLong>
@@ -667,7 +629,7 @@ describe AIXM::Document do
667
629
  </Dme>
668
630
  <!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
669
631
  <Vor>
670
- <VorUid newEntity="true">
632
+ <VorUid mid="305713874" newEntity="true">
671
633
  <codeId>VTT</codeId>
672
634
  <geoLat>47.85916667N</geoLat>
673
635
  <geoLong>7.56000000E</geoLong>
@@ -688,13 +650,13 @@ describe AIXM::Document do
688
650
  </Vor>
689
651
  <!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
690
652
  <Tcn>
691
- <TcnUid newEntity="true">
653
+ <TcnUid mid="595472802" newEntity="true">
692
654
  <codeId>VTT</codeId>
693
655
  <geoLat>47.85916667N</geoLat>
694
656
  <geoLong>7.56000000E</geoLong>
695
657
  </TcnUid>
696
658
  <OrgUid/>
697
- <VorUid newEntity="true">
659
+ <VorUid mid="305713874" newEntity="true">
698
660
  <codeId>VTT</codeId>
699
661
  <geoLat>47.85916667N</geoLat>
700
662
  <geoLong>7.56000000E</geoLong>
@@ -6,8 +6,12 @@ describe AIXM::Feature::NavigationalAid::DesignatedPoint do
6
6
  AIXM::Factory.designated_point
7
7
  end
8
8
 
9
+ let :digest do
10
+ subject.to_digest
11
+ end
12
+
9
13
  describe :kind do
10
- it "must return class or type" do
14
+ it "must return class/type combo" do
11
15
  subject.kind.must_equal "DesignatedPoint:ICAO"
12
16
  end
13
17
  end
@@ -23,7 +27,7 @@ describe AIXM::Feature::NavigationalAid::DesignatedPoint do
23
27
  subject.to_aixm(:ofm).must_equal <<~END
24
28
  <!-- NavigationalAid: [DesignatedPoint:ICAO] DESIGNATED POINT NAVAID -->
25
29
  <Dpn>
26
- <DpnUid newEntity="true">
30
+ <DpnUid mid="#{digest}" newEntity="true">
27
31
  <codeId>DDD</codeId>
28
32
  <geoLat>47.85916667N</geoLat>
29
33
  <geoLong>7.56000000E</geoLong>
@@ -6,8 +6,12 @@ describe AIXM::Feature::NavigationalAid::DME do
6
6
  AIXM::Factory.dme
7
7
  end
8
8
 
9
+ let :digest do
10
+ subject.to_digest
11
+ end
12
+
9
13
  describe :kind do
10
- it "must return class or type" do
14
+ it "must return class/type combo" do
11
15
  subject.kind.must_equal "DME"
12
16
  end
13
17
  end
@@ -23,7 +27,7 @@ describe AIXM::Feature::NavigationalAid::DME do
23
27
  subject.to_aixm(:ofm).must_equal <<~END
24
28
  <!-- NavigationalAid: [DME] DME NAVAID -->
25
29
  <Dme>
26
- <DmeUid newEntity="true">
30
+ <DmeUid mid="#{digest}" newEntity="true">
27
31
  <codeId>MMM</codeId>
28
32
  <geoLat>47.85916667N</geoLat>
29
33
  <geoLong>7.56000000E</geoLong>
@@ -1,34 +1,39 @@
1
1
  require_relative '../../../../spec_helper'
2
2
 
3
3
  describe AIXM::Feature::NavigationalAid::Marker do
4
- context "complete" do
4
+ context "complete outer marker" do
5
5
  subject do
6
6
  AIXM::Factory.marker
7
7
  end
8
8
 
9
+ let :digest do
10
+ subject.to_digest
11
+ end
12
+
9
13
  describe :kind do
10
- it "must return class or type" do
11
- subject.kind.must_equal "Marker"
14
+ it "must return class/type combo" do
15
+ subject.kind.must_equal "Marker:O"
12
16
  end
13
17
  end
14
18
 
15
19
  describe :to_digest do
16
20
  it "must return digest of payload" do
17
- subject.to_digest.must_equal 371155747
21
+ subject.to_digest.must_equal 300437209
18
22
  end
19
23
  end
20
24
 
21
25
  describe :to_aixm do
22
26
  it "must build correct XML with OFM extension" do
23
27
  subject.to_aixm(:ofm).must_equal <<~END
24
- <!-- NavigationalAid: [Marker] MARKER NAVAID -->
28
+ <!-- NavigationalAid: [Marker:O] MARKER NAVAID -->
25
29
  <Mkr>
26
- <MkrUid newEntity="true">
30
+ <MkrUid mid="#{digest}" newEntity="true">
27
31
  <codeId>---</codeId>
28
32
  <geoLat>47.85916667N</geoLat>
29
33
  <geoLong>7.56000000E</geoLong>
30
34
  </MkrUid>
31
35
  <OrgUid/>
36
+ <codePsnIls>O</codePsnIls>
32
37
  <valFreq>75</valFreq>
33
38
  <uomFreq>MHZ</uomFreq>
34
39
  <txtName>MARKER NAVAID</txtName>
@@ -44,4 +49,83 @@ describe AIXM::Feature::NavigationalAid::Marker do
44
49
  end
45
50
  end
46
51
  end
52
+
53
+ context "complete middle marker" do
54
+ subject do
55
+ AIXM::Factory.marker.tap do |marker|
56
+ marker.type = :middle
57
+ end
58
+ end
59
+
60
+ describe :kind do
61
+ it "must return class/type combo" do
62
+ subject.kind.must_equal "Marker:M"
63
+ end
64
+ end
65
+
66
+ describe :to_aixm do
67
+ it "must build correct XML" do
68
+ subject.to_aixm.must_match %r(<codePsnIls>M</codePsnIls>)
69
+ end
70
+ end
71
+ end
72
+ context "complete middle marker" do
73
+ subject do
74
+ AIXM::Factory.marker.tap do |marker|
75
+ marker.type = :middle
76
+ end
77
+ end
78
+
79
+ describe :kind do
80
+ it "must return class/type combo" do
81
+ subject.kind.must_equal "Marker:M"
82
+ end
83
+ end
84
+
85
+ describe :to_aixm do
86
+ it "must build correct XML" do
87
+ subject.to_aixm.must_match %r(<codePsnIls>M</codePsnIls>)
88
+ end
89
+ end
90
+ end
91
+
92
+ context "complete inner marker" do
93
+ subject do
94
+ AIXM::Factory.marker.tap do |marker|
95
+ marker.type = :inner
96
+ end
97
+ end
98
+
99
+ describe :kind do
100
+ it "must return class/type combo" do
101
+ subject.kind.must_equal "Marker:I"
102
+ end
103
+ end
104
+
105
+ describe :to_aixm do
106
+ it "must build correct XML" do
107
+ subject.to_aixm.must_match %r(<codePsnIls>I</codePsnIls>)
108
+ end
109
+ end
110
+ end
111
+
112
+ context "complete backcourse marker" do
113
+ subject do
114
+ AIXM::Factory.marker.tap do |marker|
115
+ marker.type = :backcourse
116
+ end
117
+ end
118
+
119
+ describe :kind do
120
+ it "must return class/type combo" do
121
+ subject.kind.must_equal "Marker:C"
122
+ end
123
+ end
124
+
125
+ describe :to_aixm do
126
+ it "must build correct XML" do
127
+ subject.to_aixm.must_match %r(<codePsnIls>C</codePsnIls>)
128
+ end
129
+ end
130
+ end
47
131
  end
@@ -7,33 +7,38 @@ describe AIXM::Feature::NavigationalAid::NDB do
7
7
  end
8
8
 
9
9
  it "won't accept invalid arguments" do
10
- -> { AIXM.ndb(id: 'N', name: 'NDB', xy: AIXM::Factory.xy, f: 0) }.must_raise ArgumentError
10
+ -> { AIXM.ndb(id: 'N', name: 'NDB', xy: AIXM::Factory.xy, type: :foo, f: f) }.must_raise ArgumentError
11
+ -> { AIXM.ndb(id: 'N', name: 'NDB', xy: AIXM::Factory.xy, type: :en_route, f: 0) }.must_raise ArgumentError
11
12
  end
12
13
  end
13
14
 
14
- context "complete" do
15
+ context "complete en-route NDB" do
15
16
  subject do
16
17
  AIXM::Factory.ndb
17
18
  end
18
19
 
20
+ let :digest do
21
+ subject.to_digest
22
+ end
23
+
19
24
  describe :kind do
20
- it "must return class or type" do
21
- subject.kind.must_equal "NDB"
25
+ it "must return class/type combo" do
26
+ subject.kind.must_equal "NDB:B"
22
27
  end
23
28
  end
24
29
 
25
30
  describe :to_digest do
26
31
  it "must return digest of payload" do
27
- subject.to_digest.must_equal 387748611
32
+ subject.to_digest.must_equal 782114926
28
33
  end
29
34
  end
30
35
 
31
36
  describe :to_aixm do
32
37
  it "must build correct XML with OFM extension" do
33
38
  subject.to_aixm(:ofm).must_equal <<~END
34
- <!-- NavigationalAid: [NDB] NDB NAVAID -->
39
+ <!-- NavigationalAid: [NDB:B] NDB NAVAID -->
35
40
  <Ndb>
36
- <NdbUid newEntity="true">
41
+ <NdbUid mid="#{digest}" newEntity="true">
37
42
  <codeId>NNN</codeId>
38
43
  <geoLat>47.85916667N</geoLat>
39
44
  <geoLong>7.56000000E</geoLong>
@@ -42,6 +47,7 @@ describe AIXM::Feature::NavigationalAid::NDB do
42
47
  <txtName>NDB NAVAID</txtName>
43
48
  <valFreq>555</valFreq>
44
49
  <uomFreq>KHZ</uomFreq>
50
+ <codeClass>B</codeClass>
45
51
  <codeDatum>WGE</codeDatum>
46
52
  <valElev>500</valElev>
47
53
  <uomDistVer>FT</uomDistVer>
@@ -54,4 +60,44 @@ describe AIXM::Feature::NavigationalAid::NDB do
54
60
  end
55
61
  end
56
62
  end
63
+
64
+ context "complete locator NDB" do
65
+ subject do
66
+ AIXM::Factory.ndb.tap do |ndb|
67
+ ndb.type = :locator
68
+ end
69
+ end
70
+
71
+ describe :kind do
72
+ it "must return class/type combo" do
73
+ subject.kind.must_equal "NDB:L"
74
+ end
75
+ end
76
+
77
+ describe :to_aixm do
78
+ it "must build correct XML with OFM extension" do
79
+ subject.to_aixm(:ofm).must_match %r(<codeClass>L</codeClass>)
80
+ end
81
+ end
82
+ end
83
+
84
+ context "complete marine NDB" do
85
+ subject do
86
+ AIXM::Factory.ndb.tap do |ndb|
87
+ ndb.type = :marine
88
+ end
89
+ end
90
+
91
+ describe :kind do
92
+ it "must return class/type combo" do
93
+ subject.kind.must_equal "NDB:M"
94
+ end
95
+ end
96
+
97
+ describe :to_aixm do
98
+ it "must build correct XML with OFM extension" do
99
+ subject.to_aixm(:ofm).must_match %r(<codeClass>M</codeClass>)
100
+ end
101
+ end
102
+ end
57
103
  end
@@ -6,8 +6,12 @@ describe AIXM::Feature::NavigationalAid::TACAN do
6
6
  AIXM::Factory.tacan
7
7
  end
8
8
 
9
+ let :digest do
10
+ subject.to_digest
11
+ end
12
+
9
13
  describe :kind do
10
- it "must return class or type" do
14
+ it "must return class/type combo" do
11
15
  subject.kind.must_equal "TACAN"
12
16
  end
13
17
  end
@@ -23,7 +27,7 @@ describe AIXM::Feature::NavigationalAid::TACAN do
23
27
  subject.to_aixm(:ofm).must_equal <<~END
24
28
  <!-- NavigationalAid: [TACAN] TACAN NAVAID -->
25
29
  <Tcn>
26
- <TcnUid newEntity="true">
30
+ <TcnUid mid="#{digest}" newEntity="true">
27
31
  <codeId>TTT</codeId>
28
32
  <geoLat>47.85916667N</geoLat>
29
33
  <geoLong>7.56000000E</geoLong>
@@ -8,25 +8,29 @@ describe AIXM::Feature::NavigationalAid::VOR do
8
8
 
9
9
  it "won't accept invalid arguments" do
10
10
  -> { AIXM.vor(id: 'V', name: 'VOR', xy: AIXM::Factory.xy, type: :foo, f: f, north: :geographic) }.must_raise ArgumentError
11
- -> { AIXM.vor(id: 'V', name: 'VOR', xy: AIXM::Factory.xy, type: :vor, f: 0, north: :geographic) }.must_raise ArgumentError
12
- -> { AIXM.vor(id: 'V', name: 'VOR', xy: AIXM::Factory.xy, type: :vor, f: f, north: :foobar) }.must_raise ArgumentError
11
+ -> { AIXM.vor(id: 'V', name: 'VOR', xy: AIXM::Factory.xy, type: :conventional, f: 0, north: :geographic) }.must_raise ArgumentError
12
+ -> { AIXM.vor(id: 'V', name: 'VOR', xy: AIXM::Factory.xy, type: :conventional, f: f, north: :foobar) }.must_raise ArgumentError
13
13
  end
14
14
  end
15
15
 
16
- context "complete VOR" do
16
+ context "complete conventional VOR" do
17
17
  subject do
18
18
  AIXM::Factory.vor
19
19
  end
20
20
 
21
+ let :digest do
22
+ subject.to_digest
23
+ end
24
+
21
25
  describe :kind do
22
- it "must return class or type" do
26
+ it "must return class/type combo" do
23
27
  subject.kind.must_equal "VOR:VOR"
24
28
  end
25
29
  end
26
30
 
27
31
  describe :to_digest do
28
32
  it "must return digest of payload" do
29
- subject.to_digest.must_equal 152119936
33
+ subject.to_digest.must_equal 904391566
30
34
  end
31
35
  end
32
36
 
@@ -35,7 +39,7 @@ describe AIXM::Feature::NavigationalAid::VOR do
35
39
  subject.to_aixm(:ofm).must_equal <<~END
36
40
  <!-- NavigationalAid: [VOR:VOR] VOR NAVAID -->
37
41
  <Vor>
38
- <VorUid newEntity="true">
42
+ <VorUid mid="#{digest}" newEntity="true">
39
43
  <codeId>VVV</codeId>
40
44
  <geoLat>47.85916667N</geoLat>
41
45
  <geoLong>7.56000000E</geoLong>
@@ -59,6 +63,58 @@ describe AIXM::Feature::NavigationalAid::VOR do
59
63
  end
60
64
  end
61
65
 
66
+ context "complete Doppler VOR" do
67
+ subject do
68
+ AIXM::Factory.vor.tap do |vor|
69
+ vor.type = :doppler
70
+ end
71
+ end
72
+
73
+ let :digest do
74
+ subject.to_digest
75
+ end
76
+
77
+ describe :kind do
78
+ it "must return class/type combo" do
79
+ subject.kind.must_equal "VOR:DVOR"
80
+ end
81
+ end
82
+
83
+ describe :to_digest do
84
+ it "must return digest of payload" do
85
+ subject.to_digest.must_equal 293163781
86
+ end
87
+ end
88
+
89
+ describe :to_aixm do
90
+ it "must build correct XML of VOR with OFM extension" do
91
+ subject.to_aixm(:ofm).must_equal <<~END
92
+ <!-- NavigationalAid: [VOR:DVOR] VOR NAVAID -->
93
+ <Vor>
94
+ <VorUid mid="#{digest}" newEntity="true">
95
+ <codeId>VVV</codeId>
96
+ <geoLat>47.85916667N</geoLat>
97
+ <geoLong>7.56000000E</geoLong>
98
+ </VorUid>
99
+ <OrgUid/>
100
+ <txtName>VOR NAVAID</txtName>
101
+ <codeType>DVOR</codeType>
102
+ <valFreq>111</valFreq>
103
+ <uomFreq>MHZ</uomFreq>
104
+ <codeTypeNorth>TRUE</codeTypeNorth>
105
+ <codeDatum>WGE</codeDatum>
106
+ <valElev>500</valElev>
107
+ <uomDistVer>FT</uomDistVer>
108
+ <Vtt>
109
+ <codeWorkHr>H24</codeWorkHr>
110
+ </Vtt>
111
+ <txtRmk>vor navaid</txtRmk>
112
+ </Vor>
113
+ END
114
+ end
115
+ end
116
+ end
117
+
62
118
  context "complete VOR/DME" do
63
119
  subject do
64
120
  AIXM::Factory.vor.tap do |vor|
@@ -68,15 +124,19 @@ describe AIXM::Feature::NavigationalAid::VOR do
68
124
  end
69
125
  end
70
126
 
127
+ let :digests do
128
+ [subject.to_digest, subject.dme.to_digest]
129
+ end
130
+
71
131
  describe :kind do
72
- it "must return class or type" do
132
+ it "must return class/type combo" do
73
133
  subject.kind.must_equal "VOR:VOR"
74
134
  end
75
135
  end
76
136
 
77
137
  describe :to_digest do
78
138
  it "must return digest of payload" do
79
- subject.to_digest.must_equal 863096858
139
+ subject.to_digest.must_equal 604205702
80
140
  end
81
141
  end
82
142
 
@@ -85,7 +145,7 @@ describe AIXM::Feature::NavigationalAid::VOR do
85
145
  subject.to_aixm(:ofm).must_equal <<~END
86
146
  <!-- NavigationalAid: [VOR:VOR] VOR/DME NAVAID -->
87
147
  <Vor>
88
- <VorUid newEntity="true">
148
+ <VorUid mid="#{digests.first}" newEntity="true">
89
149
  <codeId>VVV</codeId>
90
150
  <geoLat>47.85916667N</geoLat>
91
151
  <geoLong>7.56000000E</geoLong>
@@ -106,13 +166,13 @@ describe AIXM::Feature::NavigationalAid::VOR do
106
166
  </Vor>
107
167
  <!-- NavigationalAid: [DME] VOR/DME NAVAID -->
108
168
  <Dme>
109
- <DmeUid newEntity="true">
169
+ <DmeUid mid="#{digests.last}" newEntity="true">
110
170
  <codeId>VVV</codeId>
111
171
  <geoLat>47.85916667N</geoLat>
112
172
  <geoLong>7.56000000E</geoLong>
113
173
  </DmeUid>
114
174
  <OrgUid/>
115
- <VorUid newEntity="true">
175
+ <VorUid mid="#{digests.first}" newEntity="true">
116
176
  <codeId>VVV</codeId>
117
177
  <geoLat>47.85916667N</geoLat>
118
178
  <geoLong>7.56000000E</geoLong>
@@ -141,15 +201,19 @@ describe AIXM::Feature::NavigationalAid::VOR do
141
201
  end
142
202
  end
143
203
 
204
+ let :digests do
205
+ [subject.to_digest, subject.tacan.to_digest]
206
+ end
207
+
144
208
  describe :kind do
145
- it "must return class or type" do
209
+ it "must return class/type combo" do
146
210
  subject.kind.must_equal "VOR:VOR"
147
211
  end
148
212
  end
149
213
 
150
214
  describe :to_digest do
151
215
  it "must return digest of payload" do
152
- subject.to_digest.must_equal 458371299
216
+ subject.to_digest.must_equal 339710051
153
217
  end
154
218
  end
155
219
 
@@ -158,7 +222,7 @@ describe AIXM::Feature::NavigationalAid::VOR do
158
222
  subject.to_aixm(:ofm).must_equal <<~END
159
223
  <!-- NavigationalAid: [VOR:VOR] VORTAC NAVAID -->
160
224
  <Vor>
161
- <VorUid newEntity="true">
225
+ <VorUid mid="#{digests.first}" newEntity="true">
162
226
  <codeId>VVV</codeId>
163
227
  <geoLat>47.85916667N</geoLat>
164
228
  <geoLong>7.56000000E</geoLong>
@@ -179,13 +243,13 @@ describe AIXM::Feature::NavigationalAid::VOR do
179
243
  </Vor>
180
244
  <!-- NavigationalAid: [TACAN] VORTAC NAVAID -->
181
245
  <Tcn>
182
- <TcnUid newEntity="true">
246
+ <TcnUid mid="#{digests.last}" newEntity="true">
183
247
  <codeId>VVV</codeId>
184
248
  <geoLat>47.85916667N</geoLat>
185
249
  <geoLong>7.56000000E</geoLong>
186
250
  </TcnUid>
187
251
  <OrgUid/>
188
- <VorUid newEntity="true">
252
+ <VorUid mid="#{digests.first}" newEntity="true">
189
253
  <codeId>VVV</codeId>
190
254
  <geoLat>47.85916667N</geoLat>
191
255
  <geoLong>7.56000000E</geoLong>
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.2.2
4
+ version: 0.2.3
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-01-26 00:00:00.000000000 Z
11
+ date: 2018-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler