Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia
administrada de Azure SQLBase de datos SQL en Microsoft Fabric
Devuelve una aproximación de la instancia de geography especificada que se genera al aplicar el algoritmo de Douglas-Peucker a la instancia con la tolerancia indicada.
Este método del tipo de datos geography admite instancias de FullGlobe o instancias espaciales mayores que un hemisferio.
Syntax
.Reduce ( tolerance )
Arguments
| Term | Definition |
|---|---|
| tolerance | Es un valor de tipo float. tolerance es la tolerancia que se usa como entrada para el algoritmo de Douglas-Peucker. tolerance debe ser un número positivo. |
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: geography
Tipo de valor devuelto de CLR: SqlGeography
Remarks
Para los tipos de colección, este algoritmo funciona independientemente en cada tipo geography contenido en la instancia. Este algoritmo no modifica las instancias de Point.
Este método intentará conservar los extremos de las instancias de LineString, pero es posible que no pueda hacerlo para mantener un resultado válido.
Si se llama a Reduce() con un valor negativo, este método generará una ArgumentException. Las tolerancias utilizadas en Reduce() deben ser números positivos.
El algoritmo de Douglas Peucker funciona en cada curva o anillo de la instancia de geography quitando todos los puntos excepto el de inicio y el final. Después, cada punto quitado se agrega de nuevo, comenzando con el punto periférico más lejano, hasta que no haya ningún punto más allá de tolerance del resultado. A continuación, el resultado se convierte en válido, si es necesario, cuando se garantiza un resultado válido.
En SQL Server 2012 (11.x), este método se ha extendido a las instancias de FullGlobe.
Este método no es preciso.
Examples
En el ejemplo siguiente se crea una instancia sencilla de LineString y se utiliza Reduce() para simplificar la instancia.
DECLARE @g geography = 'LineString(120 45, 120.1 45.1, 199.9 45.2, 120 46)'
SELECT @g.Reduce(10000).ToString()