Compartilhar via


Reduce (tipo de dados de geometria)

Retorna uma aproximação de determinada instância de geometry produzida pela execução do algoritmo Douglas-Peucker na instância com a tolerância específica.

Sintaxe

.Reduce ( tolerance )

Argumentos

  • tolerance
    É um valor do tipo flutuante. tolerance é a tolerância a ser inserida no algoritmo Douglas-Peucker.

Tipos de retorno

Tipo de retorno do SQL Server: geometry

Tipo de retorno CLR: SqlGeometry

Comentários

Para tipos de coleção, este algoritmo funciona independentemente em cada geometry contido na instância.

Esse algoritmo não modifica instâncias de Point.

Em instâncias de LineString, o algoritmo Douglas-Peucker retém os pontos de início e término da instância e adiciona de volta, iterativamente, o ponto da instância original que mais desvia do resultado, até que nenhum ponto desvie mais do que a tolerância especificada.

Em instâncias de Polygon, o algoritmo de Douglas-Peucker é aplicado independentemente a cada anel. O método produzirá uma FormatException se a instância de Polygon retornada não for válida; por exemplo, uma instância inválida de MultiPolygon será criada se Reduce() for aplicado para simplificar cada anel na instância e os anéis resultantes se sobrepuserem.

Exemplos

O exemplo a seguir cria uma instância de LineString e usa Reduce() para simplificar a instância.

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 0, 0 1, 1 0, 2 1, 3 0, 4 1)', 0);
SELECT @g.Reduce(.75).ToString();

Consulte também

Outros recursos