/
[AIXM-613] Alignment with GML 3.2.2

[AIXM-613] Alignment with GML 3.2.2

ID:

AIXM-613

target version:

AIXM 5.2

version:

1.0

last updated:

03 JUL 2024

status:

APPROVED


Description

The reference to GML 3.2.1 is replaced, where necessary, with GML 3.2.2 (corrigendum to 3.2.1, published by the Open Geospatial Consortium (OGC) in December 2016). The GML Profile schema for AIXM applications is from now on provided by the AIXM CCB through the www.aixm.aero web site.

The gml:id attribute becomes optional for both GML objects and AIXM objects (not for AIXM features.

Rationale for change

See https://aixmccb.atlassian.net/browse/AIXM-596 

The AIXM 5.1(.1) XSD imports GML 3.2.1:

<import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>

However, what is actually found at that OGC location is “corrigendum 3.2.2” which replaced the initial 3.2.1 version in December 2016.

In order to avoid further confusions, it is therefore proposed to formally declare the use of the GML 3.2.2 version in AIXM. However, this will not be possible in the GML import statements because GML 3.2.2 does not exist as a separate schema on the schema.opengis.net site. The GML import statement in AIXM will continue to use the same schema location as AIXM 5.1(.1): http://schemas.opengis.net/gml/3.2.1/gml.xsd.

The use of the GML 3.2.2 version will formally be declared in the AIXM XML Schema using a comment and by changing the name and location of the GML Profile schema.

The GML 3.2.2 corrigendum also made the gml:id attribute optional for all GML objects, such as gml:TimePeriod, gml:Point, etc. In AIXM 5.1.1, the gml:id is still declared mandatory through the GML Profile document. Therefore, the backwards mapping guidelines need to specify the addition of the gml:id attribute to all GML objects.

In AIXM 5.1(.1) the gml:id is also mandatory for all AIXM features (such as aixm:Navaid) and objects (such as aixm:City) that are derived from AbstractAIXMFeatureBaseType and AbstractAIXMObjectType respectively. For AIXM features, it makes sense to preserve the obligation of providing the gml:id because it may be used for xlink:href=”#...” For AIXM objects, it is proposed to remove the obligation to provide the gml:id attribute, as it cannot be used for local references. In addition, through the AIXM-404 Change Proposal, all AIXM objects in AIXM 5.2 will get an optional persistent gml:identifier.

Impact assessment

[FWD_1:1] No data mapping is necessary and no data loss occurs when data is exchanged from a system (A) that uses AIXM 5.1.1 for output towards a system (B) that uses AIXM 5.2 for input.

[BWD_MAP_1:1] Data mapping is possible and no data loss occurs when data is exchanged from a system (B) that uses AIXM 5.2 for output towards a system (A) that uses AIXM 5.1.1 for input.

Change Proposal details

In the AIXM XML Schema files (AIXM_AbstractGML_ObjectTypes.xsd, AIXM_DataTypes.xsd, AIXM_Features.xsd).

  • Add/correct the XML comment that precedes the GML Schema import statement in order to explicitly indicate that corrigendum 3.2.2 of version 3.2.1 is used:

<!-- ==== IMPORT GML 3.2 (corrigendum 3.2.2 of version 3.2.1) ==== --> 

<import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>

  • Change the file name and the location of the GML profile for AIXM as follows:

<appinfo>

<gml:gmlProfileSchema>http://www.aixm.aero/gmlAIXMProfile/1.2/gml322forAIXM.xsd</gml:gmlProfileSchema>

</appinfo>

In the new gml322forAIXM.xsd change the declaration of the definition of the AbstractGMLType to declare the gml:id attribute for all GML objects as optional.

<complexType name="AbstractGMLType" abstract="true">

<sequence>

<group ref="gml:StandardObjectProperties"/>

</sequence>

<attribute ref="gml:id" use="optionalrequired"/>

</complexType>

In the AIXM_AbstractGML_ObjectTypes.xsd Schema file:

  • change the declaration of the AbstractAIXMObjectType to declare the gml:id attribute as optional:

<complexType name="AbstractAIXMObjectType" abstract="true">

<annotation>

<documentation>Base type for AIXM complex types that are NOT features. For example, City, ContactInformation, AirspaceVolume, etc. It derives from AbstractGMLType so that AIXM objects are recognised as GML objects, thus ensuring that GML-aware applications recognise them properly. Retains only the mandatory gml:id attribute.</documentation>

</annotation>

<complexContent>

<restriction base="gml:AbstractGMLType">

<sequence>

<sequence/>

</sequence>

<attribute ref="gml:id" use="optionalrequired"/>

</restriction>

</complexContent>

</complexType>

Mapping AIXM 5.1.1 to AIXM 5.2 (forward)

Not applicable.

Mapping AIXM 5.2 to AIXM 5.1.1 (backward)

For each of the following AIXM elements, if not present, add a gml:id attribute that corresponds to the XML ID standard:

  • AerialRefuellingAnchor

  • AerialRefuellingPoint

  • AerialRefuellingTrack

  • AircraftCharacteristic

  • AircraftNavigationEquipment

  • AircraftStandContamination

  • AirportHeliportAvailability

  • AirportHeliportContamination

  • AirportHeliportResponsibilityOrganisation

  • AirportHeliportUsage

  • AirportSignStatus

  • AirspaceActivation

  • AirspaceBorderCrossing

  • AirspaceGeometryComponent

  • AirspaceLayer

  • AirspaceLayerClass

  • AirspaceVolume

  • AirspaceVolumeDependency

  • AltimeterSource

  • AltitudeAdjustment

  • AltitudeIndication

  • Angle

  • AngleUse

  • ApproachCondition

  • ApronAreaAvailability

  • ApronAreaUsage

  • ApronContamination

  • AuthorityForAerialRefuelling

  • AuthorityForNavaidEquipment

  • AuthorityForSpecialNavigationStation

  • AuthorityForSpecialNavigationSystem

  • CallsignDetail

  • CircleSector

  • CirclingRestriction

  • City

  • ConditionCombination

  • ContactInformation

  • CourseGroup

  • Curve

  • DesignStandard

  • DirectFlight

  • DirectFlightClass

  • DirectFlightSegment

  • Distance

  • ElevatedCurve

  • ElevatedPoint

  • ElevatedSurface

  • EnRouteSegmentPoint

  • EquipmentUnavailableAdjustment

  • EquipmentUnavailableAdjustmentColumn

  • FinalApproachControlAltitude

  • FinalApproachControlPosition

  • FinalApproachProfile

  • FinalApproachSegmentData

  • FlightCharacteristic

  • FlightConditionCircumstance

  • FlightConditionCombination

  • FlightConditionElement

  • FlightInspectionTrajectory

  • FlightRestrictionLevel

  • FlightRestrictionRoute

  • FlightRoutingElement

  • Fuel

  • GroundLightingAvailability

  • GuidanceLineDirection

  • HoldingPatternDistance

  • HoldingPatternDuration

  • HoldingUse

  • LandingTakeoffAreaCollection

  • LightActivation

  • LightElement

  • LightElementStatus

  • LightGroup

  • LinguisticNote

  • ManoeuvringAreaAvailability

  • ManoeuvringAreaUsage

  • MarkingElement

  • Meteorology

  • Minima

  • MinimumAltitudeAreaSector

  • MissedApproachGroup

  • NavaidComponent

  • NavaidEquipmentDistance

  • NavaidEquipmentMonitoring

  • NavaidOperationalStatus

  • NavigationAreaSector

  • Nitrogen

  • Note

  • ObstacleAssessmentSurface

  • ObstaclePlacement

  • Obstruction

  • Oil

  • OnlineContact

  • OrganisationAuthorityAssociation

  • Oxygen

  • Point

  • PointReference

  • PointUsage

  • PostalAddress

  • ProcedureAvailability

  • ProcedureTransition

  • ProcedureTransitionLeg

  • PropertiesWithSchedule

  • RadarComponent

  • RadioCommunicationOperationalStatus

  • RadioFrequency

  • Reflector

  • Ridge

  • RouteAvailability

  • RoutePortion

  • RunwayContamination

  • RunwayDeclaredDistance

  • RunwayDeclaredDistanceValue

  • RunwaySectionContamination

  • SatelliteApproachOperation

  • SatelliteServiceArea

  • SectorDesign

  • SegmentLegAltitudeCondition

  • SegmentPoint

  • ServiceOperationalStatus

  • SpecialNavigationStationStatus

  • StandardLevel

  • Surface

  • SurfaceCharacteristics

  • SurfaceContamination

  • SurfaceContaminationLayer

  • SurveillanceGroundStation

  • TaxiwayContamination

  • TelephoneContact

  • TerminalArrivalAreaSector

  • TerminalSegmentPoint

  • Timesheet

  • TouchDownLiftOffContamination

  • UnitAvailability

  • UnitDependency

  • UsageCondition

  • VDBAntenna

  • VerticalStructureLightingStatus

  • VerticalStructurePart

  • WeatherSourceAvailability

  • WorkareaActivity


For each of the following GML elements, if not present, add a gml:id attribute that corresponds to the XML ID standard:

  • Point

  • Curve

  • Surface

  • TimePeriod

  • TimeInstant


Mapping example

(Note: for mapping test data see: https://github.com/aixm/mapping_52_511/tree/master/AIXM-xxx

AIXM 5.2AIXM 5.1(.1)