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

In This Topic
    IsEqual(GeometryBag) Method
    In This Topic
    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
    )
    Public Overloads Function IsEqual( _
       ByVal geomteryBag As GeometryBag _
    ) As Boolean

    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