aixm 0.3.0 → 0.3.1

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 (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
@@ -9,7 +9,6 @@ module AIXM
9
9
  # ===Cheat Sheet in Pseudo Code:
10
10
  # unit = AIXM.unit(
11
11
  # source: String or nil
12
- # region: String or nil (falls back to +AIXM.config.region+)
13
12
  # organisation: AIXM.organisation
14
13
  # name: String
15
14
  # type: TYPES
@@ -58,8 +57,8 @@ module AIXM
58
57
  # @return [String, nil] free text remarks
59
58
  attr_reader :remarks
60
59
 
61
- def initialize(source: nil, region: nil, organisation:, name:, type:, class:)
62
- super(source: source, region: region)
60
+ def initialize(source: nil, organisation:, name:, type:, class:)
61
+ super(source: source)
63
62
  self.organisation, self.name, self.type = organisation, name, type
64
63
  self.class = binding.local_variable_get(:class)
65
64
  @services = []
@@ -123,7 +122,7 @@ module AIXM
123
122
  # @return [String] UID markup
124
123
  def to_uid
125
124
  builder = Builder::XmlMarkup.new(indent: 2)
126
- builder.UniUid({ region: (region if AIXM.ofmx?) }.compact) do |uni_uid|
125
+ builder.UniUid do |uni_uid|
127
126
  uni_uid.txtName(name)
128
127
  end
129
128
  end
@@ -1,3 +1,3 @@
1
1
  module AIXM
2
- VERSION = "0.3.0".freeze
2
+ VERSION = "0.3.1".freeze
3
3
  end
@@ -0,0 +1,209 @@
1
+ {
2
+ "fields": [
3
+ {
4
+ "name": "codeId",
5
+ "type": "integer",
6
+ "constraints": {
7
+ "required": true,
8
+ "unique": true,
9
+ "minimum": 1
10
+ }
11
+ },
12
+ {
13
+ "name": "codeType",
14
+ "type": "string",
15
+ "constraints": {
16
+ "required": true,
17
+ "enum": [
18
+ "ANTENNA",
19
+ "BUILDING",
20
+ "CHIMNEY",
21
+ "CRANE",
22
+ "MAST",
23
+ "TOWER",
24
+ "TREE",
25
+ "WINDTURBINE",
26
+ "OTHER"
27
+ ]
28
+ }
29
+ },
30
+ {
31
+ "name": "txtName",
32
+ "type": "string",
33
+ "constraints": {
34
+ "pattern": "[A-Z]*"
35
+ }
36
+ },
37
+ {
38
+ "name": "codeLgt",
39
+ "type": "string",
40
+ "constraints": {
41
+ "enum": [
42
+ "Y",
43
+ "N"
44
+ ]
45
+ }
46
+ },
47
+ {
48
+ "name": "codeMarking",
49
+ "type": "string",
50
+ "constraints": {
51
+ "enum": [
52
+ "Y",
53
+ "N"
54
+ ]
55
+ }
56
+ },
57
+ {
58
+ "name": "txtDescrLgt",
59
+ "type": "string"
60
+ },
61
+ {
62
+ "name": "txtDescrMarking",
63
+ "type": "string"
64
+ },
65
+ {
66
+ "name": "geoLat",
67
+ "type": "string",
68
+ "constraints": {
69
+ "required": true,
70
+ "pattern": "(([0-8][0-9](\\.\\d{1,8}){0,1}(N|S))|(90(\\.0{1,8}){0,1}(N|S)))"
71
+ }
72
+ },
73
+ {
74
+ "name": "geoLong",
75
+ "type": "string",
76
+ "constraints": {
77
+ "required": true,
78
+ "pattern": "((((0[0-9])|(1[0-7]))[0-9](\\.\\d{1,8}){0,1}(E|W))|(180(\\.0{1,8}){0,1}(E|W)))"
79
+ }
80
+ },
81
+ {
82
+ "name": "valGeoAccuracy",
83
+ "type": "integer",
84
+ "constraints": {
85
+ "minimum": 0
86
+ }
87
+ },
88
+ {
89
+ "name": "uomGeoAccuracy",
90
+ "type": "string",
91
+ "constraints": {
92
+ "enum": [
93
+ "FT",
94
+ "KM",
95
+ "M",
96
+ "NM"
97
+ ]
98
+ }
99
+ },
100
+ {
101
+ "name": "valElev",
102
+ "type": "integer",
103
+ "constraints": {
104
+ "required": true
105
+ }
106
+ },
107
+ {
108
+ "name": "valElevAccuracy",
109
+ "type": "integer",
110
+ "constraints": {
111
+ "minimum": 0
112
+ }
113
+ },
114
+ {
115
+ "name": "valHgt",
116
+ "type": "integer",
117
+ "constraints": {
118
+ "minimum": 1
119
+ }
120
+ },
121
+ {
122
+ "name": "codeHgtAccuracy",
123
+ "type": "string",
124
+ "constraints": {
125
+ "enum": [
126
+ "Y",
127
+ "N"
128
+ ]
129
+ }
130
+ },
131
+ {
132
+ "name": "uomDistVer",
133
+ "type": "string",
134
+ "constraints": {
135
+ "required": true,
136
+ "enum": [
137
+ "FT",
138
+ "M"
139
+ ]
140
+ }
141
+ },
142
+ {
143
+ "name": "valRadius",
144
+ "type": "integer",
145
+ "constraints": {
146
+ "minimum": 1
147
+ }
148
+ },
149
+ {
150
+ "name": "uomRadius",
151
+ "type": "string",
152
+ "constraints": {
153
+ "enum": [
154
+ "FT",
155
+ "KM",
156
+ "M",
157
+ "NM"
158
+ ]
159
+ }
160
+ },
161
+ {
162
+ "name": "codeGroupId",
163
+ "type": "string",
164
+ "constraints": {
165
+ "pattern": "(\\d+|[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12})?"
166
+ }
167
+ },
168
+ {
169
+ "name": "txtGroupName",
170
+ "type": "string"
171
+ },
172
+ {
173
+ "name": "codeLinkedToId",
174
+ "type": "integer"
175
+ },
176
+ {
177
+ "name": "codeLinkType",
178
+ "type": "string",
179
+ "constraints": {
180
+ "enum": [
181
+ "CABLE",
182
+ "SOLID",
183
+ "OTHER"
184
+ ]
185
+ }
186
+ },
187
+ {
188
+ "name": "datetimeValidWef",
189
+ "type": "string",
190
+ "format": "datetime"
191
+ },
192
+ {
193
+ "name": "datetimeValidTil",
194
+ "type": "string",
195
+ "format": "datetime"
196
+ },
197
+ {
198
+ "name": "txtRmk",
199
+ "type": "string"
200
+ },
201
+ {
202
+ "name": "source",
203
+ "type": "string",
204
+ "constraints": {
205
+ "required": true
206
+ }
207
+ }
208
+ ]
209
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "dialect": {
3
+ "csvddfVersion": 1.2,
4
+ "header": true,
5
+ "caseSensitiveHeader": true,
6
+ "delimiter": ",",
7
+ "quoteChar": "\"",
8
+ "doubleQuote": true,
9
+ "lineTerminator": "\r\n",
10
+ "skipInitialSpace": false
11
+ }
12
+ }
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  ********************************************************************************
4
4
 
5
- OFMX 0.1.0 - open flightmaps exchange format
5
+ OFMX XML 0.1.0 - open flightmaps exchange format
6
6
 
7
7
  This is a fork of AIXM 4.5 to accomodate extensions and backports for
8
8
  open flightmaps.
@@ -37,7 +37,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
37
  -->
38
38
  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
39
39
  <xsd:annotation>
40
- <xsd:documentation>Version: 4.5-1</xsd:documentation>
40
+ <xsd:documentation>Version: 0.1.0</xsd:documentation>
41
41
  </xsd:annotation>
42
42
  <!-- OFMX predefined simple data types -->
43
43
  <xsd:simpleType name="alpha">
@@ -87,7 +87,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
87
87
  <xsd:documentation>Reference to the source AIP document.</xsd:documentation>
88
88
  </xsd:annotation>
89
89
  <xsd:restriction base="xsd:string">
90
- <xsd:pattern value="[A-Z]{2,4}\|(GEN|ENR|AD|AIRAC)\|.{3,}\|\d+\|\d+"/>
90
+ <xsd:pattern value="[A-Z]{2,4}\|(GEN|ENR|AD|AIRAC)\|.{3,}\|[\d-]+\|\d+"/>
91
91
  </xsd:restriction>
92
92
  </xsd:simpleType>
93
93
  <xsd:simpleType name="codeAcftEngineNoBase">
@@ -284,6 +284,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
284
284
  <xsd:enumeration value="TR4"/>
285
285
  <xsd:enumeration value="TS-1"/>
286
286
  <xsd:enumeration value="RT"/>
287
+ <xsd:enumeration value="DIESEL"/>
288
+ <xsd:enumeration value="OCT100"/>
287
289
  <xsd:enumeration value="ALL"/>
288
290
  <xsd:enumeration value="OTHER"/>
289
291
  </xsd:restriction>
@@ -1848,12 +1850,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1848
1850
  <xsd:simpleType name="codeIdAdHpBase">
1849
1851
  <xsd:restriction base="alphanumeric">
1850
1852
  <xsd:minLength value="3"/>
1851
- <xsd:maxLength value="6"/>
1853
+ <xsd:pattern value="([A-Z]{3,4}|[A-Z]{2}[A-Z\d]{4,})"/>
1852
1854
  </xsd:restriction>
1853
1855
  </xsd:simpleType>
1854
1856
  <xsd:complexType name="codeIdAdHp">
1855
1857
  <xsd:annotation>
1856
- <xsd:documentation>A coded identifier for an Aerodrome/Heliport. The rules according to which this identifier should be formed are as follows: 1) If the AD/HP has an ICAO four letter location indicator, this will become the CODE_ID for the Aerodrome/Heliport; 2) If the AD/HP does not have an ICAO four letter location indicator but has an IATA three letter code, then this will become the CODE_ID for the Aerodrome/Heliport; 3) If the AD/HP does not have either an ICAO four letter location indicator or an IATA three letter code, an artificially generated code will be used. This will contain a group of letters and a number. The group of letters could be the 2 letter code of the State responsible for the Aerodrome/Heliport (or one of these, if there are more than one, like ED and ET for Germany) and the number could be an integer between 0001 and 9999. </xsd:documentation>
1858
+ <xsd:documentation>A coded identifier for an Aerodrome/Heliport. The rules according to which this identifier should be formed are as follows: 1) If the AD/HP has an ICAO four letter location indicator, this will become the CODE_ID for the Aerodrome/Heliport; 2) If the AD/HP does not have an ICAO four letter location indicator but has an IATA three letter code, then this will become the CODE_ID for the Aerodrome/Heliport; 3) If the AD/HP does not have either an ICAO four letter location indicator or an IATA three letter code, an artificially generated code will be used. This will contain a group of letters and a number. The group of letters could be the 2 letter code of the State responsible for the Aerodrome/Heliport (or one of these, if there are more than one, like ED and ET for Germany) and the number could be an integer between 0001 and 9999; 4) As an alternative to 3, it is also possible use the 2 letter code of the State responsible for the Aerodrome/Heliport and add at least four letters and/or numbers to it.</xsd:documentation>
1857
1859
  </xsd:annotation>
