共用方式為


STSymDifference (geography 資料類型)

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

傳回物件,表示在某個 geography 執行個體或另一個 geography 執行個體內的所有點 (但不是同時在這兩個執行個體內的點)。

Syntax

  
.STSymDifference ( other_geography )  

注意

若要檢視 SQL Server 2014 (12.x) 和更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

other_geography
這是除了 STSymDistance() 叫用所在的執行個體之外的另一個 geography 執行個體。

傳回型別

SQL Server 傳回類型:geography

CLR 傳回類型:SqlGeography

備註

如果 geography 執行個體的空間參考識別碼 (SRID) 不相符,這個方法一定會傳回 null。

SQL Server 支援大於半球體的空間執行個體。 在 SQL Server 中,伺服器上的可能結果集已擴充為 FullGlobe 執行個體。

只有當輸入執行個體包含圓弧線段時,結果才能包含圓弧線段。

範例

A. 計算兩個多邊形的對稱差異

下列範例使用 STSymDifference() 來計算兩個 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.STSymDifference(@h).ToString();  

B. 計算與 FullGlobe 的對稱差異

下列範例會計算 PolygonFullGlobe 之間的對稱差異。

 DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';  
 SELECT @g.STSymDifference('FULLGLOBE').ToString();

另請參閱

地理位置例項上的 OGC 方法