要素数据集光滑

使用说明

要素数据集光滑算子主要对线几何对象或面几何对象的边界线进行平滑处理,使折线转变成连续的光滑线对象。光滑的目的是:当折线或多边形的边界的线段过多时,就可能影响对原始特征的描述,不利用进一步的处理或分析,或显示和打印效果不够理想,因此需要对数据简化,简化的方法一般有重采样和光滑。光滑是通过增加节点的方式使用曲线或直线段来代替原始折线的方法。

  需要注意的是,对折线进行光滑后,其长度通常会变短,折线上线段的方向也会发生明显改变,但两个端点的相对位置不会变化;面对象经过光滑后,其面积通常会变小。

使用说明

  • 参与光滑处理的线对象必须是具有3个以上(含3个)节点的线对象。因为两点直线就是一个光滑的线,无需光滑处理。
  • 该功能采用 B 样条法对矢量数据集进行光滑,光滑系数越大,结果数据越光滑,在 B 样条法中可以光滑系数理解成线段上两个节点之间插入点后分隔的段数,光滑系数的建议取值范围为[2,10]。对非闭合线段进行光滑处理时要尽量保持原来曲线的形状,为了实现此目标通常采用的方法是:首、末两端点位置保持不变,增加首、末两端线段插入点后分段的数目(通常是光滑系数的二倍)。B 样条法插点数目计算方式分为闭合线和非闭合线两种:

    • 如果线段闭合,最终节点数目=(控制点数目-1)*光滑系数+1 。
    • 如果线段非闭合,最终节点数目=(控制点数目+1)*光滑系数+1 。

控制点可以理解为光滑前线对象上实际的节点数目。

对线数据集设置不同光滑系数的光滑效果:

Smooth

对面数据集设置不同光滑系数的光滑效果:

Smooth2

参数说明

参数名 默认值 参数释义 参数类型
源数据集 需要进行光滑的线或面数据集 FeatureRDD
光滑系数 2 每段线段插入点的数目,数值越大越光滑,一般推荐值为 2 到 10 Int
是否保留拓扑关系
(可选)
false 如果为false时不保留对象与对象的拓扑关系,即每个对象单独进行光滑,如果为true则光滑后的对象之间的拓扑关系不变 Boolean
结点容限
(可选)
0.0 用于对要素数据集进行数据预处理,比如对线或面数据集进行节点捕捉 Double

输出结果

光滑后的数据集(FeatureRDD),结果数据集保留原始数据集的所有字段信息