1858
1860
  <xsd:simpleContent>
1859
1861
  <xsd:extension base="codeIdAdHpBase">
@@ -3675,6 +3677,46 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3675
3677
  </xsd:extension>
3676
3678
  </xsd:simpleContent>
3677
3679
  </xsd:complexType>
3680
+ <xsd:simpleType name="codeTypeObstacleBase">
3681
+ <xsd:restriction base="xsd:string">
3682
+ <xsd:enumeration value="ANTENNA"/>
3683
+ <xsd:enumeration value="BUILDING"/>
3684
+ <xsd:enumeration value="CHIMNEY"/>
3685
+ <xsd:enumeration value="CRANE"/>
3686
+ <xsd:enumeration value="MAST"/>
3687
+ <xsd:enumeration value="TOWER"/>
3688
+ <xsd:enumeration value="TREE"/>
3689
+ <xsd:enumeration value="WINDTURBINE"/>
3690
+ <xsd:enumeration value="OTHER"/>
3691
+ </xsd:restriction>
3692
+ </xsd:simpleType>
3693
+ <xsd:complexType name="codeTypeObstacle">
3694
+ <xsd:annotation>
3695
+ <xsd:documentation>A code indicating the type of the obstacle.</xsd:documentation>
3696
+ </xsd:annotation>
3697
+ <xsd:simpleContent>
3698
+ <xsd:extension base="codeTypeObstacleBase">
3699
+ <xsd:attributeGroup ref="Changes"/>
3700
+ </xsd:extension>
3701
+ </xsd:simpleContent>
3702
+ </xsd:complexType>
3703
+ <xsd:simpleType name="codeTypeObstacleLinkBase">
3704
+ <xsd:restriction base="xsd:string">
3705
+ <xsd:enumeration value="CABLE"/>
3706
+ <xsd:enumeration value="SOLID"/>
3707
+ <xsd:enumeration value="OTHER"/>
3708
+ </xsd:restriction>
3709
+ </xsd:simpleType>
3710
+ <xsd:complexType name="codeTypeObstacleLink">
3711
+ <xsd:annotation>
3712
+ <xsd:documentation>A code indicating the type of link between two obstacles.</xsd:documentation>
3713
+ </xsd:annotation>
3714
+ <xsd:simpleContent>
3715
+ <xsd:extension base="codeTypeObstacleLinkBase">
3716
+ <xsd:attributeGroup ref="Changes"/>
3717
+ </xsd:extension>
3718
+ </xsd:simpleContent>
3719
+ </xsd:complexType>
3678
3720
  <xsd:simpleType name="codeTypeOpsRwyBase">
