次の方法で共有


STUnion (geography データ型)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database

geography インスタンスと別の geography インスタンスの和集合を表すオブジェクトを返します。

構文

  
.STUnion ( other_geography )  

引数

other_geography
STUnion() を呼び出したインスタンスとの和集合を形成する、別の geography インスタンスです。

戻り値の型

SQL Server 戻り値の型: geography

CLR の戻り値の型: SqlGeography

例外

このメソッドは、このインスタンスに対蹠点が含まれている場合、ArgumentException をスローします。

解説

geography インスタンスの SRID (spatial reference ID) が一致しない場合、このメソッドは常に null を返します。

SQL Server では、半球より大きい空間インスタンスをサポートしています。 SQL Server では、サーバー上で返される結果セットが FullGlobe インスタンスに拡張されています。

結果に円弧が含まれるのは、入力インスタンスに円弧が含まれる場合のみです。

このメソッドは正確ではありません。

A. 2 つの多角形の和集合を計算する

STUnion() を使用して 2 つの 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 で 2 つの 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 と Polygon の和集合から三角形の穴を生成する。

CurvePolygonPolygon インスタンスの和集合から三角形の穴を生成する例を次に示します。

 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();

参照

Geography インスタンスの OGC メソッド