SqlGeometry.Reduce Method

Returns an approximation of the given SqlGeometry instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance.

Namespace:  Microsoft.SqlServer.Types
Assembly:  Microsoft.SqlServer.Types (in Microsoft.SqlServer.Types.dll)

Syntax

'Declaration
<SqlMethodAttribute(IsDeterministic := True, IsPrecise := False)> _
Public Function Reduce ( _
    tolerance As Double _
) As SqlGeometry
'Usage
Dim instance As SqlGeometry
Dim tolerance As Double
Dim returnValue As SqlGeometry

returnValue = instance.Reduce(tolerance)
[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
public SqlGeometry Reduce(
    double tolerance
)
[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
public:
SqlGeometry^ Reduce(
    double tolerance
)
[<SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)>]
member Reduce : 
        tolerance:float -> SqlGeometry
public function Reduce(
    tolerance : double
) : SqlGeometry

Parameters

  • tolerance
    Type: System.Double
    A double that represents the tolerance to input to the Douglas-Peucker algorithm.

Return Value

Type: Microsoft.SqlServer.Types.SqlGeometry
A SqlGeometry object that represents an approximation of the calling SqlGeometry within the specified tolerance.

Remarks

For collection types, this algorithm operates independently on each SqlGeometry contained in the instance.

This algorithm does not modify Point instances.

On LineString instances, the Douglas-Peucker algorithm retains the original start and end points of the instance, and iteratively adds back the point from the original instance that most deviates from the result until no point deviates more than the given tolerance.

On Polygon instances, the Douglas-Peucker algorithm is applied independently to each ring. The method will produce a FormatException if the returned Polygon instance is not valid; for example, an invalid MultiPolygon instance is created if Reduce is applied to simplify each ring in the instance and the resulting rings overlap.

See Also

Reference

SqlGeometry Class

Microsoft.SqlServer.Types Namespace