3679
3721
  <xsd:restriction base="xsd:string">
3680
3722
  <xsd:enumeration value="APCH"/>
@@ -4326,6 +4368,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4326
4368
  <xsd:simpleType name="codeTypeLabelMarkerBase">
4327
4369
  <xsd:restriction base="xsd:string">
4328
4370
  <xsd:enumeration value="TEXT"/>
4371
+ <xsd:enumeration value="FIS-INFO"/>
4329
4372
  </xsd:restriction>
4330
4373
  </xsd:simpleType>
4331
4374
  <xsd:complexType name="codeTypeLabelMarker">
@@ -4588,6 +4631,22 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4588
4631
  </xsd:extension>
4589
4632
  </xsd:simpleContent>
4590
4633
  </xsd:complexType>
4634
+ <xsd:simpleType name="txtGroupNameBase">
4635
+ <xsd:restriction base="character2">
4636
+ <xsd:minLength value="1"/>
4637
+ <xsd:maxLength value="100"/>
4638
+ </xsd:restriction>
4639
+ </xsd:simpleType>
4640
+ <xsd:complexType name="txtGroupName">
4641
+ <xsd:annotation>
4642
+ <xsd:documentation>Name or short description of an obstacle group.</xsd:documentation>
4643
+ </xsd:annotation>
4644
+ <xsd:simpleContent>
4645
+ <xsd:extension base="txtGroupNameBase">
4646
+ <xsd:attributeGroup ref="Changes"/>
4647
+ </xsd:extension>
4648
+ </xsd:simpleContent>
4649
+ </xsd:complexType>
4591
4650
  <xsd:simpleType name="txtNameBase">
