BufferWithTolerance (geometri veri türü)
Tüm noktası Birliği temsil eden geometrik nesne değerleri olan uzaklığı döndürür bir geometryörneği için belirtilen tolerans sağlayan belirli bir değere eşit veya daha az olan.
Sözdizimi
.BufferWithTolerance ( distance, tolerance, relative )
Bağımsız değişkenler
distance
Olan bir floatmesafeden belirterek ifade geometrygeçici arabellek hesaplamak örneği.tolerance
Olan bir floatarabellek uzaklığı toleransı belirtme ifadesi.Tolerans dönen Doğrusal yaklaşım için ideal arabellek uzaklığı en fazla varyasyon gösterir.
Örneğin, bir daire bir noktaya ideal arabellek uzaklığı ise, ancak bu bir çokgen tarafından yaklaşık gerekir. Küçük hoşgörü, daha fazla puan çokgen, hangi sonucu karmaşıklığını artırır, ancak hatayı azaltır olacaktır.
relative
Olan bir bitbelirterek olup tolerancedeğeri göreceli ya da mutlak. 'True' 1, sonra tolerans görecelidir ve ürünü hesaplanır veya toleranceparametre ve çapı sınırlayıcı kutusunun örneği. 'False' ya da 0, hoşgörü mutlak ve tolerancedeğerdir dönen Doğrusal yaklaşım için ideal arabellek uzaklığı mutlak maksimum varyasyon.
Dönüş Türleri
SQL Server dönüş türü: geometry
clr döndürme türü: SqlGeometry
Kural dışı durumlar
toleranceParametresi sıfırdan büyük olmalı. Eğer tolerance <= 0 then a System.ArgumentOutOfRangeExceptionatılır.
[!NOT]
Çünkü toleranceolan bir floattürü, bir System.Runtime.InteropServices.COMExceptionkayan nokta türü yuvarlama sorunlar nedeniyle dayanıklılık için verilen değer çok küçük ise, atılmış olabilir.
Açıklamalar
Ne zaman distance >0 sonra ya da bir Polygonya MultiPolygonörneği döndürülür.
[!NOT]
Mesafe olduğundan bir float, son derece 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. See 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 sınırı verilen uzaklığı içindeki tüm noktaları kaldırır geometryörneği.
Hata theorectical ve hesaplanan arabellek max(tolerance, extents * 1.E-7)nereye tolerancedeğeri toleranceparametresi. Daha fazla bilgi için extentsbakın geometrisi veri türü yöntemi başvurusu.
Örnekler
Aşağıdaki örnek bir Pointörneği ve kullanımları BufferWithTolerance()kaba arabellek çevresinde bunu elde etmek için
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(3 3)', 0);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();