BufferWithTolerance(geography 데이터 형식)
지정된 허용 오차를 고려하여 geography 인스턴스와의 거리가 지정된 값보다 작거나 같은 모든 요소 값의 합집합을 나타내는 기하학적 개체를 반환합니다.
이 geography 데이터 형식 메서드는 FullGlobe 인스턴스 또는 반구보다 큰 공간 인스턴스를 지원합니다.
구문
.BufferWithTolerance ( distance, tolerance, relative )
인수
distance
해당 버퍼를 계산할 geography 인스턴스와의 거리를 지정하는 float 식입니다.버퍼의 최대 거리는 0.999 * π * minorAxis * minorAxis / majorAxis (~0.999 * 지구 둘레의 1/2) 또는 전체 구형을 초과할 수 없습니다.
tolerance
버퍼 거리에 대한 허용 오차를 지정하는 float 식입니다.허용 오차 값은 반환된 선형 근사값에 대한 이상적인 버퍼 거리의 최대 편차를 나타냅니다.
예를 들어 요소의 이상적인 버퍼 거리는 원이지만 이는 다각형으로 대략 나타내야 합니다. 허용 오차가 작을수록 다각형의 점 개수가 늘어나 결과가 더 복잡해지지만 오류는 줄어듭니다.
최소 제한은 거리의 0.1%이며, 이보다 작은 허용 오차는 최소 제한으로 올림됩니다.
relative
tolerance 값이 상대적인지, 아니면 절대적인지를 지정하는 bit입니다. 'TRUE' 또는 1인 경우 허용 오차는 상대적이며 tolerance 매개 변수와 각 범위 * 타원면의 종반지름으로 계산됩니다. 'FALSE' 또는 0인 경우 허용 오차는 절대적이며 tolerance 값은 반환된 선형 근사값에 대한 이상적인 버퍼 거리의 최대 절대 편차입니다.
반환 형식
SQL Server 반환 형식: geography
CLR 반환 형식: SqlGeography
주의
이 메서드는 distance가 NaN(숫자가 아님)이거나 distance가 양의 무한대 또는 음의 무한대인 경우 ArgumentException을 발생시킵니다. 또한 tolerance가 영(0), NaN(숫자가 아님), 음수, 양의 무한대 또는 음의 무한대인 경우에도 ArgumentException을 발생시킵니다.
STBuffer()는 경우에 따라 FullGlobe 인스턴스를 반환합니다. 예를 들어 STBuffer()는 버퍼 거리가 적도에서 극지방까지의 거리보다 큰 경우 두 극지방에서 FullGlobe 인스턴스를 반환합니다.
이 메서드는 버퍼 거리가 다음 제한을 초과하는 경우 FullGlobe 인스턴스에서 ArgumentException을 발생시킵니다.
0.999 * π * minorAxis * minorAxis / majorAxis (~0.999 * 지구 둘레의 1/2)
이론상의 버퍼와 계산된 버퍼 간의 오차는 max(tolerance, extents * 1.E-7)이며, 여기서 tolerance는 tolerance 매개 변수의 값입니다. extents에 대한 자세한 내용은 geography 데이터 형식 메서드 참조를 참조하십시오.
이 메서드는 정확하지 않습니다.
예
다음 예에서는 Point 인스턴스를 만들고 BufferWithTolerance()를 사용하여 인스턴스 주위의 대략적인 버퍼를 구합니다.
DECLARE @g geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();