4592
4651
  <xsd:restriction base="character3">
4593
4652
  <xsd:minLength value="1"/>
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  ********************************************************************************
4
4
 
5
- OFMX 0.1.0 - open flightmaps exchange format
5
+ OFMX XML 0.1.0 - open flightmaps exchange format
6
6
 
7
7
  This is a fork of AIXM 4.5 to accomodate extensions and backports for
8
8
  open flightmaps.
@@ -37,7 +37,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
37
  -->
38
38
  <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
39
39
  <xsd:annotation>
40
- <xsd:documentation>Version: 4.5-1</xsd:documentation>
40
+ <xsd:documentation>Version: 0.1.0</xsd:documentation>
41
41
  </xsd:annotation>
42
42
  <xsd:include schemaLocation="OFMX-DataTypes.xsd"/>
43
43
  <xsd:attribute name="mid" type="xsd:string">
@@ -45,11 +45,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45
45
  <xsd:documentation>Optional, could be used to exchange generated UID values</xsd:documentation>
46
46
  </xsd:annotation>
47
47
  </xsd:attribute>
48
- <xsd:attribute name="region" type="codeRegion">
49
- <xsd:annotation>
50
- <xsd:documentation>Region this feature belongs to</xsd:documentation>
51
- </xsd:annotation>
52
- </xsd:attribute>
53
48
  <xsd:attribute name="source" type="codeSource">
