Share via


STBuffer(geography 데이터 형식)

geography 인스턴스와의 거리가 지정된 값보다 작거나 같은 모든 요소의 합집합을 나타내는 지리 개체를 반환합니다.

이 geography 데이터 형식 메서드는 FullGlobe 인스턴스 또는 반구보다 큰 공간 인스턴스를 지원합니다.

구문

.STBuffer ( distance )

인수

  • distance
    해당 버퍼를 계산할 geography 인스턴스와의 거리를 지정하는 float(.NET Framework의 경우 double) 형식의 값입니다.

    버퍼의 최대 거리는 0.999 * π * minorAxis * minorAxis / majorAxis (~0.999 * 지구 둘레의 1/2) 또는 전체 구형을 초과할 수 없습니다.

반환 형식

SQL Server 반환 형식: geography

CLR 반환 형식: SqlGeography

주의

**STBuffer()**는 tolerance = abs(distance) * .001, relative = false로 지정하여 BufferWithTolerance와 동일한 방식으로 버퍼를 계산합니다.

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

STBuffer()는 경우에 따라 FullGlobe 인스턴스를 반환합니다. 예를 들어 STBuffer()는 버퍼 거리가 적도에서 극지방까지의 거리보다 큰 경우 FullGlobe 인스턴스를 반환합니다. 버퍼는 전체 구형을 초과할 수 없습니다.

이 메서드는 버퍼 거리가 다음 제한을 초과하는 경우 FullGlobe 인스턴스에서 ArgumentException을 발생시킵니다.

0.999 * π * minorAxis * minorAxis / majorAxis (~0.999 * 지구 둘레의 1/2)

최대 거리 제한은 버퍼가 가능한 유연하게 생성되도록 합니다.

이론상의 버퍼와 계산된 버퍼 간의 오차는 max(tolerance, extents * 1.E-7)이며, 여기서 tolerance = distance * .001입니다. extents에 대한 자세한 내용은 geography 데이터 형식 메서드 참조를 참조하십시오.

다음 예에서는 LineString geography 인스턴스를 만듭니다. 그런 다음 STBuffer()를 사용하여 인스턴스에서 1미터 내에 있는 영역을 반환합니다.

DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STBuffer(1).ToString();

참고 항목

참조

BufferWithTolerance(geography 데이터 형식)

관련 자료

geography 인스턴스의 OGC 메서드