Aracılığıyla paylaş


STBuffer (geometri veri türü)

Tüm Birliği temsil eden geometrik nesne noktaları olan uzaklığı döndürür bir geometryörneği için belirtilen bir değere eşit veya daha az olan.

Sözdizimi

.STBuffer ( distance )

Bağımsız değişkenler

  • distance
    Bir değer türü kayan nokta (çift içinde.net Framework) geçici arabellek hesaplamak geometrisi örneğinden uzaklık belirtme.

Dönüş Türleri

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

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

Açıklamalar

STBuffer()tampon gibi hesaplar BufferWithTolerance, belirten tolerance= mesafe *.001 ve relative= false.

Ne zaman distance >0 sonra ya da bir Polygonya MultiPolygonörneği döndürülür.

[!NOT]

Mesafe olduğundan bir float, çok küçük bir değer hesaplamalarında sıfıra eşit. Bu gerçekleştiği çağıran bir kopyasını geometryörneği döndürülür. Bkz.kayan nokta ve gerçek (Transact-sql)

Ne zaman distance= 0 then a kopya-in arama geometryörneği döndürülür.

When distance < 0, then

  • boş bir GeometryCollectionörneği örnek boyutları 0 veya 1 olduğunda döndürülür.

  • ne zaman 2 veya daha fazla örnek boyutları Negatif arabellek döndürdü.

    [!NOT]

    Negatif arabellek boş acabilirsiniz GeometryCollectionörneği.

Negatif arabellek geometrisi sınırı uzaklığı alınmış tüm noktalarını kaldırır.

Hata theorectical ve hesaplanan arabellek max(tolerance, extents * 1.E-7)nereye tolerance = distance * .001. Daha fazla bilgi için extentsbakın geometrisi veri türü yöntemi başvurusu.

Örnekler

A.STBuffer() parameter_value ile arama < tek boyutlu geometri örneğine 0

Aşağıdaki örnek, boş verir GeometryCollectionörneği:

DECLARE @g geometry= 'LINESTRING(3 4, 8 11)';

SELECT @g.STBuffer(-1).ToString();

B.STBuffer() parameter_value ile arama < 0 Çokgen örneği

Aşağıdaki örnek bir Polygonile negatif arabellek örneği:

DECLARE @g geometry = 'POLYGON((1 1, 1 5, 5 5, 5 1, 1 1))';

SELECT @g.STBuffer(-1).ToString();

C.STBuffer() parameter_value ile arama < 0 CurvePolygon örneği

Aşağıdaki örnek bir PolygonNegatif arabellek örneğiyle bir CurvePolygonörneği:

DECLARE @g geometry = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 4, 4 0, 8 4), (8 4, 0 4)))';

SELECT @g.STBuffer(-1).ToString();

[!NOT]

A Polygonörneği yerine döner bir CurvePolygonörneği. Geri dönmek için bir CurvePolygonbakın örneğiBufferWithCurves (geometri veri türü)

D.STBuffer() negatif parametre değeri ile boş bir örneğini döndürür

Aşağıdaki örnek ne olacağı gösterilir ne zaman distanceparametre eşittir önceki örneğin -2.

DECLARE @g geometry = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 4, 4 0, 8 4), (8 4, 0 4)))';

SELECT @g.STBuffer(-2).ToString();

Bu SELECTdeyimi döndürür birGEOMETRYCOLLECTION EMPTY.

E.STBuffer() parameter_value ile çağrı = 0

Aşağıdaki örnek arama döner geometryörneği:

DECLARE @g geometry = 'LINESTRING(3 4, 8 11)';

SELECT @g.STBuffer(0).ToString();

F.STBuffer() son derece küçük bir sıfır olmayan parametre değeri ile arama

Aşağıdaki örnek de çağıran döner geometryörneği:

DECLARE @g geometry = 'LINESTRING(3 4, 8 11)';

DECLARE @distance float = 1e-20;

SELECT @g.STBuffer(@distance).ToString();

G.STBuffer() parameter_value ile arama > 0

Aşağıdaki örnek bir Polygonörneği:

DECLARE @g geometry= 'LINESTRING(3 4, 8 11)';

SELECT @g.STBuffer(2).ToString();

H.Arama STBuffer() parametre değeri ile

Aşağıdaki örnek, aynı verir Polygonörneğini daha önce belirtildiği gibi ancak bir dize parametresi yönteme geçirilen:

DECLARE @g geometry= 'LINESTRING(3 4, 8 11)';

SELECT @g.STBuffer('2').ToString();

Aşağıdaki örnek, bir hata atmak olacaktır:

DECLARE @g geometry = 'LINESTRING(3 4, 8 11)';

SELECT @g.STBuffer('a').ToString();

[!NOT]

Önceki iki örnek dize hazır bilgi için geçirilen STBuffer(). Dize sayısal bir değere dönüştürülemez çünkü ilk örneği çalışır. Ancak, ikinci örnek atar bir ArgumentException.

I.Arama STBuffer() çoklu örneği

Aşağıdaki örnek, iki verir MultiPolygonörnekleri ve bir Polygonörneği:

DECLARE @g geometry = 'MULTIPOINT((1 1),(1 4))';

SELECT @g.STBuffer(1).ToString();

SELECT @g.STBuffer(1.5).ToString();

SELECT @g.STBuffer(1.6).ToString();

İlk iki SELECTdeyimleri döndürür bir MultiPolygonçünkü örneğini parametre distance1/2 küçük veya eşit olan iki puan (1 1) ve (1 4) arasındaki mesafe. Üçüncü SELECTdeyimi döndürür bir Polygonçünkü örnek iki puan (1 1) ve (1 4) örtüşme Tamponlu örneklerinin.

Ayrıca bkz.

Başvuru

BufferWithTolerance (geometri veri türü)

Diğer Kaynaklar

ogc yöntemleri üzerinde Geometry örnekleri