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 values you specify for 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 value represents the highest point (AMSL) of an airport's usable landing area. The default value is 0. If an airport elevation feature is provided with the Input Airport Control Point Features parameter, it will override this value.

  • The Input Airport Control Point Features parameter can be used to supply an Airport_Elevation feature. The feature's z-value will override any input Airport Elevation parameter value.

  • 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 cut by the transitional and approach surface for output polygon features; however, the surface will be continuous for output multipatch features.

    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.

  • If the runway classifications for the High Runway End Classification and the Low Runway End Classification differ, the primary, horizontal, conical, and transitional surfaces will be created to match the more restrictive classification. Surfaces will be created to cover a broader area.

  • If processing multiple runway features, check the Include Merged Surfaces parameter to create an additional Merged Horizontal Surface and Merged Conical Surface.

    The additional merged surfaces will be continuous and will have an additional surface created to fill in the areas bounded by edges tangent to the outer edges of the individual surfaces.

  • The Input Runway parameter value must have the Runway Designator and Surface Type fields populated. The surface type will determine the dimensions of the primary surface, which directly impacts the Transitional, Approach, Horizontal, and Conical surfaces.

    Caution:

    If you do not populate these fields while using the optional Input Runway parameter, the tool will fail.

  • The Input Runway End parameter value must have the Runway Designator and Approach Guidance fields populated. When an airport has multiple runways with various approach categories, the Approach Guidance field instructs the tool to create the Approach Surface that corresponds to the Runway End Designator. This will create accurate Approach, Merged Horizontal, and Merged Conical surfaces for the entire airport.

    Caution:

    If you do not populate these fields while using the optional Input Runway End parameter, the tool will fail.

  • The Length of High Runway End Clearway and Length of Low Runway End Clearway parameter values will be used to effectively lengthen the runway and the corresponding output surfaces. These values should be left at the default value of 0 unless they're needed for exploring alternate runway length scenarios.

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 that will be used for 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.
  • C = 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.
  • D = 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.
  • PIR = Precision instrument runwayA runway that uses Instrument Landing System (ILS) or Precision Approach Radar (PAR) for approach procedures.
  • A(V) = Utility runway visual approachA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. Aircraft using the runway use visual approach procedures.
  • A(NP) = 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.
  • B(V) = Visual runway visual approachA runway that only supports 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.
  • C = 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.
  • D = 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.
  • PIR = Precision instrument runwayA runway that uses Instrument Landing System (ILS) or Precision Approach Radar (PAR) for approach procedures.
  • A(V) = Utility runway visual approachA runway built for propeller aircraft not exceeding 12,500 pounds gross weight. Aircraft using the runway use visual approach procedures.
  • A(NP) = 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.
  • B(V) = 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 tool will use the z-value of an Airport Elevation point provided by the Input Airport Control Point Features parameter value. If no Input Airport Control Point Features parameter value is provided, the tool will use the highest z-value found in the Input Runway Features parameter value.

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 Features
(Optional)

The point features containing an Airport Elevation subtype feature. The feature's z-value will take precedence over any value provided for the Airport Elevation parameter. The Point Type field will be used to identify a point as an Airport Elevation feature and the Runway Designator field will be used to find the associated runway centerline.

Feature Layer
Input Runway
(Optional)

The input runway feature layer. The Runway Designator and Surface Type fields will be used determine the primary surface dimensions.

Feature Layer
Input Runway End
(Optional)

The input runway end feature layer. The Runway End Designator and Approach Guidance fields will be used to create the corresponding approach surface.

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}, {in_runway_feature_class}, {in_runway_end_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 that will be used for 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 only supports 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 tool will use the z-value of an Airport Elevation point provided by the airport_control_point_feature_class parameter value. If no airport_control_point_feature_class parameter value is provided, the tool will use the highest z-value found in the in_features parameter value.

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 subtype feature. The feature's z-value will take precedence over any value provided for the airport_elevation parameter. The Point Type field will be used to identify a point as an airport_elevation_feature and the Runway Designator field will be used to find the associated runway centerline.

Feature Layer
in_runway_feature_class
(Optional)

The input runway feature layer. The Runway Designator and Surface Type fields will be used determine the primary surface dimensions.

Feature Layer
in_runway_end_feature_class
(Optional)

The input runway end feature layer. The Runway End Designator and Approach Guidance fields will be used to create the corresponding approach surface.

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 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 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 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