﻿ Difference Method (GeometryEngine)—ArcGIS Pro
ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Geometry Namespace / GeometryEngine Class / Difference Method
the Geometry instance on the left hand side of the subtraction.
the Geometry on the right hand side being subtracted.
Example

In This Topic
Difference Method (GeometryEngine)
In This Topic
Performs the topological difference operation on the two geometries.
Syntax
```public Geometry Difference(
Geometry geometry1,
Geometry geometry2
)```
```Public Function Difference( _
ByVal geometry1 As Geometry, _
ByVal geometry2 As Geometry _
) As Geometry```

#### Parameters

geometry1
the Geometry instance on the left hand side of the subtraction.
geometry2
the Geometry on the right hand side being subtracted.

#### Return Value

Returns the result of subtraction. The result has the dimension of geometry1 If either of the input geometries are empty, then geometry1 is returned unchanged.
Exceptions
ExceptionDescription
Either geometry1 or geometry2 or both are null or empty.
The method is not implemented for GeometryBag.
Incompatible spatial references between the input geometries.
Remarks

Example
Difference between two Polygons
```List<MapPoint> polyPts = new List<MapPoint>();

Polygon poly1 = PolygonBuilderEx.CreatePolygon(polyPts);

Envelope env = EnvelopeBuilderEx.CreateEnvelope(MapPointBuilderEx.CreateMapPoint(1.0, 1.0), MapPointBuilderEx.CreateMapPoint(4, 4));
Polygon poly2 = PolygonBuilderEx.CreatePolygon(env);

Geometry result = GeometryEngine.Instance.Difference(poly1, poly2);
Polygon polyResult = result as Polygon;
// polyResult.Area = 10.0

result = GeometryEngine.Instance.Difference(poly2, poly1);
polyResult = result as Polygon;
// polyResult.Area = 7.0```
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.