Aracılığıyla paylaş


BufferWithTolerance (geometri Veri Türü)

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

Geometri örneğinden uzaklığı belirtilen değerden küçük veya buna eşit olan tüm nokta değerlerinin birleşimini temsil eden geometrik bir nesne döndürür ve bu da belirtilen toleransa olanak tanır.

Syntax

  
.BufferWithTolerance ( distance, tolerance, relative )  

Arguments

uzaklık
Arabelleğin hesaplandığı geometri örneğinden uzaklığı belirten bir float ifadesidir.

tolerance
Arabellek uzaklığı toleransını belirten bir float ifadesidir.

Tolerans , döndürülen doğrusal yaklaşık değer için ideal arabellek uzaklığındaki maksimum varyasyonu ifade eder.

Örneğin, bir noktanın ideal arabellek uzaklığı bir dairedir, ancak bunun çokgen tarafından yaklaşık olması gerekir. Tolerans ne kadar küçük olursa, çokgen o kadar fazla noktaya sahip olur ve bu da sonucun karmaşıklığını artırır, ancak hatayı azaltır.

relative
Tolerans değerinin göreli mi yoksa mutlak mı olduğunu belirten bir bittir. 'DOĞRU' veya 1 ise tolerans görelidir ve tolerans parametresinin ürünü ve örneğin sınırlayıcı kutusunun çapı olarak hesaplanır. 'YANLIŞ' veya 0 ise tolerans mutlaktır ve tolerans değeri, döndürülen doğrusal yaklaşık değer için ideal arabellek uzaklığındaki mutlak maksimum varyasyondur.

Dönüş Türleri

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

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

Exceptions

Tolerans parametresi sıfırdan büyük olmalıdır. Tolerans<= 0 ise bir System.ArgumentOutOfRangeException oluşturulur.

Note

Tolerans bir float türü olduğundan, System.Runtime.InteropServices.COMException kayan nokta türleriyle ilgili yuvarlama sorunları nedeniyle tolerans için verilen değer çok küçükse oluşturulabilir.

Remarks

Mesafe> 0 olduğunda bir Çokgen veya MultiPolygon örneği döndürülür.

Note

Uzaklık bir float olduğundan, hesaplamalarda son derece küçük bir değer sıfıra eşitlenebilir. Bu durumda, çağıran geometri örneğinin bir kopyası döndürülür. Bkz . kayan ve gerçek (Transact-SQL).

Uzaklık = 0 olduğunda çağıran geometri örneğinin bir kopyası döndürülür.

< olduğunda

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

  • Örneğin boyutları 2 veya daha fazla olduğunda negatif arabellek döndürülür.

    Note

    Negatif arabellek boş bir GeometryCollection örneği de oluşturabilir.

Negatif arabellek , geometri örneğinin sınırının belirli bir uzaklığı içindeki tüm noktaları kaldırır.

Teorik ve hesaplanan arabellek arasındaki hata max(tolerans, kapsamlar * 1.E-7) ve tolerans parametresinin değeridir. Kapsamlar hakkında daha fazla bilgi için bkz. geometri Veri Türü Yöntemi Başvurusu.

Examples

Aşağıdaki örnek bir Point örnek oluşturur ve çevresinde kaba bir arabellek elde etmek için kullanır BufferWithTolerance() .

DECLARE @g geometry;  
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);  
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();  

Ayrıca Bkz.

STBuffer (geometri Veri Türü)
Geometri Örneklerinde Genişletilmiş Yöntemler