ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Geometry Namespace / ClothoidCreateMethod Enumeration
Example Example

In This Topic
    ClothoidCreateMethod Enumeration
    In This Topic
    The method of creation for a clothoid. Used with PolylineBuilderEx.CreatePolyline.
    Syntax
    Members
    MemberDescription
    ByAngle The associated parameter specifies the angle in radians.
    ByLength The associated parameter specifies the length of the entire clothoid spiral.
    Example
    Construct a Clothoid by Angle
    MapPoint startPoint = MapPointBuilderEx.CreateMapPoint(0, 0);
    double tangentDirection = Math.PI / 6;
    ArcOrientation orientation = ArcOrientation.ArcCounterClockwise;
    double startRadius = double.PositiveInfinity;
    double endRadius = 0.2;
    ClothoidCreateMethod createMethod = ClothoidCreateMethod.ByAngle;
    double angle = Math.PI / 2;
    CurveDensifyMethod densifyMethod = CurveDensifyMethod.ByLength;
    double densifyParameter = 0.1;
    
    Polyline polyline = PolylineBuilderEx.CreatePolyline(startPoint, tangentDirection, startRadius, endRadius, orientation, createMethod, angle, densifyMethod, densifyParameter, SpatialReferences.WGS84);
    
    int numPoints = polyline.PointCount;
    MapPoint queryPoint = polyline.Points[numPoints - 2];
    
    MapPoint pointOnPath;
    double radiusCalculated, tangentDirectionCalculated, lengthCalculated, angleCalculated;
    
    PolylineBuilderEx.QueryClothoidParameters(queryPoint, startPoint, tangentDirection, startRadius, endRadius, orientation, createMethod, angle, out pointOnPath, out radiusCalculated, out tangentDirectionCalculated, out lengthCalculated, out angleCalculated, SpatialReferences.WGS84);
    
    Construct a Clothoid by Length
    MapPoint startPoint = MapPointBuilderEx.CreateMapPoint(0, 0);
    MapPoint queryPoint = MapPointBuilderEx.CreateMapPoint(3.8, 1);
    double tangentDirection = 0;
    ArcOrientation orientation = ArcOrientation.ArcCounterClockwise;
    double startRadius = double.PositiveInfinity;
    double endRadius = 1;
    ClothoidCreateMethod createMethod = ClothoidCreateMethod.ByLength;
    double curveLength = 10;
    MapPoint pointOnPath;
    double radiusCalculated, tangentDirectionCalculated, lengthCalculated, angleCalculated;
    
    
    PolylineBuilderEx.QueryClothoidParameters(queryPoint, startPoint, tangentDirection, startRadius, endRadius, orientation, createMethod, curveLength, out pointOnPath, out radiusCalculated, out tangentDirectionCalculated, out lengthCalculated, out angleCalculated, SpatialReferences.WGS84);
    
    pointOnPath = MapPointBuilderEx.CreateMapPoint(3.7652656620171379, 1.0332006103128575);
    radiusCalculated = 2.4876382887687227;
    tangentDirectionCalculated = 0.80797056423543978;
    lengthCalculated = 4.0198770235802987;
    angleCalculated = 0.80797056423544011;
    
    queryPoint = MapPointBuilderEx.CreateMapPoint(1.85, 2.6);
    
    PolylineBuilderEx.QueryClothoidParameters(queryPoint, startPoint, tangentDirection, startRadius, endRadius, orientation, createMethod, curveLength, out pointOnPath, out radiusCalculated, out tangentDirectionCalculated, out lengthCalculated, out angleCalculated, SpatialReferences.WGS84);
    
    pointOnPath = MapPointBuilderEx.CreateMapPoint(1.8409964973501549, 2.6115979967308132);
    radiusCalculated = 1;
    tangentDirectionCalculated = -1.2831853071795867;
    lengthCalculated = 10;
    angleCalculated = 5;
     
    tangentDirection = Math.PI / 4;
    orientation = ArcOrientation.ArcClockwise;
    startRadius = double.PositiveInfinity;
    endRadius = 0.8;
    createMethod = ClothoidCreateMethod.ByLength;
    curveLength = 10;
    
    Polyline polyline = PolylineBuilderEx.CreatePolyline(startPoint, tangentDirection, startRadius, endRadius, orientation, createMethod, curveLength, CurveDensifyMethod.ByLength, 0.5, SpatialReferences.WGS84);
    
    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             ArcGIS.Core.Geometry.ClothoidCreateMethod

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also