Aracılığıyla paylaş


STDifference (coğrafya Veri Türü)

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

Başka bir coğrafya örneğinin dışında yer alan bir coğrafya örneğinden alınan nokta kümesini temsil eden bir nesne döndürür.

Syntax

  
.STDifference ( other_geography )  

Arguments

other_geography
STDifference() öğesinin çağrıldığı örnekten hangi noktaların kaldırılacağını gösteren başka bir coğrafya örneğidir.

Dönüş Türleri

SQL Server dönüş türü: coğrafya

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

Exceptions

Örnek bir antipodal kenar içeriyorsa bu yöntem bir ArgumentException oluşturur.

Remarks

Coğrafya örneklerinin uzamsal başvuru tanımlayıcıları (SRID' ler) eşleşmezse bu yöntem her zaman null döndürür.

SQL Server'da, sunucuda döndürülen olası sonuçlar kümesi FullGlobe örneklerine genişletildi. SQL Server, bir yarım küreden daha büyük uzamsal örnekleri destekler. Sonuç, yalnızca giriş örnekleri döngüsel yay kesimleri içeriyorsa döngüsel yay kesimleri içerebilir. Bu yöntem kesin değildir.

Examples

A. İki coğrafya örneği arasındaki farkı hesaplama

Aşağıdaki örnek, iki STDifference() örneği arasındaki farkı hesaplamak için kullanır.

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.STDifference(@h).ToString();  

B. STDifference() ile FullGlobe Kullanma

Aşağıdaki örnekte örnek gerçekleştirilir FullGlobe . İlk sonuç boş GeometryCollection , ikinci sonuç ise bir Polygon örnektir. STDifference() bir örnek parametre olduğunda boş GeometryCollection bir FullGlobe değer döndürür. Bir çağrı geography örneğindeki her nokta bir FullGlobe örnekte yer alır.

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

Ayrıca Bkz.

Coğrafya Örneklerinde OGC Yöntemleri