作为Android开发者可能会经常遇到定位的问题,在获取位置信息的时候就会遇到使用网络定位、GPS定位等种类。其实、百度和高德等还对定位结果进行了优化,其中包括卡尔曼滤波。卡尔曼滤波怎么推导的我也不是很清楚,引用了一个github上的库
我的代码在码云地址
主要是将GPS、网络定位、经过卡尔曼滤波优化的三种定位结果以不同颜色的图标展示在MapBox地图上,并记录在txt文件上。
将txt文档导出并处理,展示结果
此时拿着手机站立不动
可以看到网络定位只定位出了两个结果,相差比较远;GPS定位结果比较集中;卡尔曼滤波也比较集中,但较GPS定位结果更偏分散。
由于运动轨迹较长,为了更好的展示,这里只选一些有特征的地方展示
可以看到网络定位跳动的幅度较大,GPS和卡尔曼计算结果相差无几,但是卡尔曼的转折处更平滑。