对矢量数据集进行光滑,支持线数据集、面数据集和网络数据集。
命名空间:
SuperMap.Data程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public bool Smooth( int smoothness, bool isSaveTopology, bool isShowProgress ) |
参数
- smoothness
- Type: System..::.Int32
指定的光滑系数。有效范围为大于等于2,设置为小于2的值会抛出异常。光滑系数越大,线对象或面对象边界的节点数越多,也就越光滑。建议取值范围为[2,10]。
- isSaveTopology
- Type: System..::.Boolean
指定是否保存对象拓扑关系。true 表示保存对象拓扑关系,false 表示不保存对象拓扑关系。
- isShowProgress
- Type: System..::.Boolean
指定是否显示进度条。true 表示显示进度条,false 表示不显示。
返回值
一个布尔值,表示是否光滑成功,如果成功返回 true,否则返回 false。备注
- 光滑的目的
- 光滑方法与光滑系数的设置
当折线或多边形的边界的线段过多时,就可能影响对原始特征的描述,不利用进一步的处理或分析,或显示和打印效果不够理想,因此需要对数据简化。简化的方法一般有重采样(Resample)和光滑。光滑是通过增加节点的方式使用曲线或直线段来代替原始折线的方法。
需要注意,对折线进行光滑后,其长度通常会变短,折线上线段的方向也会发生明显改变,但两个端点的相对位置不会变化;面对象经过光滑后,其面积通常会变小。
该方法采用 B 样条法对矢量数据集进行光滑。有关 B 样条法的介绍可参见 SmoothMethod 枚举类型。光滑系数(方法中对应 smoothness 参数)影响着光滑的程度,光滑系数越大,结果数据越光滑。光滑系数的建议取值范围为[2,10]。该方法支持对线数据集、面数据集和网络数据集进行光滑。下面两幅图为光滑系数分别为2、5和8时对线和面光滑的效果。
对线数据集设置不同光滑系数的光滑效果:
对面数据集设置不同光滑系数的光滑效果:
注意:该方法只支持对线数据集、面数据集和网络数据集进行光滑,设置为其他类型的矢量数据集会抛出异常。