BufferWithTolerance(geometry 데이터 형식)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

기하 도형 인스턴스와의 거리가 지정된 값보다 작거나 같은 모든 점 값의 합합을 나타내는 기하 학적 개체를 반환하여 지정된 허용 오차를 허용합니다.

Syntax

  
.BufferWithTolerance ( distance, tolerance, relative )  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

distance
버퍼를 계산할 기하 도형 인스턴스와의 거리를 지정하는 float 식입니다.

공차
버퍼 거리에 대한 허용 오차를 지정하는 float 식입니다.

허용 오차 는 반환된 선형 근사치에 이상적인 버퍼 거리의 최대 변형을 나타냅니다.

예를 들어 점의 이상적인 버퍼 거리는 원이지만 다각형으로 근사값을 계산해야 합니다. 허용 오차가 작을수록 다각형의 점 개수가 늘어나 결과가 더 복잡해지지만 오류는 줄어듭니다.

상대
허용 오차 값이 상대 값인지 절대 값인지 여부를 지정하는 비트입니다. 'TRUE' 또는 1이면 허용 오차가 상대적이며 허용 오차 매개 변수의 곱과 인스턴스 경계 상자의 지름으로 계산됩니다. 'FALSE' 또는 0인 경우 허용 오차는 절대값이며 허용 오차 값은 반환된 선형 근사값에 이상적인 버퍼 거리의 절대 최대 변형입니다.

반환 형식

SQL Server 반환 형식: geometry

CLR 반환 형식: SqlGeometry

예외

tolerance 매개 변수는 0보다 커야 합니다. tolerance<= 0인 경우 System.ArgumentOutOfRangeException이 throw됩니다.

참고 항목

tolerancefloat 형식이므로 부동 소수점 형식의 반올림 문제로 인해 허용 오차로 지정된 값이 매우 작을 경우 System.Runtime.InteropServices.COMException이 발생할 수 있습니다.

설명

distance> 0이면, Polygon 또는 MultiPolygon 인스턴스가 반환됩니다.

참고 항목

거리는 부동 소수점이므로 매우 작은 값은 계산에서 0과 동일시할 수 있습니다. 이 경우 호출 기하 도형 인스턴스의 복사본이 반환됩니다. float 및 real(Transact-SQL)을 참조하세요.

distance = 0이면 호출 기하 도형 인스턴스의 복사본이 반환됩니다.

distance< 0이면

  • 인스턴스의 차원이 0 또는 1이면 빈 GeometryCollection 인스턴스가 반환됩니다.

  • 인스턴스의 크기가 2 이상일 때 음수 버퍼가 반환됩니다.

    참고 항목

    버퍼가 음수이면 빈 GeometryCollection 인스턴스가 생성될 수도 있습니다.

버퍼가 음수이면 geometry 인스턴스 경계에서 지정된 거리 내에 있는 모든 요소가 제거됩니다.

이론 버퍼와 계산된 버퍼 간의 오류는 최대입니다(허용 오차, 익스텐트 * 1.E-7). 여기서 허용 오차는 tolerance 매개 변수의 값입니다. 익스텐트에 대한 자세한 내용은 geometry 데이터 형식 메서드 참조를 참조하세요.

예제

다음 예에서는 Point 인스턴스를 만들고 BufferWithTolerance()를 사용하여 인스턴스 주위의 대략적인 버퍼를 구합니다.

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

참고 항목

STBuffer(geometry 데이터 형식)
Geometry 인스턴스의 확장 메서드