Skip To Content

Enable COGO


Enables COGO on a line feature class. COGO fields are added to the feature class.


  • Adds the following COGO fields to the selected line feature class: ArcLength (Alias: Arc Length), Direction, Distance, Radius, and Radius2. All fields are of type Double. COGO fields store dimensions that are used to create line features in relation to each other.

  • Adds COGO-related labeling and symbology to the selected line feature class. Lines are drawn with custom COGO symbology, and a label expression labels each line with its COGO dimensions if they exist.

  • To delete the COGO fields, run the Disable COGO geoprocessing tool.

  • If one or more of the COGO fields already exist and are of the correct type, only the remaining, missing COGO fields are added.

  • If a line feature class is COGO-enabled, the Traverse tool populates the COGO fields with the entered dimensions.

    Learn more about the Traverse tool

  • The Direction field stores the direction (bearing) of the line from its start point to its endpoint.

  • The Distance field stores the distance (length) of the line.

  • The ArcLength field stores the arc distance between the start and end point of a curved line.

  • The Radius field stores the distance between the curve center point and the curve line.

  • The Radius2 field stores curve parameters for spiral curves.


EnableCOGO_management (in_line_features)
ParameterExplanationData Type

The line feature class that will be COGO enabled.

Feature Layer

Code sample

EnableCOGO example (Python window)

The following Python window script demonstrates how to use the EnableCOGO tool in immediate mode.

import arcpy
arcpy.env.workspace = "E:\ArcGISXI\Mont\Montgomery.gdb"
EnableCOGO example 2 (stand-alone script)

The following stand-alone script demonstrates how to check for and enable COGO on a line feature class.

import arcpy

# Variable to contain the path of the feature class that is to be COGO Enabled
lineFeatureClass = r"d:\test.gdb\myLineFC"

# Check to see if the feature class is already enabled by using .isCOGOEnabled on a Describe
if arcpy.Describe(lineFeatureClass).isCOGOEnabled == False:
    # If it returns False, run EnableCOGO_management and pass the feature class
    print("{} is already COGO Enabled".format(lineFeatureClass))


This tool does not use any geoprocessing environments.

Licensing information

  • ArcGIS Desktop Basic: No
  • ArcGIS Desktop Standard: Yes
  • ArcGIS Desktop Advanced: Yes

Related topics