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
@@ -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">