STUnion (geography Data Type)

STUnion (geography Data Type)

 

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Returns an object that represents the union of a geography instance with another geography instance.


.STUnion ( other_geography )

other_geography

Is another geography instance to form a union with the instance on which STUnion() is being invoked.

SQL Server return type: geography

CLR return type: SqlGeography

This method throws an ArgumentException if the instance contains an antipodal edge.

Exception Condition

This method always returns null if the spatial reference identifiers (SRIDs) of the geography instances do not match.

SQL Server supports spatial instances that are larger than a hemisphere. In SQL Server, the set of possible results returned on the server has been extended to FullGlobe instances.

The result may contain circular arc segments only if the input instances contain circular arc segments.

This method is not precise.

The following example uses STUnion() to compute the union of two Polygon instances.

DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SET @h = geography::STGeomFromText('POLYGON((-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);
SELECT @g.STUnion(@h).ToString();

The following example produces a FullGlobe when STUnion() combines two Polygon instances.

DECLARE @g geography = 'POLYGON ((-122.358 47.653, -122.358 47.658,-122.348 47.658, -122.348 47.649, -122.358 47.653))';

DECLARE @h geography = 'POLYGON ((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';

SELECT @g.STUnion(@h).ToString();

The following example produces a triagonal hole from the union of a CurvePolygon with a Polygon instance.

DECLARE @g geography = 'POLYGON ((-0.5 0, 0 1, 0.5 0.5, -0.5 0))';

DECLARE @h geography = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 0, 0.7 0.7, 0 1), (0 1, 0 0)))';

SELECT @g.STUnion(@h).ToString();

Community Additions

ADD
Show:
© 2016 Microsoft