Reduce (tipo de dados geography)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Retorna uma aproximação da instância de geography fornecida produzida pela execução do algoritmo de Douglas-Peucker na instância com a tolerância indicada.

Esse método de tipo de dados de geography é compatível com instâncias FullGlobe ou instâncias espaciais maiores que um hemisfério.

Sintaxe

  
.Reduce ( tolerance )  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

Termo Definição
tolerance É um valor do tipo float. tolerance é a tolerância de entrada para o algoritmo de Douglas-Peucker. tolerance precisa ser um número positivo.

Tipos de retorno

Tipo de retorno do SQL Server: geography

Tipo de retorno do CLR: SqlGeography

Comentários

Para tipos de coleção, esse algoritmo funciona de forma independente em cada geografia contida na instância. Esse algoritmo não modifica as instâncias de Point.

Esse método tentará preservar os pontos de extremidade das instâncias de LineString, mas talvez não consiga fazer isso para assegurar que o resultado seja válido.

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

O algoritmo de Douglas-Peucker funciona em cada curva ou anel na instância de geography, removendo todos os pontos, exceto o ponto inicial e o ponto de final. Cada ponto removido é adicionado novamente, começando com o ponto mais distante, até que nenhum ponto esteja a mais do que a tolerância do resultado. O resultado é então validado, se necessário, pois um resultado válido é garantido.

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

Esse método não é preciso.

Exemplos

O exemplo a seguir cria uma instância LineString 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()  

Consulte Também

Métodos estendidos em instâncias geography