Compartir a través de


Reduce (tipo de datos geometry)

Devuelve una aproximación de la instancia de geometry especificada que se genera al aplicar el algoritmo de Douglas-Peucker a la instancia con la tolerancia indicada.

Sintaxis

.Reduce ( tolerance )

Argumentos

  • tolerance
    Es un valor de tipo float. tolerance es la tolerancia que se utiliza como entrada para el algoritmo de Douglas-Peucker.

Tipos de valores devueltos

Tipo de valor devuelto de SQL Server: geometry

Tipo de valor devuelto de CLR: SqlGeometry

Comentarios

Para los tipos de colección, este algoritmo funciona independientemente en cada tipo geometry contenido en la instancia.

Este algoritmo no modifica las instancias de Point.

En las instancias de LineString, el algoritmo de Douglas-Peucker conserva los puntos iniciales y finales originales de la instancia y va agregando el punto de la instancia original que más se desvía del resultado hasta que ningún punto se desvíe más que la tolerancia especificada.

En las instancias de Polygon, el algoritmo de Douglas-Peucker se aplica independientemente a cada anillo. El método generará una excepción FormatException si la instancia de Polygon devuelta no es válida; por ejemplo, se crea una instancia de MultiPolygon no válida si se aplica Reduce() para simplificar cada anillo de la instancia y los anillos resultantes se superponen.

Ejemplos

En el ejemplo siguiente se crea una instancia sencilla de LineString y se utiliza Reduce() para simplificar la instancia.

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();

Vea también

Otros recursos