FAA FAR 77 (Aviation)

Available with Aviation Airports license.

Available with Aviation Charting license.

Summary

Creates obstruction identification surfaces (OIS) based on the FAA Part 77 specification. This regulation establishes standards and notification requirements for objects affecting navigable airspace. The type, function, and dimension of a surface differ by its runway classification. This tool creates surfaces as a polygon or multipatch features.

Usage

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

  • The options you specify in the High Runway End Classification and Low Runway End Classification parameters will automatically populate most of the surface parameters.

  • 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 used as the Target OIS Features parameter value, it must include a vertical spatial reference.

  • For military airports, the outer horizontal surface is merged as well as the horizontal and conical surfaces.

  • To create a .json file for the Custom JSON File parameter, use the CustomizeOIS.exe utility included in the Aviation Airports Product Data download 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.

  • High Runway End refers to runway direction identifiers 19 through 36. Low Runway End refers to runway direction identifiers 01 through 18.

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 target feature class that will contain the generated OIS.

Feature Layer
High Runway End Classification

Specifies the classification of the high end of the runway.

  • Construction or alteration on an airport with longest runway more than 3200 feetConstruction on or alteration to a runway longer than 3,200 feet with an imaginary surface that extends outward 20,000 feet and has a slope that does not exceed 100 to 1.
  • Construction or alteration on an airport with longest runway less than 3200 feetConstruction on or alteration to a runway less than 3,200 feet long with an imaginary surface that extends outward 10,000 feet and has a slope that does not exceed 50 to 1.
  • Construction or alteration on a heliportConstruction on or alteration to a heliport landing and takeoff area with an imaginary surface that extends outward 5,000 feet and has a slope that does not exceed 25 to 1.
  • Military airportMilitary airport runways are operated by an armed force of the United States. Primary surfaces are the same length as the runway. Primary surface width is 2,000 feet. Clear zone surface length is 1,000 feet, and width is the same as the primary surface. The approach clearance surface starts 200 feet beyond each end of the primary surface and extends for 50,000 feet. Approach surface width matches the primary surface width at the runway end but flares to a width of 16,000 feet at an elevation of 50,000 feet. Approach clearance surface slope is 50 to 1 to an elevation of 500 feet above airport elevation. It then rises horizontally to 50,000 feet. Transitional surface slope is 7 to 1 outward and upward at right angles to the runway centerline. See section 77.28 in the FAR Part 77 specification for more information.
  • Non precision instrument runway greater than (>) 3/4 mile visibilityA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions greater than three-quarters of a mile.
  • Non precision instrument runway less than (<) 3/4 mile visibilityA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions less than three-quarters of a mile.
  • Precision instrument runwayA runway that uses Instrument Landing System (ILS) or Precision Approach Radar (PAR) for approach procedures.
  • Utility runway visual approachA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. Aircraft using the runway use visual approach procedures.
  • Utility runway non precision instrument approachA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. The runway has an instrument approach procedure that uses air navigation facilities with horizontal guidance. It can also have area-type navigation equipment with approved nonprecision instrument approach procedures.
  • Visual runway visual approachA runway that supports only visual approach procedures.
String
Low Runway End Classification

Specifies the classification of the low end of the runway.

  • Same as high runway end classificationNo low runway end type.
  • Non precision instrument runway greater than (>) 3/4 mile visibilityA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions greater than three-quarters of a mile.
  • Non precision instrument runway less than (<) 3/4 mile visibilityA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions less than three-quarters of a mile.
  • Precision instrument runwayA runway that uses Instrument Landing System (ILS) or Precision Approach Radar (PAR) for approach procedures.
  • Utility runway visual approachA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. Aircraft using the runway use visual approach procedures.
  • Utility runway non precision instrument approachA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. The runway has an instrument approach procedure that uses air navigation facilities with horizontal guidance. It can also have area-type navigation equipment with approved nonprecision instrument approach procedures.
  • Visual runway visual approachA runway that supports only visual approach procedures.
String
Specially Prepared Hard Surface Runway
(Optional)

Specifies whether the runway has a specially prepared hard surface. A specially prepared hard surface indicates that the primary surface extends 200 feet beyond each end of the runway.

  • Checked—The runway has a specially prepared hard surface. This is the default.
  • Unchecked—The runway does not have a specially prepared hard surface.

