Aracılığıyla paylaş


STSymDifference (geometri Veri Türü)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Bir geometri örneğinde veya başka birgeometri örneğinde bulunan tüm noktaları temsil eden, ancak her iki örnekte de bulunan noktaları temsil eden bir nesne döndürür.

Syntax

  
.STSymDifference ( other_geometry )  

Arguments

other_geometry
Üzerinde çağrılan örneğe ek olarak başka bir geometri örneğidir STSymDifference() .

Dönüş Türleri

SQL Server dönüş türü: geometri

CLR dönüş türü: SqlGeometry

Remarks

Geometri örneklerinin uzamsal başvuru kimlikleri (SRID' ler) eşleşmezse bu yöntem her zaman null döndürür. Sonuç, yalnızca giriş örnekleri döngüsel yay kesimleri içeriyorsa döngüsel yay kesimleri içerebilir.

Examples

A. İki Çokgen örneğin simetrik farkını hesaplama

Aşağıdaki örnek, iki STSymDifference() örneğin simetrik farkını hesaplamak için kullanırPolygon.

DECLARE @g geometry;  
DECLARE @h geometry;  
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);  
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);  
SELECT @g.STSymDifference(@h).ToString();  

B. CurvePolygon ile Çokgen örneği arasındaki simetrik farkı hesaplama

Aşağıdaki örnek, ile GeometryCollection arasındaki CurvePolygon simetrik farkı temsil eden bir Polygondöndürür.

 DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';  
 DECLARE @h geometry = 'POLYGON ((1 -1, 5 -1, 5 3, 1 3, 1 -1))';  
 SELECT @h.STSymDifference(@g).ToString();

C. Bir çokgen örneğiyle CurvePolygon örneğinde STSymDifference() kullanma

Aşağıdaki örnek, iki örnek arasındaki simetrik farkı temsil eden bir iç CurvePolygon halkaya sahip bir örnek döndürürPolygon.

 DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';  
 DECLARE @h geometry = 'POLYGON ((1 -1, 2 -1, 2 1, 1 1, 1 -1))';  
 SELECT @h.STSymDifference(@g).ToString();

Ayrıca Bkz.

Geometri Örnekleri üzerinde OGC Yöntemleri