ICAO Annex 14 (Aviation)

Available with Aviation Airports license.

Available with Aviation Charting license.

Summary

Creates obstruction identification surfaces (OIS) based on ICAO Annex 14 specifications. These surfaces define the airspace around aerodromes to be free of obstacles so flight operations can be performed safely. This tool creates surfaces as a polygon or multipatch features.

Usage

  • The Input Runway Features parameter must be z-enabled.

  • This tool creates the OIS in an existing polygon or multipatch feature class. The OIS can also be generated in an existing polygon shapefile. If a feature class is selected for the Target OIS Features parameter, it must have a vertical spatial reference.

  • To create a JSON file for the Custom JSON File parameter, use the CustomizeOIS.exe file that is part of the ArcGIS Aviation data package available from My Esri.

  • The Airport Elevation parameter has a default value of 0. If you use an elevation value greater than 0, it takes precedence and overrides any existing airport elevation value read from the Input Airport Control Point Feature parameter.

  • The Input Airport Control Point Feature parameter can be used to supply x-, y-, and z-geometry for the Airport Elevation parameter, displaced threshold point features, or both. If displaced threshold points are included, surfaces will be constructed based on their x-, y-, and z-geometry instead of their corresponding Input Runway Feature parameter endpoint.

  • OIS tools are flexible and accept a variety of input and output feature class types. For more information, see the OIS Input and Output schemas.

  • The horizontal surface generated by this tool will be continuous across the multipatch feature.

    Legacy:

    In ArcGIS Pro 2.6.x and earlier versions, the horizontal surface generated by this tool will be cut by the transitional or approach surfaces.

Parameters

LabelExplanationData Type
Input Runway Features

The input runway dataset. The feature class must be z-enabled and contain polylines.

Feature Layer
Target OIS Features

The output feature class that will contain the generated obstruction identification surfaces.

Feature Layer
Runway Classification

Specifies the runway classification of the Input Runway Features parameter.

  • Non instrument code number 1A runway intended for the operation of aircraft using visual approach procedures. Runway strip length is 30 meters.
  • Non instrument code number 2A runway with a 60-meter strip length and 40-meter strip width that is intended for the operation of aircraft using visual approach procedures.
  • Non instrument code number 3A runway with a 60-meter strip length and 75-meter strip width that is intended for the operation of aircraft using visual approach procedures.
  • Non instrument code number 4A runway with a 60-meter strip length and 75-meter strip width that is intended for the operation of aircraft using visual approach procedures.
  • Non precision approach code number 1An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • Non precision approach code number 2An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • Non precision approach code number 3An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
  • Non precision approach code number 4An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
  • Precision approach category I code number 1An instrument runway served by an Instrument Landing System (ILS) or a Microwave Landing System (MLS) and visual aids intended for operations with a decision height not lower than 60 meters (200 feet) and either a visibility not less than 800 meters or a runway visual range not less than 550 meters. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • Precision approach category I code number 2An instrument runway served by ILS and MLS and visual aids intended for operations with a decision height not lower than 60 meters (200 feet) and either a visibility not less than 800 meters or a runway visual range not less than 550 meters. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • Precision approach category I code number 3 4An instrument runway served by ILS and MLS and visual aids intended for operations with a decision height not lower than 60 meters (200 feet) and either a visibility not less than 800 meters or a runway visual range not less than 550 meters. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
  • Precision approach category II III code number 3 4An instrument runway served by ILS and MLS and visual aids intended for operations with a decision height lower than 60 meters (200 feet) but not lower than 30 meters (100 feet) and a runway visual range not less than 350 meters. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
String
Length of High Runway End Clearway
(Optional)

The length of the area at the high end of the runway. The unit of measurement is based on the input runway features.

Double
Length of Low Runway End Clearway
(Optional)

The length of the area at the low end of the runway. The unit of measurement is based on the input runway features.

Double
Airport Elevation
(Optional)

The highest elevation on any of the runways of the airport. The value must be in the vertical coordinate system linear units of the target feature class. If no value is given, the highest point in the Input Runway Features dataset will be used.

Double
Runway Direction
(Optional)

Specifies at which end of the runway the approach surface will be created.

  • High end to low endThe approach surface will be created at the high end of the runway to the low end. If a displaced threshold point exists at the high end of the runway, that point will be honored when creating the OIS.
  • Low end to high endThe approach surface will be created at the low end of the runway to the high end. If a displaced threshold point exists at the low end of the runway, that point will be honored when creating the OIS.
  • Both endsThe approach surface will be created at both the low end and high end of the runway.
