Obstacle Data AIXM Mapping
Base endpoint: none
Reference documents: AIXM 5.2 schema set (aixm.aero) · RFC 7946 The GeoJSON Format
Attribution: showibonav.aerowherever 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) |