Partilhar via


Reduzir (tipo de dados geográficos)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Retorna uma aproximação da instância geográfica dada produzida pela execução do algoritmo Douglas-Peucker na instância com a tolerância dada.

Esse método de tipo de dados geográficos oferece suporte a instâncias FullGlobe ou instâncias espaciais maiores que um hemisfério.

Syntax

  
.Reduce ( tolerance )  

Arguments

Term Definition
tolerance É um valor do tipo float. tolerância é a tolerância à entrada para o algoritmo Douglas-Peucker. a tolerância deve ser um número positivo.

Tipos de devolução

Tipo de retorno do SQL Server: geografia

Tipo de retorno CLR: SqlGeography

Remarks

Para tipos de coleção, esse algoritmo opera independentemente em cada geografia contida na instância. Este algoritmo não modifica instâncias de Point .

Esse método tentará preservar os pontos de extremidade de instâncias LineString , mas pode falhar ao fazê-lo para preservar um resultado válido.

Se Reduce() for chamado com um valor negativo, esse método produzirá um ArgumentException. As tolerâncias utilizadas devem Reduce() ser números positivos.

O algoritmo Douglas-Peucker funciona em cada curva ou anel na ocorrência geográfica , removendo todos os pontos, exceto o ponto inicial e o ponto final. Cada ponto removido é então adicionado de volta, começando com o ponto mais distante, até que nenhum ponto seja mais do que tolerância do resultado. O resultado é então tornado válido, se necessário, uma vez que um resultado válido é garantido.

No SQL Server 2012 (11.x), esse método foi estendido para instâncias FullGlobe .

Este método não é preciso.

Examples

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

DECLARE @g geography = 'LineString(120 45, 120.1 45.1, 199.9 45.2, 120 46)'  
SELECT @g.Reduce(10000).ToString()  

Ver também

Métodos estendidos em instâncias geográficas