String
Include Merged Surfaces
(Optional)

Specifies whether merged surfaces will be generated.

  • Checked—All the surfaces will be generated for the merged surfaces, as well as merged conical and horizontal surfaces. This is the default.
  • Unchecked—Surfaces will not be generated for the merged surfaces.
Boolean
Custom JSON File
(Optional)

The import configuration, in JSON format, that creates the custom OIS.

File
Input Airport Control Point Feature
(Optional)

The point features containing an Airport Elevation feature, displaced threshold features, or both. Values provided for the Airport Elevation parameter will take precedence over these point features.

Feature Layer

Derived Output

LabelExplanationData Type
Output OIS Features

The updated feature class containing the generated obstruction identification surfaces.

Feature Layer

arcpy.aviation.ICAOAnnex14(in_features, target, runway_type, {highend_clear_way_length}, {lowend_clear_way_length}, {airport_elevation}, {runway_direction}, {include_merged_surface}, {custom_json_file}, {airport_control_point_feature_class})
NameExplanationData Type
in_features

The input runway dataset. The feature class must be z-enabled and contain polylines.

Feature Layer
target

The output feature class that will contain the generated obstruction identification surfaces.

Feature Layer
runway_type

Specifies the runway classification of the in_features parameter.

  • NON_INSTRUMENT_CODE_NUMBER_1A runway intended for the operation of aircraft using visual approach procedures. Runway strip length is 30 meters.
  • NON_INSTRUMENT_CODE_NUMBER_2A runway with a 60-meter strip length and 40-meter strip width that is intended for the operation of aircraft using visual approach procedures.
  • NON_INSTRUMENT_CODE_NUMBER_3A runway with a 60-meter strip length and 75-meter strip width that is intended for the operation of aircraft using visual approach procedures.
  • NON_INSTRUMENT_CODE_NUMBER_4A runway with a 60-meter strip length and 75-meter strip width that is intended for the operation of aircraft using visual approach procedures.
  • NON_PRECISION_APPROACH_CODE_NUMBER_1An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • NON_PRECISION_APPROACH_CODE_NUMBER_2An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • NON_PRECISION_APPROACH_CODE_NUMBER_3An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
  • NON_PRECISION_APPROACH_CODE_NUMBER_4An instrument runway served by visual aids and a nonvisual aid providing at least directional guidance adequate for a straight-in approach. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
  • PRECISION_APPROACH_CATEGORY_I_CODE_NUMBER_1An instrument runway served by an Instrument Landing System (ILS) or a Microwave Landing System (MLS) and visual aids intended for operations with a decision height not lower than 60 meters (200 feet) and either a visibility not less than 800 meters or a runway visual range not less than 550 meters. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • PRECISION_APPROACH_CATEGORY_I_CODE_NUMBER_2An instrument runway served by ILS and MLS and visual aids intended for operations with a decision height not lower than 60 meters (200 feet) and either a visibility not less than 800 meters or a runway visual range not less than 550 meters. This runway type has a 60-meter strip length and a 75-meter strip width on either side of the runway centerline.
  • PRECISION_APPROACH_CATEGORY_I_CODE_NUMBER_3_4An instrument runway served by ILS and MLS and visual aids intended for operations with a decision height not lower than 60 meters (200 feet) and either a visibility not less than 800 meters or a runway visual range not less than 550 meters. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
  • PRECISION_APPROACH_CATEGORY_II_III_CODE_NUMBER_3_4An instrument runway served by ILS and MLS and visual aids intended for operations with a decision height lower than 60 meters (200 feet) but not lower than 30 meters (100 feet) and a runway visual range not less than 350 meters. This runway type has a 60-meter strip length and a 150-meter strip width on either side of the runway centerline.
String
highend_clear_way_length
(Optional)

The length of the area at the high end of the runway. The unit of measurement is based on the input runway features.

Double
lowend_clear_way_length
(Optional)

The length of the area at the low end of the runway. The unit of measurement is based on the input runway features.

Double
airport_elevation
(Optional)

The highest elevation on any of the runways of the airport. The value must be in the vertical coordinate system linear units of the target feature class. If no value is given, the highest point in the in_features dataset will be used.

Double
runway_direction
(Optional)

