ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Editing.COGO Namespace / COGOLine Class
Members Example

In This Topic
    COGOLine Class
    In This Topic
    Represents a COGO line.
    Object Model
    COGOLine ClassCircularArcDefinition Class
    Syntax
    Public NotInheritable Class COGOLine 
    public sealed class COGOLine 
    Example
    Create a COGOLine defined by direction and distance
    var nAzDirection = ParcelUtilities.Instance.ConvertQuadrantBearingDMSToNorthAzimuthDecDeg("S7-46-51-E");
    var cogoStraightLine = COGOLineBuilder.CreateCOGOStraightLine(nAzDirection, 61.45);
    Create a COGOLine defined by deflection angle and distance
    // Clockwise deflection angle 90 degrees, 50.00
    var deflectionLine = COGOLineBuilder.CreateCOGOStraightLineByClockwiseDeflectionAngle(90.0, false, 50.00);
    
    //Clockwise backsight deflection angle 270 degrees, 50.00'
    var backSightDeflectionLine = COGOLineBuilder.CreateCOGOStraightLineByClockwiseDeflectionAngle(270.0, true, 50.00);
    Create a COGOLine defined by a circular arc
    // define with a radius, arcLength and chord direction 
    var circularArcDef = new CircularArcDefinition
    {
      Radius = -201.0,
      ArcLength = 45.29,
      ChordDirection = ParcelUtilities.Instance.ConvertQuadrantBearingDMSToNorthAzimuthDecDeg("N21-47-57W")
    };
    var cogoCircArc = COGOLineBuilder.CreateCOGOCircularArc(circularArcDef);
    
    
    // define with a radius, chordLength and tangent direction 
    var circularArcDef2 = new CircularArcDefinition
    {
      Radius = -201.0,
      ChordLength = 44.0,
      TangentDirection = 340.0
    };
    var cogoCircArc2 = COGOLineBuilder.CreateCOGOCircularArc(circularArcDef2);
    
    // define with a radius, central angle and radial direction
    var circularArcDef3 = new CircularArcDefinition
    {
      Radius = -201.0,
      CentralAngle = 44.0,
      RadialDirection = 340.0
    };
    var cogoCircArc3 = COGOLineBuilder.CreateCOGOCircularArc(circularArcDef3);
    Create a COGOLine defined by a tangent curve
    var tangentCircArcDef = new TangentCurveDefinition
    {
      Radius = 169.0,
      ArcLength = 52.40
    };
    var cogoTangentArc = COGOLineBuilder.CreateCOGOCircularArc(tangentCircArcDef);
    
    var tangentCircArcDef2 = new TangentCurveDefinition
    {
      Radius = -201.0,
      ChordLength = 23.24
    };
    var cogoTangentArc2 = COGOLineBuilder.CreateCOGOCircularArc(tangentCircArcDef2);
    
    var tangentCircArcDef3 = new TangentCurveDefinition
    {
      Radius = 169.0,
      CentralAngle = 44.0
    };
    var cogoTangentArc3 = COGOLineBuilder.CreateCOGOCircularArc(tangentCircArcDef3);
    Create a Traverse
    List<COGOLine> lstCOGOLines = new();
    var direction = ParcelUtilities.Instance.ConvertQuadrantBearingDMSToNorthAzimuthDecDeg("S7-46-51-E");
    lstCOGOLines.Add(COGOLineBuilder.CreateCOGOStraightLine(nAzDirection, 61.45)); //1
    lstCOGOLines.Add(COGOLineBuilder.CreateCOGOStraightLine(166.2625, 37.22));//2
    lstCOGOLines.Add(COGOLineBuilder.CreateCOGOStraightLine(255.2833333, 71.4));//3
    var circArcDef = new CircularArcDefinition
    {
      Radius = -201.0,
      ArcLength = 45.29,
      ChordDirection = ParcelUtilities.Instance.ConvertQuadrantBearingDMSToNorthAzimuthDecDeg("N21-47-57W")
    };
    lstCOGOLines.Add(COGOLineBuilder.CreateCOGOCircularArc(circArcDef));//4
    var tangentCurveDef = new TangentCurveDefinition
    {
      Radius = 169.0,
      ArcLength = 52.40
    };
    lstCOGOLines.Add(COGOLineBuilder.CreateCOGOCircularArc(tangentCurveDef));//5
    
    tangentCurveDef = new TangentCurveDefinition
    {
      Radius = 13.0,
      ArcLength = 22.98
    };
    lstCOGOLines.Add(COGOLineBuilder.CreateCOGOCircularArc(tangentCurveDef));//6
    
    tangentCurveDef = new TangentCurveDefinition
    {
      Radius = -281.0,
      ArcLength = 73.68
    };
    lstCOGOLines.Add(COGOLineBuilder.CreateCOGOCircularArc(tangentCurveDef));//7
    
    var spatialReference = map?.SpatialReference;
    var travParcel = new Traverse(spatialReference);
    await travParcel.AddCoursesAsync(lstCOGOLines);
    if (travParcel.IsValid())
    {
      ; //insert code to use the traverse
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Editing.COGO.COGOLine

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.7 or higher.
    See Also