坐标纠偏的实现

因我们项目中使用了gps 、baiduMap 和 googleMap 3种坐标,且各坐标间都不能通用,相互间都存在偏差,小则几十米大则偏差几百米或者更大。其中原因,可以搜索下“火星坐标”。
现阶段只有baidu map 有纠偏接口,精度较高,但只局限于gps转百度、谷歌转百度,而没有百度转gps、谷歌坐标的接口,虽然网上有转换算法,但都存在偏差,精度也不是很高,纯粹调用百度API来纠偏网络负载太大,延时也非常明显。因此,现在的做法是结合百度map 坐标转换的api 和本地数据库来纠偏。当遇到一个gps或谷歌坐标,查询T_GPS2BAIDU_OFFSET或T_GOOGLE2BAIDU_OFFSET表,若没有数据则调用OffsetUtil.java类实现获取偏移量并保存到数据库中,至于gps与Google 坐标偏移量可以通过baidu 坐标为中介计算出,在纠偏数据表中也都各有百度、谷歌区域标示,就是为了做gps>google坐标纠偏的,这样纠偏数据库就慢慢形成了。但有一点,随着时间的变化,各地图的坐标也有可能变化,所以暂时考虑超过半年的纠偏数据可以删除不取。
对于一些静态的坐标数据入库(如终端实时坐标),建议分别计算出百度、谷歌等坐标并将其入库,这样在地图上显示轨迹等取数据时就不需要再去计算,展示速度也就提高了。
附件是偏移量计算工具栏和坐标转换工具类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值