Obstacle Data AIXM Mapping

Base endpoint: none
Reference documents: AIXM 5.2 schema set (aixm.aero) · RFC 7946 The GeoJSON Format
Attribution: show ibonav.aero wherever this data is displayed
Data sources: none
Last updated: 25 OCT 2026

How the obstacle data in AIXM maps to the columns of the Obstacle GeoPackage. Every AIXM property of VerticalStructure and VerticalStructurePart has a column or a place in a JSON column; a column can be empty when no source provides that property.

For the extension elements (ibosoftais:*) see AIXM Schema Extension; for coding rules (provenance, AIXM 5.1 sources) see Data Coding Policies. The naming rules and the common column families are the same as in the ATS Data AIXM Mapping.


Layers

Layer AIXM Geometry
verticalStructures VerticalStructure (feature) MULTIPOINT (EPSG:4326): the points of its parts
verticalStructureParts VerticalStructurePart (object inside the feature, part 0..∞) POINT (EPSG:4326): horizontalProjection_location

Both layers also have id (INTEGER primary key) and geom. Each obstacle is one row in verticalStructures; each part is one row in verticalStructureParts. The two layers are joined by verticalStructureParts.verticalStructure_uuid = verticalStructures.aixm_uuid.

Parts given as a line (horizontalProjection_linearExtent) or an area (horizontalProjection_surfaceExtent) are not in today's data; they will get their own layers when a source provides them.


Naming rules