54
49
  <xsd:annotation>
55
50
  <xsd:documentation>Reference to the source AIP document</xsd:documentation>
@@ -514,7 +509,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
514
509
  </xsd:annotation>
515
510
  </xsd:element>
516
511
  </xsd:sequence>
517
- <xsd:attribute ref="region" use="required"/>
518
512
  <xsd:attribute ref="mid"/>
519
513
  </xsd:complexType>
520
514
  <xsd:complexType name="AerodromeHeliportUsageType">
@@ -1392,7 +1386,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1392
1386
  </xsd:element>
1393
1387
  </xsd:sequence>
1394
1388
  <xsd:attribute ref="source"/>
1395
- <xsd:attribute name="classLayers" type="counter"/>
1396
1389
  </xsd:complexType>
1397
1390
  <xsd:complexType name="AirspaceUidType">
1398
1391
  <xsd:annotation>
@@ -1410,7 +1403,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1410
1403
  </xsd:annotation>
1411
1404
  </xsd:element>
1412
1405
  </xsd:sequence>
1413
- <xsd:attribute ref="region" use="required"/>
1414
1406
  <xsd:attribute ref="mid"/>
1415
1407
  </xsd:complexType>
1416
1408
  <xsd:complexType name="ApronGeometryPointType">
@@ -1886,7 +1878,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1886
1878
  </xsd:annotation>
1887
1879
  </xsd:element>
1888
1880
  </xsd:sequence>
1889
- <xsd:attribute ref="region" use="required"/>
1890
1881
  <xsd:attribute ref="mid"/>
1891
1882
  </xsd:complexType>
1892
1883
  <xsd:complexType name="DirectFlightClassType">
@@ -2167,7 +2158,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2167
2158
  </xsd:annotation>
2168
2159
  </xsd:element>
2169
2160
  </xsd:sequence>
2170
- <xsd:attribute ref="region" use="required"/>
2171
2161
  <xsd:attribute ref="mid"/>
2172
2162
  </xsd:complexType>
2173
2163
  <xsd:complexType name="DmeUsageLimitationType">
@@ -4498,7 +4488,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4498
4488
  </xsd:annotation>
4499
4489
  </xsd:element>
4500
4490
  </xsd:sequence>
4501
- <xsd:attribute ref="region" use="required"/>
4502
4491
  <xsd:attribute ref="mid"/>
4503
4492
  </xsd:complexType>
4504
4493
  <xsd:complexType name="MlsAzimuthType">
@@ -5270,7 +5259,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5270
5259
  </xsd:annotation>
5271
5260
  </xsd:element>
5272
5261
  </xsd:sequence>
5273
- <xsd:attribute ref="region" use="required"/>
5274
5262
  <xsd:attribute ref="mid"/>
5275
5263
  </xsd:complexType>
5276
5264
  <xsd:complexType name="NdbUsageLimitationType">
@@ -5402,21 +5390,31 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5402
5390
  <xsd:documentation>Name</xsd:documentation>
5403
5391
  </xsd:annotation>
5404
5392
  </xsd:element>
5405
- <xsd:element name="txtDescrType" type="txtDescr">
5393
+ <xsd:element name="codeType" type="codeTypeObstacle">
5406
5394
  <xsd:annotation>
5407
5395
  <xsd:documentation>Type</xsd:documentation>
5408
5396
  </xsd:annotation>
5409
5397
  </xsd:element>
5410
- <xsd:element name="codeGroup" type="codeYesNo">
5398
+ <xsd:element name="txtDescrType" type="txtDescr" minOccurs="0">
5399
+ <xsd:annotation>
5400
+ <xsd:documentation>Type details</xsd:documentation>
5401
+ </xsd:annotation>
5402
+ </xsd:element>
5403
+ <xsd:element name="codeGroup" type="codeYesNo" minOccurs="0">
5411
5404
  <xsd:annotation>
5412
5405
  <xsd:documentation>Group of obstacles</xsd:documentation>
5413
5406
  </xsd:annotation>
5414
5407
  </xsd:element>
