Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Çağıran coğrafya örneğinden uzaklığı distance parametresinden küçük veya buna eşit olan tüm noktaların kümesini temsil eden bir coğrafya örneği döndürür.
Syntax
.BufferWithCurves ( distance )
Arguments
uzaklık
Arabelleği oluşturan noktaların coğrafya örneğinden uzaklık üst sınırını gösteren bir float değeridir.
Dönüş Türleri
SQL Server dönüş türü: coğrafya
CLR dönüş türü: SqlGeography
Exceptions
Aşağıdaki ölçütler bir ArgumentException oluşturur.
Yöntemine herhangi bir parametre geçirilmemiş, örneğin
@g.BufferWithCurves()Yöntemine sayısal olmayan bir parametre geçirilir, örneğin:
@g.BufferWithCurves('a')NULL yöntemine geçirilir, örneğin
@g.BufferWithCurves(NULL)
Remarks
Aşağıdaki tabloda farklı uzaklık değerleri için döndürülen sonuçlar gösterilmektedir.
| mesafe Değeri | Tip Boyutları | Döndürülen Uzamsal Tür |
|---|---|---|
| mesafe < 0 | Sıfır veya Bir | Boş GeometryCollection örneği |
| mesafe < 0 | İki veya Daha Fazla | Negatif arabelleğe sahip bir CurvePolygon veya GeometryCollection örneği. Not: Negatif arabellek boş bir GeometryCollection oluşturabilir |
| uzaklık = 0 | Tüm boyutlar | Çağırma coğrafya örneğinin kopyası |
| mesafe > 0 | Tüm boyutlar | CurvePolygon veya GeometryCollection örneği |
Note
Uzaklıkbir float olduğundan, çok küçük bir değer hesaplamalarda sıfıra eşitlenebilir. Bu gerçekleştiğinde, çağıran coğrafya örneğinin bir kopyası döndürülür.
Yöntemine bir dize parametresi geçirilirse, float'a dönüştürülür veya bir ArgumentExceptionoluşturur.
Examples
A. Tek boyutlu coğrafya örneğinde 0 parametre değeriyle < BufferWithCurves() çağırma
Aşağıdaki örnek boş GeometryCollection bir örnek döndürür:
DECLARE @g geography= 'LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
SELECT @g.BufferWithCurves(-1).ToString();
B. İki boyutlu coğrafya örneğinde parametre değeri < 0 olan BufferWithCurves() çağırma
Aşağıdaki örnek negatif arabelleğe sahip bir CurvePolygon örnek döndürür:
DECLARE @g geography = 'CURVEPOLYGON(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.BufferWithCurves(-1).ToString()
C. Boş bir GeometryCollection döndüren 0 parametre değeriyle < BufferWithCurves() çağırma
Aşağıdaki örnekte , distance parametresi -2 değerine eşit olduğunda ne olduğu gösterilmektedir:
DECLARE @g geography = 'CURVEPOLYGON(CIRCULARSTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.BufferWithCurves(-2).ToString();
Bu SELECT deyimi döndürülüyor GEOMETRYCOLLECTION EMPTY
D. Parametre değeri = 0 olan BufferWithCurves() çağrısı
Aşağıdaki örnek, çağıran coğrafya örneğinin bir kopyasını döndürür:
DECLARE @g geography = 'LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
SELECT @g.BufferWithCurves(0).ToString();
E. BufferWithCurves() öğesini sıfır olmayan ve son derece küçük bir parametre değeriyle çağırma
Aşağıdaki örnek, çağıran coğrafya örneğinin bir kopyasını da döndürür:
DECLARE @g geography = 'LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
DECLARE @distance float = 1e-20;
SELECT @g.BufferWithCurves(@distance).ToString();
F. BufferWithCurves() parametresini 0 parametre değeriyle > çağırma
Aşağıdaki örnek bir CurvePolygon örnek döndürür:
DECLARE @g geography= 'LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
SELECT @g.BufferWithCurves(2).ToString();
G. Geçerli bir dize parametresi geçirme
Aşağıdaki örnek, daha önce belirtildiği gibi aynı CurvePolygon örneği döndürür, ancak yöntemine bir dize parametresi geçirilir:
DECLARE @g geography= 'LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)';
SELECT @g.BufferWithCurves('2').ToString();
H. Geçersiz bir dize parametresi geçirme
Aşağıdaki örnek bir hata oluşturur:
DECLARE @g geography = 'LINESTRING(-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653)'
SELECT @g.BufferWithCurves('a').ToString();
Önceki iki örnekte yöntemine bir dize değişmez değeri geçirildiğini BufferWithCurves() unutmayın. İlk örnek çalışır çünkü dize değişmez değeri sayısal bir değere dönüştürülebilir. Ancak, ikinci örnek bir ArgumentExceptionoluşturur.
Ayrıca Bkz.
Coğrafya Örneklerinde Genişletilmiş Yöntemler
BufferWithCurves (geometri Veri Türü)