Unified Facilities Criteria (Aviation)

Available with Aviation Airports license.

Available with Aviation Charting license.

Summary

Creates obstruction identification surfaces based on the Unified Facilities Criteria (UFC) 3-260-01 that is prescribed by MIL-STD 3007. These surfaces provide planning, design, construction, sustainment, restoration, and modernization criteria for the United States Department of Defense. Surfaces are created as polygon or multipatch features.

Usage

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

  • The tool creates UFC surfaces in an existing polygon or a multipatch feature class. If a feature class is selected for Target OIS Features, it must have a vertical spatial reference.

  • The size of the surfaces depends on the Wing Type, Service Type, Runway Class, and Flight Rule parameter values.

  • The surface measurements can be customized with 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 existing output feature class that will contain the generated UFC surfaces.

Feature Layer
Wing Type

Specifies the wing type of the aircraft.

  • FixedThe wing type is fixed.
  • RotaryThe wing type is rotary.
Note:

If you choose Rotary, the Runway Class parameter will default to Class A without affecting the surface generation.

String
Service Type

Specifies the type of military service.

  • Air ForceThe service type is Air Force.
  • ArmyThe service type is Army.
  • NavyThe service type is Navy.
  • Marine CorpsThe service type is Marine Corps.
String
Runway Class

Specifies the runway class. Runways are classified as either Class A or Class B based on aircraft type.

  • Class AThe runway classification is Class A.
  • Class BThe runway classification is Class B.
String
Flight Rule

Specifies the flight rule. The rules that govern the procedures for conducting flight, either instrument or under visual conditions.

  • InstrumentThe flight rule is instrument flight condition.
  • VisualThe flight rule is visual flight condition.
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 should be given in the vertical coordinate system linear units of the target feature class. If no value is given, the highest point of the Input Runway Features parameter will be used.

Double
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.UnifiedFacilitiesCriteria(in_runway_features, target_ois_features, in_wing_type, in_service_type, in_runway_class, in_flight_rule, {highend_clear_way_length}, {lowend_clear_way_length}, {airport_elevation}, {custom_json_file}, {airport_control_point_feature_class})
NameExplanationData Type
in_runway_features

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

Feature Layer
target_ois_features

The existing output feature class that will contain the generated UFC surfaces.

Feature Layer
in_wing_type

Specifies the wing type of the aircraft.

  • FIXEDThe wing type is fixed.
  • ROTARYThe wing type is rotary.
Note:

If you choose Rotary, the Runway Class parameter will default to Class A without affecting the surface generation.

String
in_service_type

Specifies the type of military service.

  • AIRFORCEThe service type is Air Force.
  • ARMYThe service type is Army.
  • NAVYThe service type is Navy.
  • MARINECORPSThe service type is Marine Corps.
String
in_runway_class

Specifies the runway class. Runways are classified as either Class A or Class B based on aircraft type.

  • CLASS_AThe runway classification is Class A.
  • CLASS_BThe runway classification is Class B.
String
in_flight_rule

Specifies the flight rule. The rules that govern the procedures for conducting flight, either instrument or under visual conditions.

  • INSTRUMENTThe flight rule is instrument flight condition.
  • VISUALThe flight rule is visual flight condition.
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 should be given in the vertical coordinate system linear units of the target feature class. If no value is given, the highest point of the Input Runway Features parameter will be used.

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

The updated feature class containing the generated obstruction identification surfaces.

Feature Layer

Code sample

UnifiedFacilitiesCriteria example 1 (stand-alone script)

The following Python window script demonstrates how to use the UnifiedFacilitiesCriteria tool.

import arcpy

# set gp environment
arcpy.CheckOutExtension("Airports")

# Input Runway Feature Class
inFeatures = r"C:\data\ois.gdb\RunwayCenterline"

# Feature class that will contain the OIS surface
outFeatures = r"C:\data\ois.gdb\ObstructionIdSurface"

# Generate UFC OIS
arcpy.aviation.UnifiedFacilitiesCriteria(inFeatures, outFeatures, 'FIXED',
                                         'AIRFORCE', 'CLASS_A', 'INSTRUMENT')

arcpy.CheckInExtension("Airports")
UnifiedFacilitiesCriteria example 2 (stand-alone script)

The following Python window script demonstrates how to use the UnifiedFacilitiesCriteria tool with the airport_control_point_feature_class parameter.

import arcpy

# set gp environment
arcpy.CheckOutExtension("Airports")

# Input Runway Feature Class
inFeatures = r"C:\data\ois.gdb\RunwayCenterline"

# Feature class that will contain the OIS surface
outFeatures = r"C:\data\ois.gdb\ObstructionIdSurface"

customJSON = r"C:\data\customOIS.json"

# Feature class that will contain the Airport Elevation feature
inACPFeatures= r"C:\data\ois.gdb\AirportControlPoint"

# Generate UFC OIS
arcpy.aviation.UnifiedFacilitiesCriteria(inFeatures, outFeatures, 'FIXED',
                                         'AIRFORCE', 'CLASS_A', 'INSTRUMENT', 0, 0, 0, 
                                         customJSON, inACPFeatures)

arcpy.CheckInExtension("Airports")

Environments

Licensing information

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

Related topics