Compartilhar via


BufferWithTolerance (tipo de dados geography)

Retorna um objeto geométrico que representa a união de todos os valores de ponto cuja distância de uma instância de geography é menor que ou igual a um valor especificado, o que permite uma tolerância especificada.

Sintaxe

.BufferWithTolerance ( distance, tolerance, relative )

Argumentos

  • distance
    É uma expressão float que especifica a distância de uma instância geography ao redor da qual o buffer será calculado.

  • tolerance
    É uma expressão float que especifica a tolerância da distância do buffer.

    O valor de tolerância refere-se à variação máxima na distância ideal do buffer para a aproximação linear retornada.

    Por exemplo, a distância ideal de buffer de um ponto é um círculo, mas deve ser aproximado por um polígono. Quanto menor for a tolerância, mais pontos o polígono terá, o que aumenta a complexidade do resultado, mas diminui o erro.

  • relative
    É um bit que especifica se o valor tolerance é relativo ou absoluto. Se for 'TRUE' ou 1, a tolerância será relativa e calculada como o produto do parâmetro tolerance e da extensão angular * raio equatorial da elipsóide. Se for 'FALSE' ou 0, a tolerância será absoluta e o valor de tolerance será a variação máxima absoluta na distância do buffer ideal para a aproximação linear retornada.

Tipos de retorno

SQL Server tipo de retorno: geography

Tipo de retorno CLR: SqlGeography

Comentários

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

O erro entre o buffer teórico e o computado é max(tolerância, extensão * 1.E-7), onde tolerância é o valor do parâmetro tolerance. Para obter mais informações sobre extensões, consulte Referência de método de tipo de dados geography.

Exemplos

O exemplo a seguir cria uma instância Point e usa BufferWithTolerance() para obter um buffer rudimentar ao seu redor.

DECLARE @g geography;
SET @g = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.BufferWithTolerance(1, .5, 0).ToString();