Specifies at which end of the runway the approach surface will be created.

  • HIGH_END_TO_LOW_ENDThe approach surface will be created at the high end of the runway to the low end. If a displaced threshold point exists at the high end of the runway, that point will be honored when creating the OIS.
  • LOW_END_TO_HIGH_ENDThe approach surface will be created at the low end of the runway to the high end. If a displaced threshold point exists at the low end of the runway, that point will be honored when creating the OIS.
  • BOTH_ENDThe approach surface will be created at both the low end and high end of the runway.
String
include_merged_surface
(Optional)

Specifies whether merged surfaces will be generated.

  • INCLUDE_MERGED_SURFACEAll the surfaces will be generated for the merged surfaces, as well as merged conical and horizontal surfaces. This is the default.
  • NOT_INCLUDE_MERGED_SURFACESurfaces will not be generated for the merged surfaces.
Boolean
custom_json_file
(Optional)

The import configuration, in JSON format, that creates the custom OIS.

File
airport_control_point_feature_class
(Optional)

The point features containing an Airport Elevation feature, displaced threshold features, or both. Values provided for the Airport Elevation parameter will take precedence over these point features.

Feature Layer

Derived Output

NameExplanationData Type
derived_outfeatureclass

The updated feature class containing the generated obstruction identification surfaces.

Feature Layer

Code sample

ICAOAnnex14 example 1 (stand-alone script)

The following Python window script demonstrates how to use the ICAOAnnex14 function.

import arcpy

# set gp environment
arcpy.env.workspace = "c:/data/ois.gdb"
arcpy.CheckOutExtension("Aeronautical")

# Input Runway Feature Class
inFeatures = "RunwayCenterline"

# feature class that will contain the OIS surface
outFeatureClass = "ObstructionIdSurface"

# runway variables
runway = "NON_INSTRUMENT_CODE_NUMBER_1"
runwayDir = "HIGH_END_TO_LOW_END"

#_Exec_ICAOAnnex14
arcpy.ICAOAnnex14_aviation(inFeatures, outFeatureClass, runway, 10, 0, 100,
                           runwayDir, "INCLUDE_MERGED_SURFACE")

arcpy.CheckInExtension("Aeronautical")
ICAOAnnex14 example 2 (stand-alone script)

The following Python window script demonstrates how to use the ICAOAnnex14 function with the custom_json_file parameter.

import arcpy

# set gp environment
arcpy.env.workspace="c:/data/ois.gdb"
arcpy.CheckOutExtension("Aeronautical")

# Input Runway Feature Class
inFeatures = "RunwayCenterline"

# feature class that will contain the OIS surface
outFeatureClass = "ObstructionIdSurface"

# runway variables
runway = "NON_INSTRUMENT_CODE_NUMBER_1"
runwayDir = "HIGH_END_TO_LOW_END"
customJSON = r"C:\data\customOIS.json"

#_Exec_ICAOAnnex14
arcpy.ICAOAnnex14_aviation(inFeatures, outFeatureClass, runway, 10, 0, 100,
                           runwayDir, "INCLUDE_MERGED_SURFACE", customJSON)

arcpy.CheckInExtension("Aeronautical")
ICAOAnnex14 example 3 (stand-alone script)

The following Python window script demonstrates how to use the ICAOAnnex14 function with the airport_control_point_feature_class parameter.

import arcpy

# set gp environment
arcpy.env.workspace="c:/data/ois.gdb"
arcpy.CheckOutExtension("Aeronautical")

# Input Runway Feature Class
inFeatures = "RunwayCenterline"

# feature class that will contain the OIS surface
outFeatureClass = "ObstructionIdSurface"

# runway variables
runway = "NON_INSTRUMENT_CODE_NUMBER_1"
runwayDir = "HIGH_END_TO_LOW_END"
customJSON = r"C:\data\customOIS.json"

# Feature class that will contain the Airport Elevation feature
inACPFeatures= "AirportControlPoint"

#_Exec_ICAOAnnex14
arcpy.ICAOAnnex14_aviation(inFeatures, outFeatureClass, runway, 10, 0, 0,
                           runwayDir, "INCLUDE_MERGED_SURFACE", customJSON, inACPFeatures)

arcpy.CheckInExtension("Aeronautical")

Environments

Licensing information

  • Basic: No
  • Standard: Requires Airports or ArcGIS Aviation Charting
  • Advanced: Requires Airports or ArcGIS Aviation Charting