SqlGeography.Reduce 方法 (Double)

 

返回给定地域实例的近似值,该值通过对实例运行具有给定公差的 Douglas-Peucker 算法来生成。

命名空间:   Microsoft.SqlServer.Types
程序集:  Microsoft.SqlServer.Types(位于 Microsoft.SqlServer.Types.dll)

语法

[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
public SqlGeography Reduce(
    double tolerance
)
public:
[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
SqlGeography^ Reduce(
    double tolerance
)
[<SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)>]
member Reduce : 
        tolerance:float -> SqlGeography
<SqlMethodAttribute(IsDeterministic := True, IsPrecise := False)>
Public Function Reduce (
    tolerance As Double
) As SqlGeography

参数

  • tolerance
    Type: System.Double

    double 表示输入到 Douglas-peucker 算法的公差。 公差必须为正数。

返回值

Type: Microsoft.SqlServer.Types.SqlGeography

一个 SqlGeography 值,该值表示对当前实例的近似。

备注

对于集合类型,此算法单独作用于包含在该实例中的每个 SqlGeography。 此算法不修改 Point 实例。

此方法将尝试保留 LineString 实例的端点,但是可能为了保留有效结果而无法实现此目的。

如果使用负值调用减少,则此方法将生成 ArgumentException。 在 Reduce 中使用的公差必须为正数。

通过删除除起点和终点之外的所有点,Douglas-Peucker 算法可用于 geography 实例中的每个曲线或圆环。 删除每个点是然后重新添加,开头最远的美属外点,直到所有点比从结果的容差的详细信息。 然后,如果必要,使结果变得有效,因为必须保证有一个有效的结果。

此方法是确定性的方法,但是不精确。

另请参阅

SqlGeography 类
Microsoft.SqlServer.Types 命名空间

返回页首