aixm 0.3.7 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +26 -0
  3. data/.ruby-version +1 -1
  4. data/CHANGELOG.md +17 -4
  5. data/README.md +23 -5
  6. data/lib/aixm/component/fato.rb +3 -3
  7. data/lib/aixm/component/frequency.rb +1 -1
  8. data/lib/aixm/component/geometry/border.rb +9 -3
  9. data/lib/aixm/component/helipad.rb +1 -1
  10. data/lib/aixm/component/lighting.rb +1 -1
  11. data/lib/aixm/component/runway.rb +4 -7
  12. data/lib/aixm/config.rb +2 -1
  13. data/lib/aixm/document.rb +1 -0
  14. data/lib/aixm/feature/address.rb +1 -1
  15. data/lib/aixm/feature/airport.rb +13 -4
  16. data/lib/aixm/feature/airspace.rb +11 -8
  17. data/lib/aixm/feature/navigational_aid/designated_point.rb +1 -1
  18. data/lib/aixm/feature/navigational_aid/dme.rb +1 -1
  19. data/lib/aixm/feature/navigational_aid/marker.rb +1 -1
  20. data/lib/aixm/feature/navigational_aid/ndb.rb +1 -1
  21. data/lib/aixm/feature/navigational_aid/tacan.rb +1 -1
  22. data/lib/aixm/feature/navigational_aid/vor.rb +1 -1
  23. data/lib/aixm/feature/obstacle.rb +1 -1
  24. data/lib/aixm/feature/obstacle_group.rb +1 -1
  25. data/lib/aixm/feature/organisation.rb +1 -1
  26. data/lib/aixm/feature/service.rb +1 -1
  27. data/lib/aixm/feature/unit.rb +1 -1
  28. data/lib/aixm/refinements.rb +39 -8
  29. data/lib/aixm/version.rb +1 -1
  30. data/rakefile.rb +22 -8
  31. data/spec/lib/aixm/a_spec.rb +55 -55
  32. data/spec/lib/aixm/component/fato_spec.rb +30 -23
  33. data/spec/lib/aixm/component/frequency_spec.rb +12 -13
  34. data/spec/lib/aixm/component/geometry/arc_spec.rb +7 -9
  35. data/spec/lib/aixm/component/geometry/border_spec.rb +8 -3
  36. data/spec/lib/aixm/component/geometry/circle_spec.rb +6 -8
  37. data/spec/lib/aixm/component/geometry/point_spec.rb +2 -4
  38. data/spec/lib/aixm/component/geometry_spec.rb +57 -62
  39. data/spec/lib/aixm/component/helipad_spec.rb +25 -19
  40. data/spec/lib/aixm/component/layer_spec.rb +17 -19
  41. data/spec/lib/aixm/component/lighting_spec.rb +21 -15
  42. data/spec/lib/aixm/component/runway_spec.rb +44 -37
  43. data/spec/lib/aixm/component/surface_spec.rb +24 -24
  44. data/spec/lib/aixm/component/timetable_spec.rb +7 -9
  45. data/spec/lib/aixm/component/vertical_limits_spec.rb +9 -12
  46. data/spec/lib/aixm/config_spec.rb +8 -8
  47. data/spec/lib/aixm/d_spec.rb +28 -28
  48. data/spec/lib/aixm/document_spec.rb +46 -37
  49. data/spec/lib/aixm/errors_spec.rb +2 -2
  50. data/spec/lib/aixm/f_spec.rb +16 -16
  51. data/spec/lib/aixm/feature/address_spec.rb +12 -7
  52. data/spec/lib/aixm/feature/airport_spec.rb +80 -74
  53. data/spec/lib/aixm/feature/airspace_spec.rb +32 -28
  54. data/spec/lib/aixm/feature/navigational_aid/designated_point_spec.rb +16 -11
  55. data/spec/lib/aixm/feature/navigational_aid/dme_spec.rb +22 -16
  56. data/spec/lib/aixm/feature/navigational_aid/marker_spec.rb +13 -7
  57. data/spec/lib/aixm/feature/navigational_aid/ndb_spec.rb +15 -9
  58. data/spec/lib/aixm/feature/navigational_aid/tacan_spec.rb +22 -16
  59. data/spec/lib/aixm/feature/navigational_aid/vor_spec.rb +21 -15
  60. data/spec/lib/aixm/feature/navigational_aid_spec.rb +6 -6
  61. data/spec/lib/aixm/feature/obstacle_group_spec.rb +25 -21
  62. data/spec/lib/aixm/feature/obstacle_spec.rb +47 -42
  63. data/spec/lib/aixm/feature/organisation_spec.rb +16 -10
  64. data/spec/lib/aixm/feature/service_spec.rb +9 -9
  65. data/spec/lib/aixm/feature/unit_spec.rb +21 -13
  66. data/spec/lib/aixm/feature_spec.rb +5 -5
  67. data/spec/lib/aixm/p_spec.rb +37 -37
  68. data/spec/lib/aixm/refinements_spec.rb +164 -115
  69. data/spec/lib/aixm/version_spec.rb +1 -1
  70. data/spec/lib/aixm/w_spec.rb +28 -28
  71. data/spec/lib/aixm/xy_spec.rb +34 -34
  72. data/spec/lib/aixm/z_spec.rb +19 -19
  73. data/spec/macros/marking.rb +3 -3
  74. data/spec/macros/organisation.rb +2 -2
  75. data/spec/macros/remarks.rb +3 -3
  76. data/spec/macros/timetable.rb +2 -2
  77. data/spec/macros/xy.rb +2 -2
  78. data/spec/macros/z_qnh.rb +2 -2
  79. data/spec/spec_helper.rb +7 -0
  80. metadata +3 -3
  81. data/.travis.yml +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bad5f1c431575562810faf541c197660e815e3652213dc8d6fedc8cde897f9d4
