aixm 1.5.1 → 1.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +6 -0
- data/lib/aixm/feature/airspace.rb +37 -14
- data/lib/aixm/version.rb +1 -1
- data/schemas/ofmx/0.2/OFMX-DataTypes.xsd +3 -0
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f15f731570d6e2185715ca2fda17ebcdb7ddb9fe00a333b7ed205972b965214
|
4
|
+
data.tar.gz: 76d1b21058af9f934f3c6573cec026a50744e9876182323c234a493a9b538423
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8b2dd2ec57514a2049ee4ecc5f6333f886591e9e7e33163b0098c3a6437972f7b922e2427fa2f295d52ff1843e494e1d7b9cdcdaa78af97a80cf031f7ba3c8a
|
7
|
+
data.tar.gz: 6b179a684539e5667c56f63844a792cdb577883bb4415b0e66aa616f885a67a0998341635cb33425954a579c875c7ac936b94c5605c2f585ce7f59a2abf54f37
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -26,11 +26,14 @@ module AIXM
|
|
26
26
|
# character digest from +type+, +local_type+ and +name+.
|
27
27
|
#
|
28
28
|
# Some regions define additional airspace types. In LF (France) for
|
29
|
-
#
|
30
|
-
# mandatory zone) exist.
|
31
|
-
#
|
29
|
+
# instance, the types RMZ (radio mandatory zone) and TMZ (transponder
|
30
|
+
# mandatory zone) exist. These have been added as proper types in OFMX as
|
31
|
+
# per {OFMX_TYPES}, however, AIXM encodes them as +:regulated_airspace+ with
|
32
|
+
# a local type of +RMZ+ or +TMZ+ respectively. In other words: For AIXM, the
|
33
|
+
# following two are identical:
|
32
34
|
#
|
33
|
-
#
|
35
|
+
# AIXM.airspace(type: :radio_mandatory_zone)
|
36
|
+
# AIXM.airspace(type: :regulated_airspace, local_type: "RMZ")
|
34
37
|
#
|
35
38
|
# @see https://gitlab.com/openflightmaps/ofmx/wikis/Airspace#ase-airspace
|
36
39
|
class Airspace < Feature
|
@@ -38,7 +41,7 @@ module AIXM
|
|
38
41
|
|
39
42
|
public_class_method :new
|
40
43
|
|
41
|
-
|
44
|
+
COMMON_TYPES = {
|
42
45
|
NAS: :national_airspace_system,
|
43
46
|
FIR: :flight_information_region,
|
44
47
|
'FIR-P': :part_of_flight_information_region,
|
@@ -81,6 +84,14 @@ module AIXM
|
|
81
84
|
PART: :part_of_airspace
|
82
85
|
}.freeze
|
83
86
|
|
87
|
+
OFMX_TYPES = {
|
88
|
+
DRA: :drone_area,
|
89
|
+
RMZ: :radio_mandatory_zone,
|
90
|
+
TMZ: :transponder_mandatory_zone
|
91
|
+
}.freeze
|
92
|
+
|
93
|
+
TYPES = COMMON_TYPES.merge OFMX_TYPES
|
94
|
+
|
84
95
|
# @!method geometry
|
85
96
|
# @return [AIXM::Component::Geometry] horizontal geometry shape
|
86
97
|
#
|
@@ -106,18 +117,18 @@ module AIXM
|
|
106
117
|
# @param value [String]
|
107
118
|
attr_reader :id
|
108
119
|
|
109
|
-
# Type of airspace (see {
|
120
|
+
# Type of airspace (see {COMMON_TYPES} and {OFMX_TYPES})
|
110
121
|
#
|
111
122
|
# @overload type
|
112
|
-
# @return [Symbol] any of {
|
123
|
+
# @return [Symbol] any of {COMMON_TYPES} or {OFMX_TYPES}
|
113
124
|
# @overload type=(value)
|
114
|
-
# @param value [Symbol] any of {
|
125
|
+
# @param value [Symbol] any of {COMMON_TYPES} or {OFMX_TYPES}
|
115
126
|
attr_reader :type
|
116
127
|
|
117
128
|
# Local type.
|
118
129
|
#
|
119
|
-
# Some regions define additional local types
|
120
|
-
#
|
130
|
+
# Some regions define additional local types. They are usually further
|
131
|
+
# specifying type +:regulated_airspace+.
|
121
132
|
#
|
122
133
|
# @overload local_type
|
123
134
|
# @return [String, nil]
|
@@ -184,9 +195,14 @@ module AIXM
|
|
184
195
|
# @!visibility private
|
185
196
|
def add_uid_to(builder, as: :AseUid)
|
186
197
|
builder.send(as, ({ region: (region if AIXM.ofmx?) }.compact)) do |tag|
|
187
|
-
|
188
|
-
|
189
|
-
|
198
|
+
if AIXM.ofmx?
|
199
|
+
tag.codeType(TYPES.key(type))
|
200
|
+
tag.codeId(id)
|
201
|
+
tag.txtLocalType(local_type) if local_type?
|
202
|
+
else
|
203
|
+
tag.codeType(COMMON_TYPES.key(type) || 'RAS')
|
204
|
+
tag.codeId(id)
|
205
|
+
end
|
190
206
|
end
|
191
207
|
end
|
192
208
|
|
@@ -205,7 +221,10 @@ module AIXM
|
|
205
221
|
builder.Ase({ source: (source if AIXM.ofmx?) }.compact) do |ase|
|
206
222
|
ase.comment(indented_comment) if comment
|
207
223
|
add_uid_to(ase)
|
208
|
-
|
224
|
+
if AIXM.aixm?
|
225
|
+
ofmx_type = OFMX_TYPES.key(type)
|
226
|
+
ase.txtLocalType(ofmx_type || local_type) if ofmx_type || local_type?
|
227
|
+
end
|
209
228
|
ase.txtName(name) if name
|
210
229
|
ase.txtNameAlt(alternative_name) if AIXM.ofmx? && alternative_name
|
211
230
|
layers.first.add_to(ase) unless layered?
|
@@ -249,6 +268,10 @@ module AIXM
|
|
249
268
|
|
250
269
|
private
|
251
270
|
|
271
|
+
def local_type?
|
272
|
+
local_type && local_type != name
|
273
|
+
end
|
274
|
+
|
252
275
|
def layered?
|
253
276
|
layers.count > 1
|
254
277
|
end
|
data/lib/aixm/version.rb
CHANGED
@@ -3033,6 +3033,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
3033
3033
|
<xsd:enumeration value="PROTECT"/>
|
3034
3034
|
<xsd:enumeration value="AMA"/>
|
3035
3035
|
<xsd:enumeration value="ASR"/>
|
3036
|
+
<xsd:enumeration value="RMZ"/>
|
3037
|
+
<xsd:enumeration value="TMZ"/>
|
3038
|
+
<xsd:enumeration value="DRA"/>
|
3036
3039
|
</xsd:restriction>
|
3037
3040
|
</xsd:simpleType>
|
3038
3041
|
<xsd:complexType name="codeTypeAs">
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aixm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Schwyn
|
@@ -27,7 +27,7 @@ cert_chain:
|
|
27
27
|
k/QvZU05f6HMYBrPogJgIzHC/C5N/yeE4BVEuBDn+10Zb1iu3aDk8sd0uMgukCY8
|
28
28
|
TUmlP5A6NeGdeDJIoLgromAKs+nvI7TWzhQq9ODs51XhxgUFRCvBqUTpjTQigw==
|
29
29
|
-----END CERTIFICATE-----
|
30
|
-
date: 2024-
|
30
|
+
date: 2024-05-29 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: bigdecimal
|
@@ -330,7 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
330
330
|
- !ruby/object:Gem::Version
|
331
331
|
version: '0'
|
332
332
|
requirements: []
|
333
|
-
rubygems_version: 3.5.
|
333
|
+
rubygems_version: 3.5.11
|
334
334
|
signing_key:
|
335
335
|
specification_version: 4
|
336
336
|
summary: Builder for AIXM/OFMX aeronautical information
|
metadata.gz.sig
CHANGED
Binary file
|