5415
- <xsd:element name="codeLgt" type="codeYesNo">
5408
+ <xsd:element name="codeLgt" type="codeYesNo" minOccurs="0">
5416
5409
  <xsd:annotation>
5417
5410
  <xsd:documentation>Lighted</xsd:documentation>
5418
5411
  </xsd:annotation>
5419
5412
  </xsd:element>
5413
+ <xsd:element name="codeMarking" type="codeYesNo" minOccurs="0">
5414
+ <xsd:annotation>
5415
+ <xsd:documentation>Marked</xsd:documentation>
5416
+ </xsd:annotation>
5417
+ </xsd:element>
5420
5418
  <xsd:element name="txtDescrLgt" type="txtDescr" minOccurs="0">
5421
5419
  <xsd:annotation>
5422
5420
  <xsd:documentation>Type and colour of lighting</xsd:documentation>
@@ -5457,6 +5455,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5457
5455
  <xsd:documentation>Height</xsd:documentation>
5458
5456
  </xsd:annotation>
5459
5457
  </xsd:element>
5458
+ <xsd:element name="codeHgtAccuracy" type="codeYesNo" minOccurs="0">
5459
+ <xsd:annotation>
5460
+ <xsd:documentation>Height accuracy</xsd:documentation>
5461
+ </xsd:annotation>
5462
+ </xsd:element>
5460
5463
  <xsd:element name="valGeoidUndulation" type="valDistVer" minOccurs="0">
5461
5464
  <xsd:annotation>
5462
5465
  <xsd:documentation>Geoid undulation</xsd:documentation>
@@ -5467,6 +5470,46 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5467
5470
  <xsd:documentation>Unit of measurement [vertical distance]</xsd:documentation>
5468
5471
  </xsd:annotation>
5469
5472
  </xsd:element>
5473
+ <xsd:element name="valRadius" type="valDistHorz">
5474
+ <xsd:annotation>
5475
+ <xsd:documentation>Radius</xsd:documentation>
5476
+ </xsd:annotation>
5477
+ </xsd:element>
5478
+ <xsd:element name="uomRadius" type="uomDistHorz">
5479
+ <xsd:annotation>
5480
+ <xsd:documentation>Unit of measurement [radius]</xsd:documentation>
5481
+ </xsd:annotation>
5482
+ </xsd:element>
5483
+ <xsd:element name="codeGroupId" type="uuid" minOccurs="0">
5484
+ <xsd:annotation>
5485
+ <xsd:documentation>Group identifier (identical on all group members)</xsd:documentation>
5486
+ </xsd:annotation>
5487
+ </xsd:element>
5488
+ <xsd:element name="txtGroupName" type="txtGroupName" minOccurs="0">
5489
+ <xsd:annotation>
5490
+ <xsd:documentation>Group name or short description</xsd:documentation>
5491
+ </xsd:annotation>
5492
+ </xsd:element>
5493
+ <xsd:element name="ObsUidLink" type="ObstacleUidType" minOccurs="0">
5494
+ <xsd:annotation>
5495
+ <xsd:documentation>Another obstacle this one is linked to.</xsd:documentation>
5496
+ </xsd:annotation>
5497
+ </xsd:element>
5498
+ <xsd:element name="codeLinkType" type="codeTypeObstacleLink" minOccurs="0">
5499
+ <xsd:annotation>
5500
+ <xsd:documentation>Link type</xsd:documentation>
5501
+ </xsd:annotation>
5502
+ </xsd:element>
5503
+ <xsd:element name="datetimeValidWef" type="xsd:dateTime" minOccurs="0">
5504
+ <xsd:annotation>
5505
+ <xsd:documentation>Obstacle valid after this date and time.</xsd:documentation>
5506
+ </xsd:annotation>
5507
+ </xsd:element>
5508
+ <xsd:element name="datetimeValidTil" type="xsd:dateTime" minOccurs="0">
5509
+ <xsd:annotation>
5510
+ <xsd:documentation>Obstacle valid until this date and time.</xsd:documentation>
5511
+ </xsd:annotation>
5512
+ </xsd:element>
5470
5513
  <xsd:element name="valCrc" type="valHex" minOccurs="0">
5471
5514
  <xsd:annotation>
5472
5515
  <xsd:documentation>Cyclic redundancy check</xsd:documentation>