4
- data.tar.gz: f1a750f511dc13146af92a25aea066a89a67d358534f2f4a582e415919855ef4
3
+ metadata.gz: ca15626c3948c7f7914face0ccef421502a3b9103bba33bb9f8197696f083a2c
4
+ data.tar.gz: 8cd271b55758819f0593be1150d4a88484717a0221467c532f852aa011b270a9
5
5
  SHA512:
6
- metadata.gz: f587e9d97f7a1fdb21e38f79c2be3567a9a8a8a4c0bc692b74c19305db8b0c2c8fb734d0b90b7ba488916ca9bc23a2a60ba4e836510be6984d1bd95055ffbe28
7
- data.tar.gz: ac70ee0a8c63f20f0fb0277ba075c0880ed2ad39ae32e6c5e38d9fa76d80943a7c8efb394bb33af52f5c6ce00081d066e59d9df9a1105812bfaf8bafc2a23596
6
+ metadata.gz: edee618c607d2e67ac4705a26ff4401f6479958ba84313f9fffc0ca8a3003f3110e8ddfe6a877333c2f29395eaa85cfdf3245c57bd4f3867d8bf48d26f1dc112
7
+ data.tar.gz: 60fe778dcbf871980ce4b477819be4e1d8a8b4e055365c00837dab226646b714b40f42edd40906acc9726f0f9cd29b4144a1a7506538349ef7e8bb5743146509
@@ -0,0 +1,26 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ jobs:
9
+ build:
10
+
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby:
15
+ - 2.6.x
16
+ steps:
17
+ - uses: actions/checkout@v1
18
+ - name: Set up Ruby ${{ matrix.ruby }}
19
+ uses: actions/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby }}
22
+ - name: Build and test
23
+ run: |
24
+ gem install bundler
25
+ bundle install --jobs 4 --retry 3
26
+ SPEC_SCOPE=all bundle exec rake
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.6.4
1
+ ruby-2.6.5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.3.8
2
+
3
+ #### Additions
4
+ * `AIXM.config.mid_region` to generate `mid` attributes on all features
5
+ * Refinement `String#insert_payload_hash`
6
+
7
+ #### Changes
8
+ * Fix calculation of magnetic bearing
9
+
1
10
  ## 0.3.7
2
11
 
3
12
  #### Additions
@@ -37,14 +46,17 @@
37
46
  * `Runway#preparation`, `Runway#condition` and `Runway#vfr_pattern`
38
47
  * `Service#guessed_unit_type`
39
48
  * Surface for `Runway|Helipad#surface`
40
- * Extracted `AIXM::MIN`, `AIXM::SEC` and `AIXM::DMS_RE` to scan for coordinates in texts
49
+ * Extracted `AIXM::MIN`, `AIXM::SEC` and `AIXM::DMS_RE` to scan for coordinates
50
+ in texts
41
51
  * Refinement `String#payload_hash`
42
52
 
43
53
  #### Breaking Changes
