polyline.rdp() 函数
polyline.rdp() 是实验性的,并且 随时可能会发生变化。
polyline.rdp() 将 Ramer Douglas Peucker (RDP) 算法应用于输入数据,以对由线段组成的曲线进行降采样,将其转换为视觉上不可区分的具有更少点的曲线。
函数类型签名
(
<-tables: stream[A],
?epsilon: float,
?retention: float,
?timeColumn: string,
?valColumn: string,
) => stream[B] where A: Record, B: Record
有关更多信息,请参见 Function type signatures。
参数
值列
给定曲线的Y轴值列。默认值为 _value。
时间列
给定曲线的X轴值列。默认值是 _time。
epsilon
确定压缩量的最大容忍值。
ε应该大于 0.0。
保留率
下采样后保留的点的百分比。
留存率应在 0.0 和 100.0 之间。
表格
输入数据。默认是管道转发数据 (<-).
示例
使用RDP算法下采样数据
使用 polyline.rdp() 时,保留 epsilon 和 retention 不指定,以自动计算生成视觉上不可区分的曲线的最大公差。
import "experimental/polyline"
data
|> polyline.rdp()
使用RDP算法以1.5的epsilon降低采样数据
import "experimental/polyline"
data
|> polyline.rdp(epsilon: 1.5)
使用RDP算法以90%的保留率对数据进行降采样
import "experimental/polyline"
data
|> polyline.rdp(retention: 90.0)