适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 预览版中的 SQL 数据库
返回一个对象,它表示一个 geography 实例与另一个 geography 实例的并集。
Syntax
  
.STUnion ( other_geography )  
Arguments
              other_geography
与调用 STUnion() 的实例形成并集的另一个 geography 实例。
Return Types
SQL Server 返回类型:geography
CLR 返回类型:SqlGeography
Exceptions
如果实例包含对拓边缘,此方法将引发 ArgumentException。
Remarks
如果 geography 实例的空间引用标识符 (SRID) 不匹配,则此方法始终返回 null。
SQL Server 支持大于半球的空间实例。 在 SQL Server 中,服务器上可能返回的结果集已扩展到 FullGlobe 实例。
只有在输入实例包含圆弧线段时,结果才会包含圆弧线段。
此方法不精确。
Examples
A. 计算两个多边形的并集
以下示例使用 STUnion() 计算两个 Polygon 实例的并集。
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();  
B. 生成 FullGlobe 结果
以下示例在 FullGlobe 合并两个 STUnion() 实例时生成 Polygon。
 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();
C. 基于 CurvePolygon 和一个三角形孔的并集生成一个三角形孔。
以下示例通过 CurvePolygon 和 Polygon 实例的并集生成一个三角形孔。
 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();