44
54
  * Require Ruby 2.6
45
- * Renamed `AIXM::H` to `AIXM::A` (angle) and add simple arithmetics to make it more versatile
55
+ * Renamed `AIXM::H` to `AIXM::A` (angle) and add simple arithmetics to make it
56
+ more versatile
46
57
  * `Runway|Helipad#composition` moved to `Runway|Helipad#surface`
47
- * DMS notation `{-}{DD}DMMSS{.SS}[NESW]` now requires compulsory cardinal direction (N, E, S or W) at the end
58
+ * DMS notation `{-}{DD}DMMSS{.SS}[NESW]` now requires compulsory cardinal
59
+ direction (N, E, S or W) at the end
48
60
 
49
61
  #### Changes
50
62
  * Service is a feature now
@@ -56,7 +68,8 @@
56
68
 
57
69
  #### Changes
58
70
  * Updated OFMX schema URI
59
- * Added `eql?` and `hash` to `AIXM::XY|Z|D|H|F` to allow for instances of these classes to be used as Hash keys.
71
+ * Added `eql?` and `hash` to `AIXM::XY|Z|D|H|F` to allow for instances of these
72
+ classes to be used as Hash keys.
60
73
 
61
74
  ## 0.3.2
62
75
 
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![Version](https://img.shields.io/gem/v/aixm.svg?style=flat)](https://rubygems.org/gems/aixm)
2
- [![Continuous Integration](https://img.shields.io/travis/svoop/aixm/master.svg?style=flat)](https://travis-ci.org/svoop/aixm)
2
+ [![Tests](https://github.com/svoop/aixm/workflows/Test/badge.svg)](https://github.com/svoop/aixm/actions?workflow=Test)
3
3
  [![Code Climate](https://img.shields.io/codeclimate/maintainability/svoop/aixm.svg?style=flat)](https://codeclimate.com/github/svoop/aixm/)
4
4
  [![Donorbox](https://img.shields.io/badge/donate-on_donorbox-yellow.svg)](https://donorbox.org/bitcetera)
5
5
 
@@ -15,7 +15,7 @@ For now, only the parts needed to automize the AIP import of [open flightmaps](h
15
15
 
16
16
  ## Install
17
17
 
18
- Add this to your `Gemfile`:
18
+ Add this to your <tt>Gemfile</tt> or <tt>gems.rb</tt>:
19
19
 
20
20
  ```ruby
21
21
  gem aixm
@@ -47,11 +47,12 @@ See `AIXM::CLASSES` for the complete list of shorthand names.
47
47
 
48
48
  ## Configuration
49
49
 
50
- The following configuration options are available for setting and getting:
50
+ ### AIXM.config.schema
51
+
52
+ The schema is either `:aixm` (default) or `:ofmx`:
51
53
 
52
54
  ```ruby
53
- AIXM.config.schema # either :aixm (default) or :ofmx
54
- AIXM.config.ignored_errors # ignore XML schema errors which match this regex
55
+ AIXM.config.schema = :ofmx # =>:ofmx
55
56
  ```
56
57
 
57
58
  There are shortcuts to set and get the schema:
@@ -65,6 +66,23 @@ AIXM.schema # => :ofmx
65
66
  AIXM.schema(:version) # => 0
66
67
  ```
67
68
 
69
+ ### AIXM.config.mid_region
70
+
71
+ In order to insert [OFMX-compliant `mid` attributes]() for all `*Uid` elements, set this configuration option to the OFMX region the element belongs to. By default, no `mid` attributes are inserted.
72
+
73
+ ```ruby
74
+ AIXM.config.mid_region # => nil - don't insert any mid attributes
75
+ AIXM.config.mid_region = 'LF' # => 'LF' - insert mid attributes for region LF
76
+ ```
77
+
78
+ ### AIXM.config.ignored_errors
79
+
80
+ In case you want to ignore certain XML schema validation errors, set this configuration option to a regular expression which matches the error messages to ignore. By default, no errors are ignored.
81
+
82
+ ```ruby
83
+ AIXM.config.ignored_errors = /invalid date/i
84
+ ```
85
+
68
86
  ## Validation
69
87
 
70
88
  `AIXM::Document#valid?` validates the resulting AIXM or OFMX against its XML schema. If any, you find the errors in `AIXM::Document#errors`.
@@ -131,7 +131,7 @@ module AIXM
131
131
  builder.FtoUid do |fto_uid|
132
132
  fto_uid << airport.to_uid.indent(2)
133
133
  fto_uid.txtDesig(name)
134
- end
134
+ end.insert_payload_hash(region: AIXM.config.mid_region)
135
135
  end
136
136
 
137
137
  # @return [String] AIXM or OFMX markup
@@ -222,7 +222,7 @@ module AIXM
222
222
  # @return [AIXM::A] magnetic orientation (magnetic bearing) in degrees
223
223
  def magnetic_orientation
224
224
  if geographic_orientation && fato.airport.declination
225
- geographic_orientation + fato.airport.declination
225
+ geographic_orientation - fato.airport.declination
226
226
  end
227
227
  end
228
228
 
@@ -232,7 +232,7 @@ module AIXM
232
232
  builder.FdnUid do |fdn_uid|
233
233
  fdn_uid << fato.to_uid.indent(2)
234
234
  fdn_uid.txtDesig(name)
235
- end
235
+ end.insert_payload_hash(region: AIXM.config.mid_region)
236
236
  end
237
237
 
238
238
  # @return [String] AIXM or OFMX markup
@@ -108,7 +108,7 @@ module AIXM
108
108
  builder.FqyUid do |fqy_uid|
109
109
  fqy_uid << service.to_uid.indent(2)
110
110
  fqy_uid.valFreqTrans(transmission_f.freq)
111
- end
111
+ end.insert_payload_hash(region: AIXM.config.mid_region)
112
112
  end
113
113
 
114
114
  # @return [String] AIXM or OFMX markup
@@ -33,13 +33,19 @@ module AIXM
33
33
  @name = value
34
34
  end
35
35
 
36
+ # @return [String] UID markup
37
+ def to_uid(as: :GbrUid)
38
+ builder = Builder::XmlMarkup.new(indent: 2)
39
+ builder.tag!(as) do |tag|
40
+ tag.txtName(name.to_s)
41
+ end.insert_payload_hash(region: AIXM.config.mid_region)
42
+ end
43
+
36
44
  # @return [String] AIXM or OFMX markup
37
45
  def to_xml
38
46
  builder = Builder::XmlMarkup.new(indent: 2)
39
47
  builder.Avx do |avx|
40
- avx.GbrUid do |gbr_uid|
41
- gbr_uid.txtName(name.to_s)
42
- end
48
+ avx << to_uid.indent(2)
43
49
  avx.codeType('FNT')
44
50
  avx.geoLat(xy.lat(AIXM.schema))
45
51
  avx.geoLong(xy.long(AIXM.schema))
@@ -164,7 +164,7 @@ module AIXM
164
164
  builder.TlaUid do |tla_uid|
165
165
  tla_uid << airport.to_uid.indent(2)
166
166
  tla_uid.txtDesig(name)
167
- end
167
+ end.insert_payload_hash(region: AIXM.config.mid_region)
168
168
  end
169
169
 
170
170
  # @return [String] AIXM or OFMX markup
@@ -113,7 +113,7 @@ module AIXM
113
113
  builder.tag!(as) do |tag|
114
114
  tag << lightable.to_uid.indent(2)
115
115
  tag.codePsn(POSITIONS.key(position).to_s)
116
- end
116
+ end.insert_payload_hash(region: AIXM.config.mid_region)
117
117
  end
118
118
 
119
119
  # @return [String] AIXM or OFMX markup
@@ -138,7 +138,7 @@ module AIXM
138
138
  builder.RwyUid do |rwy_uid|
139
139
  rwy_uid << airport.to_uid.indent(2)
140
140
  rwy_uid.txtDesig(name)
141
- end
141
+ end.insert_payload_hash(region: AIXM.config.mid_region)
142
142
  end
143
143
 
144
144
  # @return [String] AIXM or OFMX markup
@@ -277,7 +277,7 @@ module AIXM
277
277
  # @return [AIXM::A] magnetic orientation (magnetic bearing) in degrees
278
278
  def magnetic_orientation
279
279
  if geographic_orientation && runway.airport.declination
280
- geographic_orientation + runway.airport.declination
280
+ geographic_orientation - runway.airport.declination
281
281
  end
282
282
  end
283
283
 
@@ -287,7 +287,7 @@ module AIXM
287
287
  builder.RdnUid do |rdn_uid|
288
288
  rdn_uid << runway.to_uid.indent(2)
289
289
  rdn_uid.txtDesig(name)
290
- end
290
+ end.insert_payload_hash(region: AIXM.config.mid_region)
291
291
  end
292
292
 
293
293
  # @return [String] AIXM or OFMX markup
@@ -309,10 +309,7 @@ module AIXM
309
309
  if displaced_threshold
310
310
  builder.Rdd do |rdd|
311
311
  rdd.RddUid do |rdd_uid|
312
- rdd_uid.RdnUid do |rdn_uid|
313
- rdn_uid << runway.to_uid.indent(6)
314
- rdn_uid.txtDesig(name)
315
- end
312
+ rdd_uid << to_uid.indent(4)
316
313
  rdd_uid.codeType('DPLM')
317
314
  rdd_uid.codeDayPeriod('A')
318
315
  end
data/lib/aixm/config.rb CHANGED
@@ -77,7 +77,8 @@ module AIXM
77
77
  # @return [OpenStruct]
78
78
  def initialize_config
79
79
  @@config = OpenStruct.new(
80
- schema: :aixm
80
+ schema: :aixm,
81
+ mid: false
81
82
  )
82
83
  end
83
84
 
data/lib/aixm/document.rb CHANGED
@@ -7,6 +7,7 @@ module AIXM
7
7
  #
8
8
  # ===Cheat Sheet in Pseudo Code:
9
9
  # document = AIXM.document(
10
+ # region: String
10
11
  # namespace: String (UUID)
11
12
  # created_at: Time or Date or String
12
13
  # effective_at: Time or Date or String
@@ -81,7 +81,7 @@ module AIXM
81
81
  tag << addressable.to_uid.indent(2) if addressable
82
82
  tag.codeType(TYPES.key(type).to_s.then_if(AIXM.aixm?) { |t| t.sub(/-\w+$/, '') })
83
83
  tag.noSeq(sequence)
84
- end
84
+ end.insert_payload_hash(region: AIXM.config.mid_region)
85
85
  end
86
86
 
87
87
  # @return [String] AIXM or OFMX markup
@@ -74,6 +74,9 @@ module AIXM
74
74
  # declination represents the magnetic north is to the right (aka: east)
75
75
  # by this angle.
76
76
  #
77
+ # To convert a magnetic bearing to the corresponding geographic (aka:
78
+ # true) bearing, the declination has to be added.
79
+ #
77
80
  # @see https://en.wikipedia.org/wiki/Magnetic_declination
78
81
  # @return [Float, nil] magnetic declination in degrees
79
82
  attr_reader :declination
@@ -280,7 +283,15 @@ module AIXM
280
283
  builder = Builder::XmlMarkup.new(indent: 2)
281
284
  builder.tag!(as) do |tag|
282
285
  tag.codeId(id)
283
- end
286
+ end.insert_payload_hash(region: AIXM.config.mid_region)
287
+ end
288
+
289
+ # @return [String] UID markup
290
+ def to_wrapped_uid(as: :AhpUid, with:)
291
+ builder = Builder::XmlMarkup.new(indent: 2)
292
+ builder.tag!(with) do |tag|
293
+ tag << to_uid(as: as).indent(2)
294
+ end.insert_payload_hash(region: AIXM.config.mid_region)
284
295
  end
285
296
 
286
297
  # @return [String] AIXM or OFMX markup
@@ -322,9 +333,7 @@ module AIXM
322
333
  end
323
334
  if usage_limitations.any?
324
335
  builder.Ahu do |ahu|
325
- ahu.AhuUid do |ahu_uid|
326
- ahu_uid << to_uid.indent(4)
327
- end
336
+ ahu << to_wrapped_uid(with: :AhuUid).indent(2)
328
337
  usage_limitations.each do |usage_limitation|
329
338
  ahu << usage_limitation.to_xml.indent(2)
330
339
  end
@@ -136,7 +136,15 @@ module AIXM
136
136
  builder.tag!(as) do |tag|
137
137
  tag.codeType(TYPES.key(type).to_s)
138
138
  tag.codeId(id)
139
- end
139
+ end.insert_payload_hash(region: AIXM.config.mid_region)
140
+ end
141
+
142
+ # @return [String] UID markup
143
+ def to_wrapped_uid(as: :AseUid, with:)
144
+ builder = Builder::XmlMarkup.new(indent: 2)
145
+ builder.tag!(with) do |tag|
146
+ tag << to_uid(as: as).indent(2)
147
+ end.insert_payload_hash(region: AIXM.config.mid_region)
140
148
  end
141
149
 
142
150
  # @raise [AIXM::GeometryError] if the geometry is not closed
@@ -155,9 +163,7 @@ module AIXM
155
163
  end
156
164
  end
157
165
  builder.Abd do |abd|
158
- abd.AbdUid do |abd_uid|
159
- abd_uid << to_uid.indent(4)
160
- end
166
+ abd << to_wrapped_uid(with: :AbdUid).indent(2)
161
167
  abd << geometry.to_xml.indent(2)
162
168
  end
163
169
  if layered?
@@ -169,9 +175,7 @@ module AIXM
169
175
  ase << layers[index].to_xml.indent(2)
170
176
  end
171
177
  builder.Adg do |adg|
172
- adg.AdgUid do |adg_uid|
173
- adg_uid << layer_airspace.to_uid.indent(4)
174
- end
178
+ adg << layer_airspace.to_wrapped_uid(with: :AdgUid).indent(2)
175
179
  adg << to_uid(as: :AseUidSameExtent).indent(2)
176
180
  end
177
181
  end
@@ -184,7 +188,6 @@ module AIXM
184
188
  def layered?
185
189
  layers.count > 1
186
190
  end
187
-
188
191
  end
189
192
  end
190
193
  end
@@ -63,7 +63,7 @@ module AIXM
63
63
  dpn_uid.codeId(id)
64
64
  dpn_uid.geoLat(xy.lat(AIXM.schema))
65
65
  dpn_uid.geoLong(xy.long(AIXM.schema))
66
- end
66
+ end.insert_payload_hash(region: AIXM.config.mid_region)
67
67
  end
68
68
 
69
69
  # @return [String] AIXM or OFMX markup
@@ -73,7 +73,7 @@ module AIXM
73
73
  dme_uid.codeId(id)
74
74
  dme_uid.geoLat(xy.lat(AIXM.schema))
75
75
  dme_uid.geoLong(xy.long(AIXM.schema))
76
- end
76
+ end.insert_payload_hash(region: AIXM.config.mid_region)
77
77
  end
78
78
 
79
79
  # @return [String] AIXM or OFMX markup
@@ -57,7 +57,7 @@ module AIXM
57
57
  mkr_uid.codeId(id)
58
58
  mkr_uid.geoLat(xy.lat(AIXM.schema))
59
59
  mkr_uid.geoLong(xy.long(AIXM.schema))
60
- end
60
+ end.insert_payload_hash(region: AIXM.config.mid_region)
61
61
  end
62
62
 
63
63
  # @return [String] AIXM or OFMX markup
@@ -59,7 +59,7 @@ module AIXM
59
59
  ndb_uid.codeId(id)
60
60
  ndb_uid.geoLat(xy.lat(AIXM.schema))
61
61
  ndb_uid.geoLong(xy.long(AIXM.schema))
62
- end
62
+ end.insert_payload_hash(region: AIXM.config.mid_region)
63
63
  end
64
64
 
65
65
  # @return [String] AIXM or OFMX markup
@@ -32,7 +32,7 @@ module AIXM
32
32
  tcn_uid.codeId(id)
33
33
  tcn_uid.geoLat(xy.lat(AIXM.schema))
34
34
  tcn_uid.geoLong(xy.long(AIXM.schema))
35
- end
35
+ end.insert_payload_hash(region: AIXM.config.mid_region)
36
36
  end
37
37
 
38
38
  # @return [String] AIXM or OFMX markup
@@ -96,7 +96,7 @@ module AIXM
96
96
  vor_uid.codeId(id)
97
97
  vor_uid.geoLat(xy.lat(AIXM.schema))
98
98
  vor_uid.geoLong(xy.long(AIXM.schema))
99
- end
99
+ end.insert_payload_hash(region: AIXM.config.mid_region)
100
100
  end
101
101
 
102
102
  # @return [String] AIXM or OFMX markup
@@ -237,7 +237,7 @@ module AIXM
237
237
  tag << obstacle_group.to_uid.indent(2) if AIXM.ofmx?
238
238
  tag.geoLat((xy.lat(AIXM.schema)))
239
239
  tag.geoLong((xy.long(AIXM.schema)))
240
- end
240
+ end.insert_payload_hash(region: AIXM.config.mid_region)
241
241
  end
242
242
 
243
243
  # @return [String] AIXM or OFMX markup