Rule Pattern Example
AIXM property <layer>_<AIXM name> verticalStructures_name
Unit <field>Uom verticalStructureParts_verticalExtentUom
Reference to another feature …Uuid (the target's gml:identifier) verticalStructures_markerUuid
Repeated (0..∞) structure full JSON verticalStructureParts_lighting
Copied from the obstacle (part layer) verticalStructure_<field> verticalStructure_name
Common families (no prefix) annotation*, data_*, aixm_* annotationRemark

JSON keeps the whole AIXM subtree: an element with xlink:href becomes {"href": "<uuid>"}, a value with a unit becomes {"value": …, "uom": …}; only technical attributes such as gml:id are left out.


Columns

VerticalStructure

AIXM Column Type
name verticalStructures_name TEXT
type verticalStructures_type TEXT
lighted verticalStructures_lighted TEXT
markingICAOStandard verticalStructures_markingICAOStandard TEXT
group verticalStructures_group TEXT
length (+uom) verticalStructures_length, verticalStructures_lengthUom REAL, TEXT
width (+uom) verticalStructures_width, verticalStructures_widthUom REAL, TEXT
radius (+uom) verticalStructures_radius, verticalStructures_radiusUom REAL, TEXT
lightingICAOStandard verticalStructures_lightingICAOStandard TEXT
synchronisedLighting verticalStructures_synchronisedLighting TEXT
marker verticalStructures_markerUuid TEXT
part (0..∞) rows of verticalStructureParts; count in verticalStructures_partCount INTEGER
hostedPassengerService (0..∞) verticalStructures_hostedPassengerServiceUuid TEXT (JSON array of UUIDs)
supportedGroundLight (0..∞) verticalStructures_supportedGroundLightUuid TEXT (JSON array of UUIDs)
hostedNavaidEquipment (0..∞) verticalStructures_hostedNavaidEquipmentUuid TEXT (JSON array of UUIDs)
hostedSpecialNavStation (0..∞) verticalStructures_hostedSpecialNavStationUuid TEXT (JSON array of UUIDs)
hostedUnit (0..∞) verticalStructures_hostedUnitUuid TEXT (JSON array of UUIDs)
hostedOrganisation (0..∞) verticalStructures_hostedOrganisationUuid TEXT (JSON array of UUIDs)
supportedService (0..∞) verticalStructures_supportedServiceUuid TEXT (JSON array of UUIDs)
arrestingDevice (0..∞) verticalStructures_arrestingDeviceUuid TEXT (JSON array of UUIDs)
lightingAvailability (0..∞) verticalStructures_lightingAvailability TEXT (JSON array)
marked verticalStructures_marked TEXT
designator verticalStructures_designator TEXT
placeName verticalStructures_placeName TEXT
dataAssessmentStatus verticalStructures_dataAssessmentStatus TEXT
annotation (0..∞) annotationDescription, annotationRemark, annotationWarning, annotationDisclaimer TEXT

VerticalStructurePart

AIXM Column Type
verticalExtent (+uom) verticalStructureParts_verticalExtent, verticalStructureParts_verticalExtentUom REAL, TEXT
height (+uom) verticalStructureParts_height, verticalStructureParts_heightUom REAL, TEXT
type verticalStructureParts_type TEXT
constructionStatus verticalStructureParts_constructionStatus TEXT
markingPattern verticalStructureParts_markingPattern TEXT
markingFirstColour verticalStructureParts_markingFirstColour TEXT
markingSecondColour verticalStructureParts_markingSecondColour TEXT
mobile verticalStructureParts_mobile TEXT
frangible verticalStructureParts_frangible TEXT
visibleMaterial verticalStructureParts_visibleMaterial TEXT
designator verticalStructureParts_designator TEXT
horizontalProjection_location geom POINT
…/ElevatedPoint/elevation (+uom) verticalStructureParts_elevation, verticalStructureParts_elevationUom REAL, TEXT
…/ElevatedPoint/geoidUndulation (+uom) verticalStructureParts_geoidUndulation, verticalStructureParts_geoidUndulationUom REAL, TEXT
…/ElevatedPoint/verticalDatum verticalStructureParts_verticalDatum TEXT
…/ElevatedPoint/horizontalAccuracy (+uom) verticalStructureParts_horizontalAccuracy, verticalStructureParts_horizontalAccuracyUom REAL, TEXT
lighting (0..∞) verticalStructureParts_lighting TEXT (JSON array: LightElement)
timeInterval (0..∞) verticalStructureParts_timeInterval TEXT (JSON array)
specialDateAuthority (0..∞) verticalStructureParts_specialDateAuthorityUuid TEXT (JSON array of UUIDs)
annotation (0..∞) annotationDescription, annotationRemark, annotationWarning, annotationDisclaimer (notes of the part) TEXT
gml:id of the part aixm_gml_id TEXT

Copied from the obstacle, for filtering the part layer without a join:

Column Source
verticalStructure_uuid gml:identifier of the obstacle
verticalStructure_name name of the obstacle
verticalStructure_type type of the obstacle
data_provider, data_originator, data_effectivity provenance of the obstacle

verticalExtent and elevation are as published by the source.

Annotation columns and separators work as in the ATS Data AIXM Mapping › Annotation.

Provenance, identity

AIXM Column
extension/ibosoftais:VerticalStructureDataProvenance/dataProvider data_provider
extension/ibosoftais:VerticalStructureDataProvenance/dataOriginator data_originator (NULL when the source does not state it)
extension/ibosoftais:VerticalStructureDataProvenance/dataEffectivity data_effectivity
gml:id aixm_gml_id
gml:identifier aixm_uuid (obstacle layer)

Provenance coding: Data Coding Policies › Provenance.

TimeSlice and feature base (obstacle layer)

AIXM Column
gml:validTime begin / end aixm_validTimeBegin, aixm_validTimeEnd
interpretation aixm_interpretation
sequenceNumber, correctionNumber aixm_sequenceNumber, aixm_correctionNumber (INTEGER)
featureLifetime aixm_featureLifetimeBegin, aixm_featureLifetimeEnd
timeSliceMetadata aixm_timeSliceMetadata (JSON)
featureMetadata aixm_featureMetadata (JSON)
gml:description aixm_description
gml:name (0..∞) aixm_name (JSON array)

gml:validTime and featureLifetime are as given by the source.


Values in the data

Topic Value
AIXM 5.1 sources Converted to AIXM 5.2 without changing values; see Data Coding Policies › AIXM 5.1 Sources
Vertical accuracy AIXM 5.2 has no vertical accuracy on a point; a value given in an AIXM 5.1 source is in annotationRemark of the part, e.g. verticalAccuracy (AIXM 5.1 ElevatedPoint): 0.1 M
Units As published: FT (Türkiye), M (Hungary)

Indexes

Index Applies to
R-Tree (rtree_verticalStructures_geom, rtree_verticalStructureParts_geom, GeoPackage RTree extension) geom
B-Tree every attribute column of both layers

Changes from the previous obstacle file

The previous file had one layer obstacles with one row per part.

Previous column New column
identifier verticalStructure_uuid (parts), aixm_uuid (obstacles)
name, type, lighted, group verticalStructures_<same>; on parts verticalStructure_name, verticalStructure_type
verticalExtent, verticalExtent_uom verticalStructureParts_verticalExtent, …Uom
part_type, designator verticalStructureParts_type, verticalStructureParts_designator
elevation, elevation_uom verticalStructureParts_elevation, …Uom
colour verticalStructureParts_lighting (JSON)
interpretation, sequenceNumber, correctionNumber, beginPosition, featureLifetime_beginPosition aixm_*
data_provider, data_originator, data_effectivity same
country, source_file removed (provenance columns state the source)