Android地图轨迹抽稀、动态绘制,android适配器的作用

作为一个非计算机专业出身的菜鸟程序员(原专业:大通信)做完这个需求之后,真正的意识到算法的重要性。如果你能坚持看完,我相信你会和我一样觉得贼TM diao!!!

下面是公司20年Java大神告诫我们的话:

“ 如果以后要是跳槽,最好选择去这两种公司:分析数据的公司 和 收集数据的公司 。将来所有的业务都是根据数据来定的,未来一个公司最宝贵的就是所收集的数据。利用这些数据可以扩展自己的业务,甚至你只需要收集数据,分析数据,利用数据衍生出服务,将这些服务卖个那些需要的群体。”

“ 数学是分析数据的基础,赶紧捡起你们的高等数学、线性代数、数理统计、算法导论等书。”

“ 未来如果你不懂得学习,那样你真的只会被淘汰的,人工智能时代真正到来的时候一个不会学习的人只可能生活在“胶囊”里面。”

PS: 40好几的人,依然保持旺盛的学习能力,而且据我自己观察,学习新知识超级快哦,瞬秒我们公司20岁的一帮小正太(羞射~)

废话多了,直接进入正题。

本文用到的一切地图相关的东西都来源高德地图。至于地图展示不是本文重点,所以不做赘述。文中提及的距离的计算,根据自己引用的地图类型做替换即可。文中是地图API所有会有标注。效果如如下

运动轨迹效果图

一、定位点的抽稀-道格拉斯算法

1、道格拉斯简介

Douglas一Peukcer算法由D.Douglas和T.Peueker于1973年提出,简称D一P算法,是眼下公认的线状要素化简经典算法。现有的线化简算法中,有相当一部分都是在该算法基础上进行改进产生的。它的长处是具有平移和旋转不变性,给定曲线与阂值后,抽样结果一定。

算法的基本思路是:对每一条曲线的首末点虚连一条直线,求所有点与直线的距离,并找出最大距离值dmax ,用dmax与限差D相比:若dmax < D ,这条曲线上的中间点所有舍去;若dmax ≥D ,保留dmax 相应的坐标点,并以该点为界,把曲线分为两部分,对这两部分反复使用该方法。

算法的具体过程如下:

(1) 在曲线首尾两点间虚连一条直线,求出其余各点到该直线的距离,如图3(1)。

(2) 选其最大者与阈值相比較,若大于阈值,则离该直线距离最大的点保留,否则将直线两端点间各点所有舍去,如图3(2),第4点保留。

(3) 根据所保留的点,将已知曲线分成两部分处理,反复第1、2步操作,迭代操作,即仍选距离最大者与阈值比較,依次取舍,直到无点可舍去,最后得到满足给定精度限差的曲线点坐标,如图3(3)、(4)依次保留第6点、第7点,舍去其它点,即完成线的化简。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值