ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Geometry Namespace / PolygonBuilderEx Class / ToGeometry() Method
Example

In This Topic
    ToGeometry() Method
    In This Topic
    Returns a Polygon instance representing the current state of the builder.
    Syntax
    Public Shadows Function ToGeometry() As Polygon
    public new Polygon ToGeometry()

    Return Value

    Example
    Construct a Polygon - from an enumeration of MapPoints
    {
      // Use a builderEx convenience method or use a builderEx constructor.
    
      MapPoint pt1 = MapPointBuilderEx.CreateMapPoint(1.0, 1.0);
      MapPoint pt2 = MapPointBuilderEx.CreateMapPoint(1.0, 2.0);
      MapPoint pt3 = MapPointBuilderEx.CreateMapPoint(2.0, 2.0);
      MapPoint pt4 = MapPointBuilderEx.CreateMapPoint(2.0, 1.0);
    
      List<MapPoint> list = new List<MapPoint>() { pt1, pt2, pt3, pt4 };
    
      Polygon polygonFromPoints = PolygonBuilderEx.CreatePolygon(list, SpatialReferences.WGS84);
      // polygon.HasZ will be false - it is determined by the HasZ flag of the points in the list
    
      // or specifically use AttributeFlags.NoAttributes
      polygonFromPoints = PolygonBuilderEx.CreatePolygon(list, AttributeFlags.None);
    
      // use AttributeFlags.None as we have 2D points
      PolygonBuilderEx polygonBuilder = new PolygonBuilderEx(list, AttributeFlags.None);
      polygonBuilder.SpatialReference = SpatialReferences.WGS84;
      polygonFromPoints = polygonBuilder.ToGeometry();
    }
    Build a donut polygon
    {
      List<Coordinate2D> outerCoordinates = new List<Coordinate2D>();
      outerCoordinates.Add(new Coordinate2D(10.0, 10.0));
      outerCoordinates.Add(new Coordinate2D(10.0, 20.0));
      outerCoordinates.Add(new Coordinate2D(20.0, 20.0));
      outerCoordinates.Add(new Coordinate2D(20.0, 10.0));
    
      // define the inner polygon as anti-clockwise
      List<Coordinate2D> innerCoordinates = new List<Coordinate2D>();
      innerCoordinates.Add(new Coordinate2D(13.0, 13.0));
      innerCoordinates.Add(new Coordinate2D(17.0, 13.0));
      innerCoordinates.Add(new Coordinate2D(17.0, 17.0));
      innerCoordinates.Add(new Coordinate2D(13.0, 17.0));
    
      PolygonBuilderEx pbEx = new PolygonBuilderEx(outerCoordinates);
      Polygon donutEx = pbEx.ToGeometry() as Polygon;
      double areaEx = donutEx.Area;       // area = 100
    
      pbEx.AddPart(innerCoordinates);
      donutEx = pbEx.ToGeometry() as Polygon;
    
      areaEx = donutEx.Area;    // area = 84.0
    
      areaEx = GeometryEngine.Instance.Area(donutEx);    // area = 84.0
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also