-
Notifications
You must be signed in to change notification settings - Fork 23
Geospatial objects in IWXXM
While the document Use of GML for Aviation Data prepared by the Aviation Domain Working Group of OGC provides useful guidance on describing geospatial objects in IWXXM, allowing representations in either 3-dimensional CRS (3D) or 2-dimensional CRS + altitude (2.5D) can cause confusion (#120). During a session of the ICAO METP WG-MIE/WG-MRI conjoint meeting in EUROCONTROL in Nov 2018 where AIXM CCB and FIXM representative were present, the AIXM folks were also of the view that it would be less troublesome to use 2.5D representations only. Further discussion within WMO TT-AvXML (#140) confirmed the use of schematron rules to mandate the setting of srsDimension="2" when srsName is present to remind instance creators to use 2-dimensional CRS only within AIXM features.
For those weather objects ultilising AIXM features, the AIXM Coding Guidance mentioned that "the CRS for all geometries shall be specified either directly on the geometry element or is derived from the larger context the geometry is part of". In particular, "the value of the srsName attribute on the gml:Envelope shall be inherited by all directly expressed geometries in all properties of the feature of members of the collection".
iwxxm:aerodrome is the aerodrome location for the report through aixm:AirportHeliport and this diagram shows the associated data model. The optional element aixm:ARP can be used to indicate, through aixm:ElevatedPoint, the location and, optionally, the elevation of the Aerodrome Reference Point (ARP).
Section 1.3 of ICAO Annex 14 (Aerodrome) defines common reference systems used which include:
- "World Geodetic System - 1984 (WGS-84) shall be used as the horizontal (geodetic) reference system. Reported aeronautical geographical coordinates (indicating latitude and longitude) shall be expressed in terms of the WGS-84 geodetic reference datum".
- "Mean sea level (MSL) datum, which gives the relationship of gravity-related height (elevation) to a surface known as the geoid, shall be used as the vertical reference system".
<iwxxm:aerodrome> <aixm:AirportHeliport gml:id="uuid.143d63d9-15f5-442e-9bdc-1f3db93fb619"> <aixm:timeSlice> <aixm:AirportHeliportTimeSlice gml:id="uuid.75c3340c-3679-4e31-8aec-efdabe375d49"> <gml:validTime/> <aixm:interpretation>SNAPSHOT</aixm:interpretation> <aixm:designator>YUDO</aixm:designator> <aixm:name>DONLON/INTERNATIONAL</aixm:name> <aixm:locationIndicatorICAO>YUDO</aixm:locationindicatoricao> <aixm:ARP> <aixm:ElevatedPoint gml:id="uuid.dd2c810b-edaa-4ad9-bb65-9ab774d1522e" srsDimension="2" axisLabels="Lat Long" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> <gml:pos>12.34 -12.34</gml:pos> <aixm:elevation uom="M">12</aixm:elevation> <aixm:verticalDatum>EGM_96</aixm:verticaldatum> </aixm:elevatedpoint> </aixm:arp> </aixm:airportheliporttimeslice> </aixm:timeslice> </aixm:airportheliport> </iwxxm:aerodrome>
iwxxm:CloudLayer/iwxxm:base represents the height of cloud base. Section 4.5.3 in Appendix 3 to ICAO Annex 3 mentioned that "the height of cloud base shall be reported above aerodrome elevation". While there are variations to this requirement, like "when a precision approach runway is in use which has a threshold elevation 15 m (50 ft) or more below the aerodrome elevation, local arrangements shall be made in order that the height of cloud bases reported to arriving aircraft shall refer to the threshold elevation. In the case of reports from offshore structures, the height of cloud base shall be given above mean sea level", there is no ambiguity of the reference level. As there is also no requirement to indicate the reference level in reporting, this reference level for cloud base height is omitted in these IWXXM reports.
iwxxm:issuingAirTrafficServicesUnit and iwxxm:originatingMeteorologicalWatchOffice represents "the ATS unit serving the FIR or CTA to which the report refers" and "MWO originating the report" respectively. Even though they are represented by aixm:Unit (see this diagram for associated data model), geospatial information of these entities are not expected to be included.
iwxxm:issuingAirTrafficServicesRegion represents "the ATS region (FIR, UIR, CTA, or FIR/UIR)" through aixm:Airspace (see this diagram for associated data model). Optional aixm:geometryComponent can be used to indicate the boundary of the ATS region as below.
<iwxxm:issuingAirTrafficServicesRegion> <aixm:Airspace gml:id="uuid.e8411dad-219a-4018-ad55-c5791a87c86d"> <aixm:timeSlice> <aixm:AirspaceTimeSlice gml:id="uuid.de6d3114-bafe-47d6-a47f-2fbe43581a54"> <gml:validTime/> <aixm:interpretation>SNAPSHOT</aixm:interpretation> <aixm:type>OTHER:FIR_UIR</aixm:type> <aixm:designator>YUDD</aixm:designator> <aixm:name>SHANLON FIR/UIR</aixm:name> <aixm:geometryComponent> <aixm:AirspaceGeometryComponent gml:id="uuid.60c6121b-d638-4de0-b958-6cf115b8f77f"> <aixm:theAirspaceVolume> <aixm:AirspaceVolume gml:id="uuid.061bc5d2-51b1-4aa0-a68e-c80ee808243d"> <aixm:horizontalProjection> <aixm:Surface gml:id="uuid.2161d1e6-4554-4143-8845-b9fb7e977728" srsDimension="2" axisLabels="Lat Long" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> <gml:patches> <gml:PolygonPatch> <gml:exterior> <gml:Ring> <gml:curveMember> <gml:Curve gml:id="uuid.be978329-2038-44c4-83ce-d754a78cac90"> <gml:segments> <gml:GeodesicString> <gml:posList> 56.78 56.78 56.78 -56.78 -56.78 -56.78 -56.78 56.78 </gml:poslist> </gml:geodesicstring> </gml:segments> </gml:curve> </gml:curvemember> </gml:ring> </gml:exterior> </gml:polygonpatch> </gml:patches> <aixm:horizontalAccuracy uom="KM">2.0</aixm:horizontalaccuracy> </aixm:surface> </aixm:horizontalprojection> </aixm:airspacevolume> </aixm:theairspacevolume> </aixm:airspacegeometrycomponent> </aixm:geometrycomponent> </aixm:airspacetimeslice> </aixm:timeslice> </aixm:airspace> </iwxxm:issuingairtrafficservicesregion>
iwxxm:geometry is used by iwxxm:AIRMETEvolvingCondition, iwxxm:SIGMETEvolvingCondition and iwxxm:SIGMETPosition to indicate the geographic region affected by the reported phenomenon at a particular time (thunderstorms, volcanic ash, etc.). With aixm:AirspaceVolume (see this diagram for associated data model) this geometry covers all combinations of phenomenon historically reported in Annex 3: a boundary with a base and top, a tropical cyclone centre position, and a volcanic ash line with a width.
<iwxxm:geometry> <aixm:AirspaceVolume gml:id="uuid.08077323-fbd5-4e04-a787-fccff0543f0a"> <aixm:upperLimit uom="FL">500</aixm:upperlimit> <aixm:upperLimitReference>STD</aixm:upperlimitreference> <aixm:horizontalProjection> <aixm:Surface gml:id="uuid.62695824-f234-4618-b459-90bb795cde9a" srsDimension="2" axisLabels="Lat Long" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> <gml:polygonPatches> <gml:PolygonPatch> <gml:exterior> <gml:Ring> <gml:curveMember> <gml:Curve gml:id="uuid.b7fa4047-2e78-431c-ba95-3fdf6343e3b5"> <gml:segments> <gml:CircleByCenterPoint numArc="1"> <gml:pos>27.10 -73.10</gml:pos> <gml:radius uom="[nmi_i]">250</gml:radius> </gml:circlebycenterpoint> </gml:segments> </gml:curve> </gml:curvemember> </gml:ring> </gml:exterior> </gml:polygonpatch> </gml:polygonpatches> </aixm:surface> </aixm:horizontalprojection> </aixm:airspacevolume> </iwxxm:geometry>
iwxxm:tropicalCyclonePosition is used by iwxxm:TropicalCycloneSIGMETEvolvingConditionCollection and iwxxm:TropicalCycloneSIGMETPositionCollection to indicate the observed and/or forecast positions of the tropical cyclone involved. As there is no measurement in the vertical dimension the inclusion of attribute srsDimension=2 to enforce the use of 2 dimensional CRS is mandatory.
<iwxxm:tropicalCyclonePosition> <gml:Point gml:id="uuid.1e0ca159-77e7-4d85-8ace-44aadf52f9af" srsDimension="2" axisLabels="Lat Long" srsName="http://www.opengis.net/def/crs/EPSG/0/4326"> <gml:pos>27.6667 -73.75</gml:pos> </gml:point> </iwxxm:tropicalcycloneposition>
iwxxm:volcanicAshMovedToFIR is used by iwxxm:VolcanicAshSIGMET to indicate the FIR to which volcanic ash has moved in SIGMET cancellation reports. Similar to iwxxm:issuingAirTrafficServicesRegion the FIR is represented through aixm:Airspace and the CRS requirements will be the same as those mentioned above.
As metce:volcano in iwxxm:eruptingvolcano of Volcanic Ash SIGMET is using gml:Point to represent the location of the volcano. It has the same CRS requirements as iwxxm:tropicalCyclonePosition.
iwxxm:issuingTropicalCycloneAdvisoryCentre, iwxxm:issuingVolcanicAshAdvisoryCentre and iwxxm:issuingSpaceWeatherCentre are centres issuing the respective advisories. Even though they are represented by aixm:Unit (see this diagram for associated data model), geospatial information of these entities are not expected to be included.
iwxxm:tropicalCyclonePosition in iwxxm:TropicalCycloneObservedConditions and iwxxm:TropicalCycloneForecastConditions are represented by gml:Point and the CRS requirements are the same as the similarly named element in iwxxm:TropicalCycloneSIGMETEvolvingConditionCollection and iwxxm:TropicalCycloneSIGMETPositionCollection.
iwxxm:cumulonimbusCloudLocation in iwxxm:TropicalCycloneObservedConditions indicates the location of cumulonimbus clouds associated with the tropical cyclone. Represented by aixm:AirspaceVolume, it has the same CRS requirements as iwxxm:geometry in iwxxm:AIRMETEvolvingCondition, iwxxm:SIGMETEvolvingCondition or iwxxm:SIGMETPosition.
As metce:EruptingVolcano in iwxxm:volcano is using gml:Point to represent the location of the volcano. It has the same CRS requirements as iwxxm:tropicalCyclonePosition.
iwxxm:ashCloudExtent in iwxxm:VolcanicAshCloudObservedOrEstimated and iwxxm:VolcanicAshCloudForecast indicates the horizontal and vertical extent of the ash cloud. Represented by aixm:AirspaceVolume, it has the same CRS requirements as iwxxm:cumulonimbusCloudLocation in iwxxm:TropicalCycloneObservedConditions.
iwxxm:verticalLayer in iwxxm:WindObservedOrEstimated indicates the vertical layer in terms of flight levels in which wind is provided. There is no provision and requirement for a CRS.
iwxxm:location in iwxxm:SpaceWeatherRegion indicates the geographic location at which space weather phenomena occur. Represented by aixm:AirspaceVolume, it has the same CRS requirements as iwxxm:cumulonimbusCloudLocation in iwxxm:TropicalCycloneObservedConditions.