ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / PolygonBuilderEx Class / PolygonBuilderEx Constructor / PolygonBuilderEx Constructor(IEnumerable<Coordinate2D>,SpatialReference)
Coordinates for the first ring. Line segments are constructed from the coordinates.
(Optional) The SpatialReference. The default value is null.
Example

In This Topic
    PolygonBuilderEx Constructor(IEnumerable<Coordinate2D>,SpatialReference)
    In This Topic
    Initializes a new instance of the PolygonBuilderEx class.
    Syntax

    Parameters

    coordinate2Ds
    Coordinates for the first ring. Line segments are constructed from the coordinates.
    spatialReference
    (Optional) The SpatialReference. The default value is null.
    Exceptions
    ExceptionDescription
    The input coordinates enumeration is null.
    Example
    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, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also