@@ -5483,6 +5526,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5483
5526
  </xsd:annotation>
5484
5527
  </xsd:element>
5485
5528
  </xsd:sequence>
5529
+ <xsd:attribute ref="source"/>
5486
5530
  </xsd:complexType>
5487
5531
  <xsd:complexType name="ObstacleUidType">
5488
5532
  <xsd:annotation>
@@ -5666,7 +5710,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5666
5710
  </xsd:annotation>
5667
5711
  </xsd:element>
5668
5712
  </xsd:sequence>
5669
- <xsd:attribute ref="region" use="required"/>
5670
5713
  <xsd:attribute ref="mid"/>
5671
5714
  </xsd:complexType>
5672
5715
  <xsd:complexType name="OxygenType">
@@ -7138,6 +7181,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7138
7181
  </xsd:annotation>
7139
7182
  </xsd:element>
7140
7183
  </xsd:sequence>
7184
+ <xsd:attribute ref="source"/>
7141
7185
  </xsd:complexType>
7142
7186
  <xsd:complexType name="ServiceUidType">
7143
7187
  <xsd:annotation>
@@ -7949,6 +7993,16 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7949
7993
  <xsd:documentation>Channel</xsd:documentation>
7950
7994
  </xsd:annotation>
7951
7995
  </xsd:element>
7996
+ <xsd:element name="valGhostFreq" type="valFreq" minOccurs="0">
7997
+ <xsd:annotation>
7998
+ <xsd:documentation>Frequency of virtual VHF facility</xsd:documentation>
7999
+ </xsd:annotation>
8000
+ </xsd:element>
8001
+ <xsd:element name="uomGhostFreq" type="uomFreq" minOccurs="0">
8002
+ <xsd:annotation>
8003
+ <xsd:documentation>Unit of measurement [frequency of virtual VHF facility]</xsd:documentation>
8004
+ </xsd:annotation>
8005
+ </xsd:element>
7952
8006
  <xsd:element name="valDeclination" type="valAngleMagVar" minOccurs="0">
7953
8007
  <xsd:annotation>
7954
8008
  <xsd:documentation>Station declination</xsd:documentation>
@@ -8048,7 +8102,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8048
8102
  </xsd:annotation>
8049
8103
  </xsd:element>
8050
8104
  </xsd:sequence>
8051
- <xsd:attribute ref="region" use="required"/>
8052
8105
  <xsd:attribute ref="mid"/>
8053
8106
  </xsd:complexType>
8054
8107
  <xsd:complexType name="TacanUsageLimitationType">
@@ -9228,7 +9281,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9228
9281
  </xsd:annotation>
9229
9282
  </xsd:element>
9230
9283
  </xsd:sequence>
9231
- <xsd:attribute ref="region" use="required"/>
9232
9284
  <xsd:attribute ref="mid"/>
9233
9285
  </xsd:complexType>
9234
9286
  <xsd:complexType name="VorLimitationType">
@@ -9477,7 +9529,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9477
9529
  </xsd:annotation>
9478
9530
  </xsd:element>
9479
9531
  </xsd:sequence>
9480
- <xsd:attribute ref="region" use="required"/>
9481
9532
  <xsd:attribute ref="mid"/>
9482
9533
  </xsd:complexType>
9483
9534
  <xsd:complexType name="VorUsageLimitationType">
@@ -9546,7 +9597,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9546
9597
  <xsd:documentation>Datum</xsd:documentation>
9547
9598
  </xsd:annotation>
9548
9599
  </xsd:element>
9549
- <xsd:element name="ZoomLevel" minOccurs="1" maxOccurs="7">
9600
+ <xsd:element name="ZoomLevel" minOccurs="1" maxOccurs="unbounded">
9550
9601
  <xsd:annotation>
9551
9602
  <xsd:documentation>Divergent position and label value based on the zoom level.</xsd:documentation>
9552
9603
  </xsd:annotation>
@@ -9593,7 +9644,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9593
9644
  </xsd:annotation>
9594
9645
  </xsd:element>
9595
9646
  </xsd:sequence>
9596
- <xsd:attribute ref="region" use="required"/>
9597
9647
  <xsd:attribute ref="mid"/>
9598
9648
  </xsd:complexType>
9599
9649
  <xsd:group name="SectorOfCircle">