ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Geometry Namespace / GeometryBag Class / IsEqual Method / IsEqual(GeometryBag) Method
A geometrybag to test for equality.
Example Version

    IsEqual(GeometryBag) Method
    Compares two GeometryBag for equality. This will check that the SpatialReference, attribute awareness (HasZ, HasM, HasID), and the content of Geometries match. The order of parts must match too.
    Syntax
    public bool IsEqual( 
       GeometryBag geomteryBag
    )

    Parameters

    geomteryBag
    A geometrybag to test for equality.

    Return Value

    Value to indicate if the two geometries are equal.
    Example
    Construct GeometryBag
    MapPoint point = MapPointBuilderEx.CreateMapPoint(1, 2, SpatialReferences.WebMercator);
    
    List<Coordinate2D> coords2D = new List<Coordinate2D>()
    {
      new Coordinate2D(0, 0),
      new Coordinate2D(0, 1),
      new Coordinate2D(1, 1),
      new Coordinate2D(1, 0)
    };
    
    Multipoint multipoint = MultipointBuilderEx.CreateMultipoint(coords2D, SpatialReferences.WGS84);
    Polyline polyline = PolylineBuilderEx.CreatePolyline(coords2D, SpatialReferences.WebMercator);
    
    GeometryBagBuilderEx builder = new GeometryBagBuilderEx(SpatialReferences.WGS84);
    
    GeometryBag emptyBag = builder.ToGeometry();
    // emptyBag.IsEmpty = true
    
    builder.AddGeometry(point);
    // builder.GeometryCount = 1
    
    GeometryBag geometryBag = builder.ToGeometry();
    // geometryBag.PartCount = 1
    // geometryBag.PointCount = 1
    // geometryBag.IsEmpty = false
    
    IReadOnlyList<Geometry> geometries = geometryBag.Geometries;
    // geometries.Count = 1
    // geometries[0] is MapPoint with a sr of WGS84
    
    bool isEqual = geometryBag.IsEqual(emptyBag);   // isEqual = false
    
    builder.InsertGeometry(0, multipoint);
    geometryBag = builder.ToGeometry();
    // geometryBag.PartCount = 2
    
    geometries = geometryBag.Geometries;
    // geometries.Count = 2
    // geometries[0] is Multipoint
    // geometries[1] is MapPoint
    
    builder.AddGeometry(polyline);
    builder.RemoveGeometry(1);
    geometryBag = builder.ToGeometry();
    // geometryBag.PartCount = 2
    
    geometries = geometryBag.Geometries;
    // geometries.Count = 2
    // geometries[0] is Multipoint
    // geometries[1] is Polyline          
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also