STBuffer (tipo de dados geography)
Retorna um objeto geográfico que representa a união de todos os pontos cuja distância de uma instância geography é menor ou igual a um valor especificado.
Esse método de tipo de dados geography oferece suporte a instâncias FullGlobe ou a instâncias espaciais maiores que um hemisfério.
Sintaxe
.STBuffer ( distance )
Argumentos
distance
É um valor do tipo float (double no .NET Framework) que especifica a distância de uma instância geography ao redor da qual o buffer será calculado.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
SQL Server tipo de retorno: geography
Tipo de retorno CLR: SqlGeography
Comentários
STBuffer() calcula um buffer da mesma maneira que BufferWithTolerance, specifying tolerance = abs(distance) * .001 e relative = false.
Um buffer negativo remove todos os pontos dentro da distância do limite fornecido da instância de geography.
STBuffer() retornará uma instância FullGlobe em certos casos; por exemplo, STBuffer() retorna uma instância FullGlobe quando a distância do buffer é maior que a distância do Equador até os polos. Um buffer não pode exceder o globo completo.
Esse método gera uma ArgumentException em instâncias de FullGlobe nas quais a distância do buffer excede 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 = distance * .001. Para obter mais informações sobre extents, consulte Referência de método de tipo de dados geography.
Exemplos
O exemplo a seguir cria uma instância 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
Referência
BufferWithTolerance (tipo de dados geography)