Partilhar via


STBuffer (tipo de dados geográficos)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Retorna um objeto geography que representa a união de todos os pontos cuja distância de uma ocorrência de geography é menor ou igual a um valor especificado.

Esse método de tipo de dados geográficos oferece suporte a instâncias FullGlobe ou instâncias espaciais maiores que um hemisfério.

Syntax

  
.STBuffer ( distance )  

Arguments

Distância
É um valor do tipo float (double no .NET Framework) que especifica a distância da instância geográfica em torno da qual calcular o buffer.

A distância máxima do buffer não pode exceder 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 circunferência da Terra) ou o globo inteiro.

Tipos de devolução

Tipo de retorno do SQL Server: geografia

Tipo de retorno CLR: SqlGeography

Remarks

STBuffer() calcula um buffer da mesma maneira que BufferWithTolerance, especificando tolerância = abs(distance) * .001 e relativo = false.

Um buffer negativo remove todos os pontos dentro da distância dada do limite da instância geográfica.

STBuffer() retornará uma instância FullGlobe em certos casos; por exemplo, STBuffer() retorna uma ocorrência de FullGlobe quando a distância do buffer é maior do que a distância do equador aos polos. Um buffer não pode exceder o globo inteiro.

Esse método lançará um ArgumentException em instâncias FullGlobe onde a distância do buffer excede a seguinte limitação:

0,999 * π * menorEixo * menorEixo / maiorEixo (~0,999 * 1/2 circunferência da Terra)

O limite máximo de distância permite que a construção do buffer seja o mais flexível possível.

O erro entre o buffer teórico e calculado é max(tolerância, extensões * 1.E-7) onde tolerância = distância * .001. Para obter mais informações sobre extensões, consulte geografia Referência do método de tipo de dados.

Examples

O exemplo a seguir cria uma LineString``geography instância. Em seguida, ele usa STBuffer() para retornar a região dentro de 1 metro da instância.

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

Ver também

BufferWithTolerance (tipo de dados geográficos)
Métodos OGC em instâncias geográficas