【青鸟飞扬教育】曲线点抽稀算法 - Python 实现

何为抽稀

在处理矢量化数据时,记录中往往会有很多重复数据,对进一步数据处理带来诸多不便。多余的数据一方面浪费了较多的存储空间,另一方面造成所要表达的图形不光滑或不符合标准。因此要通过某种规则,在保证矢量曲线形状不变的情况下, 最大限度地减少数据点个数,这个过程称为抽稀。

通俗的讲就是对曲线进行采样简化,即在曲线上取有限个点,将其变为折线,并且能够在一定程度保持原有形状。比较常用的两种抽稀算法是:道格拉斯 - 普克 (Douglas-Peuker) 算法和垂距限值法。

道格拉斯 - 普克 (Douglas-Peuker) 算法

Douglas-Peuker 算法 (DP 算法) 过程如下:

  • 1、连接曲线首尾两点 A、B;
  • 2、依次计算曲线上所有点到 A、B 两点所在曲线的距离;
  • 3、计算最大距离 D,如果 D 小于阈值 threshold, 则去掉曲线上出 A、B 外的所有点;如果 D 大于阈值 threshold, 则把曲线以最大距离分割成两段;
  • 4、对所有曲线分段重复 1-3 步骤,知道所有 D 均小于阈值。即完成抽稀。

这种算法的抽稀精度与阈值有很大关系,阈值越大,简化程度越大,点减少的越多;反之简化程度越低,点保留的越多,形状也越趋于原曲线。

垂距限值法

垂距限值法其实和 DP 算法原理一样,但是垂距限值不是从整体角度考虑,而是依次扫描每一个点,检查是否符合要求。

算法过程如下:

  • 1、以第二个点开始,计算第二个点到前一个点和后一个点所在直线的距离 d;
  • 2、如果 d 大于阈值,则保留第二个点,计算第三个点到第二个点和第四个点所在直线的距离 d; 若 d 小于阈值则舍弃第二个点,计算第三个点到第一个点和第四个点所在直线的距离 d;
  • 3、依次类推,直线曲线上倒数第二个点。
  • 最后
  • 其实 DP 算法和垂距限值法原理一样,DP 算法是从整体上考虑一条完整的曲线,实现时较垂距限值法复杂,但垂距限值法可能会在某些情况下导致局部最优。另外在实际使用中发现采用点到另外两点所在直线距离的方法来判断偏离,在曲线弧度比较大的情况下比较准确。如果在曲线弧度比较小,弯曲程度不明显时,这种方法抽稀效果不是很理想,建议使用三点所围成的三角形面积作为判断标准。

今日霍州(www.jrhz.info)©️

特别声明:[【青鸟飞扬教育】曲线点抽稀算法 - Python 实现] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

央视发春晚征集令引热议,观众挺专业抵流量两极化,争夺除夕夜文化定义权(春晚征集令)

网上的烂梗早就被年轻人玩腻了,嚼得一点味道都没有,结果过了半年,竟在春晚舞台上被当成包袱抖出来,看着台上的演员对着镜头喊尊嘟假嘟,底下的观众只能一脸冷漠,这种脱节感让人哭笑不得。答案或许在于,我们忘记了春晚…

央视发春晚征集令引热议,观众挺专业抵流量两极化,争夺除夕夜文化定义权(春晚征集令)

五菱荣光宏光EV50轮胎螺丝帽轮毂螺母更换,哪些要点需注意?2025年最新趋势解读(五菱荣光宏光ev5怎么样)

随着『新能源』车型崛起,五菱荣光、宏光EV50等车型备受关注。其轮胎螺丝帽轮毂螺母的选配至关重要。本文为你详解2025年如何正确选配五菱车系轮毂螺母。

五菱荣光宏光EV50轮胎螺丝帽轮毂螺母更换,哪些要点需注意?2025年最新趋势解读(五菱荣光宏光ev5怎么样)

夜潜者,灯厂再耀(夜潜出的潜是什么意思)

以光之名,照亮每一次深潜征途 海洋的深邃,承载着人类永恒的探索渴望 雷美诺时自诞生之初,便将光的基因刻入血脉它不仅是一枚时计,更是一段关于勇气与探索的故事序章 雷美诺时愿以恒久之光,照亮每一次潜行 以光为…

夜潜者,灯厂再耀(夜潜出的潜是什么意思)

『童瑶』陪老公会友聚餐饭后先上车耐心等老公

『童瑶』则十分体贴,她礼貌地向友人们简单告别后,便先行一步,坐进了车内等候丈夫。 据悉,『童瑶』的丈夫王冉比她年长十七岁,但两人同框时氛围自然,王冉看上去状态颇佳,充满活力。夫妻二人此番互动,显得默契十足,流露出一种…

『童瑶』陪老公会友聚餐饭后先上车耐心等老公

千问AI接入高德:从聊天助手变身智能管家(千问ai接入高德网盘)

当你说"找家评分4.5以上的川菜馆",千问APP调用的不只是静态的POI数据库,而是综合了实时路况、商家营业状态、用户评价趋势的动态数据流。 传统AI停留在"我知道你要什么&qu

千问AI接入高德:从聊天助手变身智能管家(千问ai接入高德网盘)