Java【算法分享 01】道格拉斯-普克 Douglas-Peucker 抽稀算法(算法流程图解+使用JDK8方法实现+详细注解源码)_普客道格拉斯算法java

本文介绍了如何使用Douglas-Peucker算法对地理坐标数据进行抽稀,以减少存储和计算需求。算法核心是计算点到直线的距离,根据距离阈值决定哪些点需要删除。通过示例代码展示了优化前后的对比,以及在实际项目中的应用场景。
摘要由CSDN通过智能技术生成

,

y

0

)

M(x_{0},y_{0})

M(x0​,y0​) 是平面上的一个点,它到直线

A

x

B

y

C

=

0

Ax+By+C=0

Ax+By+C=0 的距离 d 为:

d

=

A

x

0

B

y

0

C

A

2

B

2

d= \frac{|Ax_{0}+By_{0}+C|}{ \sqrt{A{2}+B{2}}}

d=A2+B2

​∣Ax0​+By0​+C∣​

2.2 源码

一下是优化前的代码,优化后的代码请查看《道格拉斯-普克 Douglas-Peucker 抽稀算法近1000倍的速度提升》两个对象封装类【为了简洁注解未使用DOC规范】:

// 类1 坐标数据封装
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PointData {
    // 标记是否删除(0保留 1删除)
    private int 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值