Boolean
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 should be in the vertical coordinate system linear units of the target feature class. If no value is provided, the highest point from the Input Runway Features parameter value will be used.

Double
Include Merged Surfaces
(Optional)

Specifies whether merged horizontal and conical surfaces will be included in the OIS in addition to the regular surfaces.

  • Checked—Merged surfaces will be included in the OIS output. This is the default.
  • Unchecked—Merged surfaces will not be included in the OIS output.
Boolean
Custom JSON File
(Optional)

The import configuration, in JSON format, that will be used to create 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 OIS.

Feature Layer

arcpy.aviation.FAAFAR77(in_features, target, high_runway_end_type, low_runway_end_type, {specially_prepared_hard_surface_runway}, {highend_clear_way_length}, {lowend_clear_way_length}, {airport_elevation}, {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 target feature class that will contain the generated OIS.

Feature Layer
high_runway_end_type

Specifies the classification of the high end of the runway.

  • CONSTRUCTION_OR_ALTERATION_ON_AN_AIRPORT_WITH_LONGEST_RUNWAY_MORE_THAN_3200_FEETConstruction on or alteration to a runway longer than 3,200 feet with an imaginary surface that extends outward 20,000 feet and has a slope that does not exceed 100 to 1.
  • CONSTRUCTION_OR_ALTERATION_ON_AN_AIRPORT_WITH_LONGEST_RUNWAY_LESS_THAN_3200_FEETConstruction on or alteration to a runway less than 3,200 feet long with an imaginary surface that extends outward 10,000 feet and has a slope that does not exceed 50 to 1.
  • CONSTRUCTION_OR_ALTERATION_ON_A_HELIPORTConstruction on or alteration to a heliport landing and takeoff area with an imaginary surface that extends outward 5,000 feet and has a slope that does not exceed 25 to 1.
  • MILITARY_AIRPORTMilitary airport runways are operated by an armed force of the United States. Primary surfaces are the same length as the runway. Primary surface width is 2,000 feet. Clear zone surface length is 1,000 feet, and width is the same as the primary surface. The approach clearance surface starts 200 feet beyond each end of the primary surface and extends for 50,000 feet. Approach surface width matches the primary surface width at the runway end but flares to a width of 16,000 feet at an elevation of 50,000 feet. Approach clearance surface slope is 50 to 1 to an elevation of 500 feet above airport elevation. It then rises horizontally to 50,000 feet. Transitional surface slope is 7 to 1 outward and upward at right angles to the runway centerline. See section 77.28 in the FAR Part 77 specification for more information.
  • NONPRECISION_INSTRUMENT_RUNWAY_GREATER_THAN_(>)_3/4_MILE_VISIBILITYA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions greater than three-quarters of a mile.
  • NONPRECISION_INSTRUMENT_RUNWAY_LESS_THAN_(<)_3/4_MILE_VISIBILITYA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions less than three-quarters of a mile.
  • PRECISION_INSTRUMENT_RUNWAYA runway that uses Instrument Landing System (ILS) or Precision Approach Radar (PAR) for approach procedures.
  • UTILITY_RUNWAY_VISUAL_APPROACHA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. Aircraft using the runway use visual approach procedures.
  • UTILITY_RUNWAY_NON_PRECISION_INSTRUMENT_APPROACHA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. The runway has an instrument approach procedure that uses air navigation facilities with horizontal guidance. It can also have area-type navigation equipment with approved nonprecision instrument approach procedures.
  • VISUAL_RUNWAY_VISUAL_APPROACHA runway that supports only visual approach procedures.
String
low_runway_end_type

Specifies the classification of the low end of the runway.

  • SAME_AS_HIGH_RUNWAY_END_CLASSIFICATIONNo low runway end type.
  • NONPRECISION_INSTRUMENT_RUNWAY_GREATER_THAN_(>)_3/4_MILE_VISIBILITYA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions greater than three-quarters of a mile.
  • NONPRECISION_INSTRUMENT_RUNWAY_LESS_THAN_(<)_3/4_MILE_VISIBILITYA runway with a nonprecision instrument approach procedure that allows for landing in visibility conditions less than three-quarters of a mile.
  • PRECISION_INSTRUMENT_RUNWAYA runway that uses Instrument Landing System (ILS) or Precision Approach Radar (PAR) for approach procedures.
  • UTILITY_RUNWAY_VISUAL_APPROACHA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. Aircraft using the runway use visual approach procedures.
  • UTILITY_RUNWAY_NON_PRECISION_INSTRUMENT_APPROACHA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. The runway has an instrument approach procedure that uses air navigation facilities with horizontal guidance. It can also have area-type navigation equipment with approved nonprecision instrument approach procedures.
  • VISUAL_RUNWAY_VISUAL_APPROACHA runway that supports only visual approach procedures.
String
specially_prepared_hard_surface_runway
(Optional)

Specifies whether the runway has a specially prepared hard surface. A specially prepared hard surface indicates that the primary surface extends 200 feet beyond each end of the runway.

  • SPECIALLY_PREPARED_HARD_SURFACE_RUNWAYThe runway has a specially prepared hard surface. This is the default.
  • NON_SPECIALLY_PREPARED_HARD_SURFACE_RUNWAYThe runway does not have a specially prepared hard surface.
Boolean
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 should be in the vertical coordinate system linear units of the target feature class. If no value is provided, the highest point from the Input Runway Features parameter value will be used.

Double
include_merged_surface
(Optional)

Specifies whether merged horizontal and conical surfaces will be included in the OIS in addition to the regular surfaces.

  • INCLUDE_MERGED_SURFACEMerged surfaces will be included in the OIS output. This is the default.
  • NOT_INCLUDE_MERGED_SURFACEMerged surfaces will not be included in the OIS output.
Boolean
custom_json_file
(Optional)

The import configuration, in JSON format, that will be used to create 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 OIS.

Feature Layer

Code sample

FAAFAR77 example 1 (stand-alone script)

The following Python window script demonstrates how to use the FAAFAR77 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
outFeatures = "ObstructionIdSurface"

# runway variables
hiEndRunway = "PRECISION_INSTRUMENT_RUNWAY"
lowEndRunway = "PRECISION_INSTRUMENT_RUNWAY"
hardSurfaceRunway = "SPECIALLY_PREPARED_HARD_SURFACE_RUNWAY"
hiEndClearWay = 0
lowEndClearWay = 0
airportElev = 0

# execute the tool
arcpy.FAAFAR77_aviation(inFeatures, outFeatures, hiEndRunway, lowEndRunway,
                        hardSurfaceRunway, hiEndClearWay, lowEndClearWay,
                        airportElev, "INCLUDE_MERGED_SURFACE")

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

The following Python window script demonstrates how to use the FAAFAR77 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
outFeatures="ObstructionIdSurface"

# runway variables
hiEndRunway = "PRECISION_INSTRUMENT_RUNWAY"
lowEndRunway = "PRECISION_INSTRUMENT_RUNWAY"
hardSurfaceRunway = "SPECIALLY_PREPARED_HARD_SURFACE_RUNWAY"
hiEndClearWay = 0
lowEndClearWay = 0
airportElev = 0
customJSON = r"C:\data\customOIS.json"

# execute the tool
arcpy.FAAFAR77_aviation(inFeatures, outFeatures, hiEndRunway, lowEndRunway,
                        hardSurfaceRunway, hiEndClearWay, lowEndClearWay,
                        airportElev, "INCLUDE_MERGED_SURFACE", customJSON)

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

The following Python window script demonstrates how to use the FAAFAR77 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
outFeatures="ObstructionIdSurface"

# runway variables
hiEndRunway = "PRECISION_INSTRUMENT_RUNWAY"
lowEndRunway = "PRECISION_INSTRUMENT_RUNWAY"
hardSurfaceRunway = "SPECIALLY_PREPARED_HARD_SURFACE_RUNWAY"
hiEndClearWay = 0
lowEndClearWay = 0
airportElev = 0
customJSON = r"C:\data\customOIS.json"

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

# execute the tool
arcpy.FAAFAR77_aviation(inFeatures, outFeatures, hiEndRunway, lowEndRunway,
                        hardSurfaceRunway, hiEndClearWay, lowEndClearWay,
                        airportElev, "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