首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
.net 道格拉斯抽稀
2024-08-28
.net中使用 道格拉斯-普特 抽希轨迹点
Douglas一Peukcer算法由D.Douglas和T.Peueker于1973年提出,简称D一P算法,是目前公认的线状要素化简经典算法.现有的线化简算法中,有相当一部分都是在该算法基础上进行改进产生的.它的优点是具有平移和旋转不变性,给定曲线与阂值后,抽样结果一定. 思路:对每一条曲线的首末点虚连一条直线,求所有点与直线的距离,并找出最大距离值dmax ,用dmax与限差D相比:若dmax < D ,这条曲线上的中间点全部舍去;若dmax ≥D ,保留dmax 对应的坐标点,并以该点为界,
Oracle spatial抽稀函数(SDO_UTIL.SIMPLIFY)
在使用Oracle spatial做空间查询和展示时,经常会遇到展示或者查询过慢,这时候我可以通过空间数据抽稀来优化查询展示效率. 在Oracle spatial中的抽稀函数为:SDO_UTIL.SIMPLIFY 它内部采用了道格拉斯抽稀算法. 构造函数: SDO_UTIL.SIMPLIFY(geometry IN SDO_GEOMETRY,//输入的geometrythreshold IN NUMBER//抽吸阀值 该值为正树(如果该值为零,则表示输入geometry和输出geometry
道格拉斯—普克(Douglas一Peukcer)节点抽稀算法
Douglas一Peukcer算法由D.Douglas和T.Peueker于1973年提出,简称D一P算法,是眼下公认的线状要素化简经典算法.现有的线化简算法中,有相当一部分都是在该算法基础上进行改进产生的.它的长处是具有平移和旋转不变性,给定曲线与阂值后,抽样结果一定.本章线化简重点解说该算法. 算法的基本思路是:对每一条曲线的首末点虚连一条直线,求所有点与直线的距离,并找出最大距离值dmax ,用dmax与限差D相比:若dmax < D ,这条曲线上的中间点所有舍去;若dmax ≥D ,保留
曲线点抽稀算法-Python实现
何为抽稀 在处理矢量化数据时,记录中往往会有很多重复数据,对进一步数据处理带来诸多不便.多余的数据一方面浪费了较多的存储空间,另一方面造成所要表达的图形不光滑或不符合标准.因此要通过某种规则,在保证矢量曲线形状不变的情况下, 最大限度地减少数据点个数,这个过程称为抽稀. 通俗的讲就是对曲线进行采样简化,即在曲线上取有限个点,将其变为折线,并且能够在一定程度保持原有形状.比较常用的两种抽稀算法是:道格拉斯-普克(Douglas-Peuker)算法和垂距限值法. 道格拉斯-普克(Douglas-Pe
OpenCV 学习笔记03 凸包convexHull、道格拉斯-普克算法Douglas-Peucker algorithm、approxPloyDP 函数
凸形状内部的任意两点的连线都应该在形状里面. 1 道格拉斯-普克算法 Douglas-Peucker algorithm 这个算法在其他文章中讲述的非常详细,此处就详细撰述. 下图是引用维基百科的.ε称之为阈值 shreshold 图一 静态图如下: 具体详细的可以参考如下两篇文章. 相关文章如下: 道格拉斯-普克 抽稀算法 附javascript实现,该文章只看他的文字讲解就好,他的代码不是通过python实现的. 道格拉斯-普克算法(Douglas–Peucker algorithm),该文
ArcGIS制图之Sub Points点抽稀
简介 Sub Points工具是 Esri 中国自主开发的一个插件,该工具优先考虑点在空间分布上的均匀合理性,并结合点数据中包含的 "优先级" 属性进行筛选.通过获取每个点在一定范围内拥有的相邻点的数目信息,得到地图中点密度的分布状况.抽稀时在若干相临近的点中首先比较优先级,保留优先级高的:优先级相同时比较 NAME 字段,保留 NAME 长度短的:两者都相同时随机选择.使用 Sub Points 进行点抽稀的数据,必须包含"优先级"和"name"
ArcGIS制图之Maplex自动点抽稀
制图工作中,大量密集点显示是最常遇到的问题.其特点是分布可能不均匀.数据点比较密集,容易造成空间上的重叠,影响制图美观.那么,如果美观而详细的显示制图呢? 主要原理 Maplex中对标注有很好的显示控制,一旦显示符号,则会出现符号存在.标注不存在,并且可能存在符号互相叠置的现象(如上图所示):使用牵引符号将符号作为标注的一部分来显示,调整阈值自动进行标注间避让,计算出地图上所有标注的最佳放置,可以实现当标注不存在时,符号也不存在,从而达到不改变数据的情况下,完美地自动点抽稀. 下面的所有步骤是必
ArcGIS制图之Subset工具点抽稀
制图工作中,大量密集点显示是最常遇到的问题.其特点是分布可能不均匀.数据点比较密集,容易造成空间上的重叠,影响制图美观.那么,如果美观而详细的显示制图呢? Subset Features(子集要素)工具是 ArcGIS 地统计分析模块的一个工具,该工具可将数据按照百分比进行抽稀,生成两个结果数据集,一个是抽稀后保留的数据,另一个是互补的那一部分数据. 实现原理 其原理是将数据分成两个子集.子集 1 将有 L 个要素,子集 2 将有 N - L 个要素(N 表示原始数据集中的要素数量).要素的分割
ARCGIS 点抽稀的实现
点抽稀是制图综合的一部分,即在点数据点特别密集是,需要选取比较重要的点而舍去不要重的点,使得图面整洁. 一.基本原理 先把所有的点符号都设成透明.这样显示是没有点的.然后给这些点设置标注.标注方法很奇特,利用“带有牵引线”的标准方法,这个牵引线要带个箭头的,而这个箭头可以编辑成想要的点符号的样式,然后把牵引线的线颜色设成透明,这样一条牵引线就变成了一个点加上一段空白区域.牵引线一般是从点牵出来的,因此这时候要设置个带向左箭头的牵引线,目的是将牵引线换个指示方向正好指向点.可以设置牵引线的阈值,牵
GIS矢量数据化简:一种改进的道格拉斯-普克算法以及C++实现
GIS领域的同志都知道,传统的道格拉斯-普克算法都是递归实现.然而有时候递归的层次太深的话会出现栈溢出的情况.在此,介绍一种非递归的算法. 要将递归算法改为非递归算法,一般情况下分为两种场景.第一种是问题定义是递归的,如阶乘.斐波那契数列等,对于这类问题,改为递归算法很简单,直接用迭代来做.另外一种是过程是递归的,如本文的道格拉斯-普克算法,对于这类问题呢,一般是用栈(stack)来记录中间结果,最后得到结果. 为了保证极值点的不被舍去,将曲线在弯曲极值点分为两段处理,弯曲极值点通过中间点与相邻
道格拉斯-普克算法(JavaScript实现)
需求: 有时候当移动速度很慢,GPS定位的轨迹点就非常的多,这时候为了缩减数据量,需要将不突出的点去掉. 思路: (1) 在曲线首尾两点间虚连一条直线,求出其余各点到该直线的距离. (2)选其最大者与阈值相比较,若大于阈值,则离该直线距离最大的点保留,否则将直线两端点间各点全部舍去. (3)依据所保留的点,将已知曲线分成两部分处理,重复第1.2步操作,迭代操作,即仍选距离最大者与阈值比较,依次取舍,直到无点可舍去,最后得到满足给定精度限差的曲线点坐标 这里使用道格拉斯-普克算法实现,易于理解.效
在ArcGIS中如何进行POI点抽稀
对POI点添加权重等级类型信息.例如添加短整形字段Weight,并根据业务逻辑设置不同种类的POI的权重值,如分5类,0代表重要性最低的POI,4代表重要性最高. 在ArcMap的标注管理栏中,设置使用Maplex标注引擎,添加对应级别的标注图层. 设置POI标注图层的冲突解决,设置要素权重为1000,这样能确保标注不会压盖在POI符号上. 通过标注管理栏,设置标注图层的放置优先级别,权重高的标注图层应该排在前面. 设置网格的冲突解决,设置边界要素权重为1000,这样可以避免标注压盖网格边界.
利用道格拉斯·普客法(DP法)压缩矢量多边形(C++)
1.算法描述 经典的Douglas-Peucker算法(简称DP法)描述如下: (1)在曲线首尾两点A,B之间连接一条直线AB,该直线为曲线的弦: (2)得到曲线上离该直线段距离最大的点C,计算其与AB的距离d: (3)比较该距离与预先给定的阈值threshold的大小,如果小于threshold,则该直线段作为曲线的近似,该段曲线处理完毕. (4)如果距离大于阈值,则用C将曲线分为两段AC和BC,并分别对两段取信进行1~3的处理. (5)当所有曲线都处理完毕时,依次连接各个分割点形成的折线,即
项目角度谈矢量切片运用以及Geoserver处理自定义规格矢量切片方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1. 背景 矢量切图方案目前已经是很常见的一个方案,在2016年时团队基于Sharpmap开发了支持不同坐标系.不同切图参数.任意矢量数据(点.线.面)的工具.也着手开发了支持矢量切图浏览器前端配图的工具.在当时研究之前,也写过一篇初步研究的文章:WebGIS中矢量切图的初步研究(http://www.cnblogs.com/naaoveGIS/p/4982549.h
GPSMap程序源代码
1. 界面 第一次打开时选择工程文件 MainActivity.java Tools.OpenDialog(new ICallback(){ public void OnClick(String paramAnonymousString, Object paramAnonymousObject) { PubVar.m_DoEvent.DoCommand("工程_选择"); } }); DoEvent.java public void DoCommand(String paramStri
1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学习之路是比较好的.学习没有捷径,但学习是有技巧与方法. 一,css入门篇: 推荐书籍:css哪些事儿,精通css. 理由:css那些事儿,他是一本介绍css基础类的书,是入门的经典读物. 系统的介绍了css的选择符,伪类,工作环境,盒模型,两列,三列自适应布局.文字样式,图片处理,列表,表单
Cesium原理篇:3最长的一帧之地形(2:高度图)
这一篇,接着上一篇,内容集中在高度图方式构建地球网格的细节方面. 此时,Globe对每一个切片(GlobeSurfaceTile)创建对应的TileTerrain类,用来维护地形切片的相关逻辑:接着,在requestTileGeometry中,TileTerrain会请求对应该切片的地形数据.如果读者对这部分有疑问的话,可以阅读<Cesium原理篇:1最长的一帧之渲染调度>:最后,如果你是采用的高度图的地形服务,地形数据对应的是HeightmapTerrainDat
Cesium原理篇:3最长的一帧之地形(3:STK)
有了之前高度图的基础,再介绍STK的地形相对轻松一些.STK的地形是TIN三角网的,基于特征值,坦白说,相比STK而言,高度图属于淘汰技术,但高度图对数据的要求相对简单,而且支持实时构建网格,STK具有诸多好处,但确实有一个不足,计算量比较大,所以必须预先生成.当然,Cesium也提供了一个Online的免费服务,不过因为是国外服务器,所以性能和不稳定因素都不小.好的东西自然得来不易,所以不同的层次,根据具体的情况选择不同的方案,技术并不是唯一决定因素,甚至不是主要因素. CesiumTerra
Professional JavaScript for Web Developers 3rd Edition ---读书笔记
1. DOMContentLoaded DOM树构建完成时触发该事件 load 页面加载完毕触发 原生js document.addEventListener('DOMContentLoaded', function(){ //code..... }, false); document.addEventListener('load', function(){ //code... }, false); jquery //DOMContentLoaded $(document).ready(func
JavaScript 代码风格指南
一.基本格式 缩进 建议每级4个空格,可以给编辑器设置tab = 4个空格,自动转换 分号 不要省略分号,防止ASI(自动插入分号)错误 行宽 每行代码不超过80个字符,过长应该用操作符手动断行 断行 操作符在上一行末尾,且下一行缩进2级,如果是赋值语句,还应该和等号后面部分对齐 空行 函数声明与函数声明.变量声明与函数声明.函数内部的逻辑块之间都应该有空行隔开 作者尼古拉斯还建议在流程控制块顶部留一个空行,但给的例子不是很明确 命名 变量名/函数名:Camel(驼峰)规则,首词首字母小写,后续
热门专题
css div定义长度不生效
drawable创建
C#如何向自增1的表中插入数据
Worksheet aspose 自动换行
Redis中set元素过期
CallMethodAction 绑定动态控件
latex 参考文献汉字
yml配置resource文件路径
python前后端post表单处理
脚本中的cat << EOF
sqlserver 删除索引 会话
使用文件类 fstream,完成文件的复制
jquery下拉框重置
vant refs名称拼接的
squashfs执行remount
IIS 和 .NET快速安装 工具
visual studio 2019设置内存
unity 把游戏对象存在公共那里效果好吗
linux 检查 端口 状态 c
win7双系统怎么删除ubuntu