다음을 통해 공유


STBuffer(geography 데이터 형식)

적용 대상: SQL ServerAzure SQL Database Azure SQL Managed Instance

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

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

Syntax

  
.STBuffer ( distance )  

참고 항목

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

인수

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와 동일한 방식으로 버퍼를 계산합니다.

음수 버퍼는 지리 인스턴스 경계 의 지정된 거리 내에 있는 모든 점을 제거합니다 .

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

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

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

최대 거리 제한을 사용하면 버퍼의 생성을 가능한 한 유연하게 만들 수 있습니다.

이론적 버퍼와 계산된 버퍼 간의 오차는 max(tolerance, extents * 1.E-7)입니다. 여기서 tolerance = distance * .001입니다. 익스텐션 에 대한 자세한 내용은 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 메서드