共用方式為


STIntersection (geography 資料類型)

適用於:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric 中的 SQL 資料庫

傳回物件,表示 geography 執行個體與另一個 geography 執行個體相交的點。

Syntax

  
.STIntersection ( other_geography )  

Arguments

other_geography
這是要與叫用 STIntersection() 所在之執行個體相比較的另一個 geography 執行個體。

傳回型別

SQL Server 傳回類型:geography

CLR 傳回類型:SqlGeography

Remarks

傳回兩個 geography 執行個體的交集。

如果 geography 執行個體的空間參考識別碼 (SRID) 不相符,STIntersection() 一律會傳回 Null。

SQL Server 支援大於半球體的空間執行個體。 SQL Server 在伺服器上傳回的可能結果集中,可能包含 FullGlobe 執行個體。

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

Examples

A. 計算 Polygon 和 LineString 的交集

下列範例使用 STIntersection() 來計算 PolygonLineString 的交集。

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('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SELECT @g.STIntersection(@h).ToString();  

B. 計算 Polygon 和 CurvePolygon 的交集

下列範例會傳回包含圓弧線段的執行個體。

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('CURVEPOLYGON(CIRCULARSTRING(-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);  
SELECT @g.STIntersection(@h).ToString();  

C. 計算與 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.STIntersection('FULLGLOBE').ToString();  

另請參閱

地理位置例項上的 OGC 方法