Aracılığıyla paylaş


BufferWithCurves (geometri veri türü)

Döner bir geometryArama olan mesafe örneği, tüm kümesini temsil eden noktaları geometryörneği olan küçük ya da eşit distanceparametresi.

Sözdizimi

.BufferWithCurves ( distance )

Bağımsız değişkenler

  • distance
    Olan bir float gelen arabellek şekillendirme işaret maksimum uzaklığı gösteren olabilir geometryörneği.

Dönüş Türleri

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

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

Kural dışı durumlar

Aşağıdaki ölçütler atmak olacaktır bir ArgumentException.

  • Hiçbir parametre gibi yönteme geçirilir@g.BufferWithCurves()

  • Sayısal olmayan parametre gibi yöntemine geçildi@g.BufferWithCurves('a')

  • NULL yöntemi, gibi geçti @g.BufferWithCurves(NULL)

Açıklamalar

Örnek olarak bu yöntemi tarafından döndürülen bir geometrisi örneği aşağıda gösterilmiştir.

Ff929235.BufferedCurve(tr-tr,SQL.110).gif

Aşağıdaki tabloda, farklı mesafe değerleri döndürülen sonuçları gösterir.

uzaklık değeri

Türü boyutları

Kayma türü döndürdü

mesafe < 0

Sıfır veya bir

Boş GeometryCollectionörneği

mesafe < 0

İki veya daha

A CurvePolygonveya GeometryCollectionörneği ile negatif arabellek

NotNot
Negatif arabellek boş oluşturabilirGeometryCollection

uzaklık = 0

Tüm boyutlar

Kopya çalıştırmak geometryörneği

mesafe > 0

Tüm boyutlar

CurvePolygonveya GeometryCollectionörneği

[!NOT]

Çünkü distanceolan bir float, çok küçük bir değer hesaplamalarında sıfıra eşit. Bu gerçekleştiği sonra arayan bir kopyasını geometryörneği döndürülür. See kayan nokta ve gerçek (Transact-sql).

Negatif arabellek içine geometrisi sınırı verilen uzaklığı tüm noktaları kaldırır. Aşağıda Negatif arabellek hafif gölgeli alan daire olarak gösterilmiştir. Noktalı çizgi özgün çokgen sınırı ve düz çizgiyi sonuç çokgen sınırı.

Eğer bir string parametresi yönteme geçirilir, daha sonra için dönüştürülecek bir floatya da atmak bir ArgumentException.

Örnekler

A.BufferWithCurves() parametre değeri 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.BufferWithCurves(-1).ToString();

B.BufferWithCurves() parametre değeri ile arama < 0 iki boyutlu geometrisi örneği

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

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

SELECT @g.BufferWithCurves(-1).ToString()

C.BufferWithCurves() parametre değeri ile arama < döndüren bir boş GeometryCollection 0

Aşağıdaki örnekte gösterilmektedir ne olacağı zaman distanceparametre eşittir -2:

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

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

Bu SELECT deyimi döndürürGEOMETRYCOLLECTION EMPTY

D.BufferWithCurves() parametre değeri ile çağrı = 0

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

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

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

E.BufferWithCurves() 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.BufferWithCurves(@distance).ToString();

F.BufferWithCurves() parametre değeri ile arama > 0

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

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

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

G.Geçerli dize parametre

Aşağıdaki örnek, aynı verir CurvePolygonö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.BufferWithCurves('2').ToString();

H.Geçersiz dize parametresi

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

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

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

Önceki iki örnek dize hazır bilgi için geçtiğini Not BufferWithCurves()yöntemi. 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 BufferWithCurves() çoklu örneği

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

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

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

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

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

İlk iki SELECTdeyimleri döndürür bir GeometryCollectionçünkü örneğini parametre distance1/2 küçük veya eşit olan iki nokta arasındaki uzaklığı (1 1)ve (1 4). Üçüncü SELECTdeyimi döndürür bir CurvePolygonçünkü iki tampon örneklerini gösteren örnek (1 1)ve (1 4)örtüşüyor.

Ayrıca bkz.

Diğer Kaynaklar

Genişletilmiş yöntemleri üzerinde Geometry örnekleri