STSymDifference (geometry)

STSymDifference (geometry)#

Returns an object that represents all points that are either in one geometry instance or another geometry instance, but not those points that lie in both instances.

Syntax#

.STSymDifference ( other_geometry )

Arguments#

other_geometry

Is another geometry instance in addition to the instance on which STSymDifference() is being invoked.

Return type#

geometry

Remarks#

This method always returns null if the spatial reference IDs (SRIDs) of the geometry instances do not match. The result may contain circular arc segments only if the input instances contain circular arc segments.

Example#

Compute the symmetric difference of two Polygon instances.

DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
SELECT @g.STSymDifference(@h).ToString();

See Also#