Compartilhar via


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)

Outros recursos

Métodos do OGC em instâncias de geography