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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de