Aracılığıyla paylaş


STDifference (coğrafi konum veri türü)

Noktası temsil eden bir nesne kümesi döndürür bir geography, yalan dışında başka bir örneği geographyörneği.

Sözdizimi

.STDifference ( other_geography )

Bağımsız değişkenler

  • other_geography
    Başka bir geographyörneğini hangi örneğinde kaldırmak için hangi noktaları gösteren **STDifference()**Çağrılmakta.

Dönüş Türleri

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

clr döndürme türü:SqlGeography

Kural dışı durumlar

Bu yöntemi atar bir ArgumentExceptionantipodal kenar örneği içeriyorsa,.

Açıklamalar

Bu yöntem her zaman null döndürür kayma başvuru tanımlayıcıları (SRIDs) geographyörnekleri eşleşmiyor.

De SQL Server, olası sonuçları, sunucuda döndürülen dizi uzatıldı FullGlobeörnekleri. SQL Serverbir Yarımküre büyük kayma örnekleri destekler. Yalnızca giriş örnekleri circular arc kesimleri içeriyorsa sonuç circular arc parçalarını içerebilir. Bu yöntem kesin değildir.

Örnekler

A.Iki coğrafi konum örnekleri arasındaki farkı hesaplama

Aşağıdaki örnek STDifference()ikisi arasındaki farkı hesaplamak için geographyörnekleri.

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

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.Bir FullGlobe STDifference() ile kullanma

Aşağıdaki örnek FullGlobeörneği. İlk sonuç boş olduğunu GeometryCollectionve ikinci sonuç bir Polygonörneği. STDifference()boş döndürür GeometryCollectionne zaman bir FullGlobeörneğidir parametre. Bir çağırma her nokta geographyörneği içinde yer alan bir FullGlobeörneği.

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.

Diğer Kaynaklar

Coğrafya örnekleri üzerinde ogc yöntemleri