道格拉斯-普克抽稀算法,是用来对大量冗余的图形数据点进行压缩以提取必要的数据点。该算法实现抽稀的过程是:先将一条曲线首尾点虚连一条直线,求其余各点到该直线的距离,取其最大者与规定的临界值相比较,若小于临界值,则将直线两端间各点全部舍去,否则将离该直线距离最大的点保留,并将原线条分成两部分,对每部分线条再实施该抽稀过程,直到结束。抽稀结果点数随选取限差临界值的增大而减少,应用时应根据精度来选取限差临界值,以获得最好的效果。

以下转载自:垂距法与道格拉斯-普克法删除冗余顶点效率的比较
道格拉斯- 普克法可描述为:将一条曲线首末顶点虚连一条直线 ,求出其余各顶点到该直线的距离 ,选其最大者与规定的限差相比较 ,若小于等于限差 ,则将直线两端间各点全部删去;若大于限差 ,则离该直线距离最大的顶点保留 ,并以此为界 ,把曲线分为两部分 ,对这两部分重复使用上述方法 ,直至最终无法作进一步的压缩为止 (见图 3)

道格拉斯 2 普克法有一个十分突出的优点 ,即它是一个整体算法 ,在一般情况下可保留较大弯曲形态上的特征点。经道格拉斯-普克法压缩后得到的图形如图 4所示。由于该算法可准确删除小弯曲上的定点 ,故能从体上有效地保持线要素的形态特征。正是因为道格拉斯-普克法具有这样突出的优点 ,所以已经在线要素地自动制图中得到了较广泛的应用。但道格拉斯- 普克法较垂距法复杂 ,且通常编程实现时需要采用递归方 ,有一定的难度。

道格拉斯-普克 抽稀算法相关推荐

  1. 道格拉斯-普克抽稀算法

    道格拉斯-普克抽稀算法,是用来对大量冗余的图形数据点进行压缩以提取必要的数据点.该算法实现抽稀的过程是:先将一条曲线首尾点虚连一条直线,求其余各点到该直线的距离,取其最大者与规定的临界值相比较,若小于 ...

  2. 【Python】道格拉斯-普克抽稀算法

    常用的地图点压缩 1.算法应用 道格拉斯-普克抽稀算法,是用来对大量冗余的图形数据点进行压缩以提取必要的数据点. 2.算法步骤 对每一条曲线的首末点虚连一条直线,求所有点与直线的距离, 并找出最大距离 ...

  3. Android Arcgis 优化--------道格拉斯-普克抽稀算法

    最近偶然接触到抽稀相关的算法.发现道格拉斯抽稀算法很适合目前项目某一个功能优化.所以我抽空看了一下,也写了针对经纬度路径点抽稀的工具类.下面我们先看看该算法的介绍. 介绍 道格拉斯-普克算法(Doug ...

  4. 道格拉斯普克(Douglas-Peuker)算法python实现

    目录 前言 一.算法实现 二.输出结果 前言 本程序主要应用于边界线上点的稀释,本文提供随机数和交互式输入两种方式实现数据载入. 一.算法实现 # -*- coding = utf-8 -*- # @ ...

  5. 道格拉斯-普克 Douglas-Peuker(DP算法) python java实现

    1.道格拉斯-普克抽稀算法说明 道格拉斯-普克抽稀算法是用来对大量冗余的图形数据点进行压缩以提取必要的数据点. 该算法实现抽稀的过程是: 1)对曲线的首末点虚连一条直线,求曲线上所有点与直线的距离,并 ...

  6. OpenCV 学习笔记03 凸包convexHull、道格拉斯-普克算法Douglas-Peucker algorithm、approxPloyDP 函数...

    凸形状内部的任意两点的连线都应该在形状里面. 1 道格拉斯-普克算法 Douglas-Peucker algorithm 这个算法在其他文章中讲述的非常详细,此处就详细撰述. 下图是引用维基百科的.ε ...

  7. 道格拉斯算法 matlab,OpenCV 学习笔记03 凸包convexHull、道格拉斯-普克算法Douglas-Peucker algorithm、approxPloyDP 函数...

    凸形状内部的任意两点的连线都应该在形状里面. 1 道格拉斯-普克算法 Douglas-Peucker algorithm 这个算法在其他文章中讲述的非常详细,此处就详细撰述. 下图是引用维基百科的.ε ...

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

    道格拉斯-普克抽稀算法,是用来对大量冗余的图形数据点进行压缩以提取必要的数据点. 该算法实现抽稀的过程是: 1)对曲线的首末点虚连一条直线,求曲线上所有点与直线的距离,并找出最大距离值dmax,用dm ...

  9. c++多边形扫描线填充算法_基于MATLAB的道格拉斯普克算法递归实现

    道格拉斯普克算法 (道格拉斯-普克)Douglas-Peukcer算法由D.Douglas和T.Peueker于1973年提出,是线状要素抽稀的经典算法.用它处理大量冗余的几何数据点,既可以达到数据量 ...

最新文章

  1. python定义一个类和子类_Python面向对象class类属性及子类用法分析
  2. C#枚举数值与名称的转换
  3. 苹果11如何设置9宫格_4月9日三只可转债回落卖出条件单结果,10日永高转债上市,手把手教你如何设置华宝智投的涨跌幅条件单...
  4. 让你的JXTA应用更加安全.建立真正你自己的私有的组!
  5. 巧用拦截器:高效的扩展点设计
  6. ajax结构图,Vuex结构图及用法
  7. iPhone X 弹出输入框隐藏后页面上移不回位问题的解决办法
  8. 洛谷P3369 【模板】普通平衡树(STL做法:vectormultiset)
  9. Python学习笔记8—Python函数
  10. Yii 2.0 权威指南 (4) 使用 Gii 生成代码
  11. oracle监听防止连接风暴,Oracle Listener 监听风暴处理
  12. Allegro导入Altium Designer的pcb文件
  13. java 分组求和_java 集合分组求和
  14. 高德导航java_通过拼接实现高清地图的下载-高德-java实现
  15. css中用来去除列前面的黑点,CSS中去除li前面的小黑点,a下划线 和ul、LI部分属性方法...
  16. _itemmod_extract_enchant随机附魔提取
  17. win10 命令行查看、创建、删除用户
  18. 眼科赛道的“觉醒年代”,清晰医疗赴港能否具备后发优势?
  19. Centos7 查看 CPU 核数 和 型号 和 主频(亲测有效)
  20. top.layer.open()是什么东西

热门文章

  1. 工作表格excel用python_Python自动化处理Excel报表,工作更轻松
  2. ​LeetCode刷题实战584:寻找用户推荐人
  3. Java通用权限系统视频(2021年高含金量版)
  4. Sentinel-2数据辐射定标及大气校正
  5. VBA:Excel工作簿所有子表数据一键汇总
  6. LNK2026 模块对于 SAFESEH 映像是不安全的原因以及解决方法
  7. android 实现视频播放功能,android开发之简单视频播放器(VideoView)
  8. 道路矢量下载 转shp格式
  9. apple邀请码发放(apple邀请码,apple卡密获取)
  10. 软考 | 2009年下半年 软件设计师 下午试卷