ArcGIS Pro 3.7 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 polylineCl = PolylineBuilderEx.CreatePolyline(startPoint, tangentDirection, startRadius, endRadius, orientation, createMethod, angle, densifyMethod, densifyParameter, SpatialReferences.WGS84);
    
      int numPoints = polylineCl.PointCount;
      MapPoint queryPoint = polylineCl.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 polylineByLength = 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 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also