gps路径压缩算法

公司的gps点位特别多,导致数据存储以及查询都会造成一定的压力.
所以我们需要使用gps路径压缩算法
我调研了两种: k-means 和 Douglas-Peucker

k-means 压缩的底层原理是:
在这里插入图片描述

自定义簇的数量,假设是100个,那么就会计算所有gps点,把最相近的点,放在一个簇里,以此类推,计算出100个簇,然后每个簇计算出一个中心点,100簇的中心点也就是我们这段gps的压缩路径.
Douglas-Peucker 压缩的底层原理是:

我们首先 来看下这张图 *为折现点 直线为gps普通路径点

好 我们先假设全部的点都为普通点
第一步 我们会把整段路径的开始点和结束点设置为折线点
第二步 我们会找出这段路径当中离开始点和结束点距离最远的点.
第三步 拿这个最远的点和我们设置的距离阀值判断,如果超过了,则把这个点设置为折线点,没有超过,这段轨迹的计算停止.
第四步 会通过上一步计算好的折现点,划分为两个路径,然后这两个路径也是像上面的步骤一样,去计算最远的点,以此类推,直到没有点超过距离阀值即可
第五步 把所有的折现点结合起来,就是压缩后的路径

k-means 和 Douglas-Peucker 对比
k-means 只注重于gps大概在什么位置,但是具体的形状是不注重的,
性能较慢.但是因为簇是自定义的所以想节约多少点,都是可控的.
Douglas-Peucker 因为都是通过最远的点来计算,所以整体路径的形状一般会保持的很好,整体的计算性能较好,但由于距离阀值是固定的,而上传gps的点位是不固定的,所以压缩力度不可控

我们比较在意计算性能,Douglas-Peucker相比k-means也比较成熟点,所以选择了Douglas-Peucker

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值