Compartilhar via


STBuffer (tipo de dados geography)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Retorna um objeto de geografia que representa a união de todos os pontos cujas distâncias de uma instância de geography é menor ou igual ao valor especificado.

Esse método de tipo de dados de geography é compatível com instâncias FullGlobe ou instâncias espaciais maiores que um hemisfério.

Sintaxe

  
.STBuffer ( distance )  

Argumentos

distance
É um valor do tipo float (duplo no .NET Framework) que especifica a distância da instância de geography a ser considerada para o cálculo do 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 retorno

Tipo de retorno do SQL Server: geography

Tipo de retorno do CLR: SqlGeography

Comentários

STBuffer() calcula um buffer da mesma maneira que BufferWithTolerance, especificando tolerance = abs(distance) * 0,001 e relative = false.

Um buffer negativo remove todos os pontos dentro da distância determinada do limite da instância de geography.

STBuffer() retornará uma instância de FullGlobe em alguns casos. Por exemplo, STBuffer() retornará uma instância de FullGlobe quando a distância do buffer for maior que a distância do equador até os polos. Um buffer não pode exceder o globo completo.

Esse método gerará uma ArgumentException em instâncias de FullGlobe nas quais a distância do buffer exceder a seguinte limitação:

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

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

O erro entre o buffer teórico e o computado é max(tolerance, extents * 1.E-7), em que tolerance = distância * 0,001. Para obter mais informações sobre extensões, consulte Referência de método do tipo de dados geography.

Exemplos

O exemplo a seguir cria uma instância de LineString``geography. Em seguida, 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();  

Consulte Também

BufferWithTolerance (tipo de dados geography)
Métodos do OGC em instâncias de geography