zoukankan      html  css  js  c++  java
  • Google地图定位偏移矫正

    Google地图定位标记矫正

    技术交流QQ:1148824289

    问题概述

             google地图在中国使用,都存在偏移问题,车辆明明在公路上的,点一打到地图上,可能跑到人家房顶上了,或者跑到河里去了,关于这种问题,听说是我们国家出于安全考虑要求他们这样做的吧,这个我就不多说了。下面说说怎么解决这个问题。

    解决原理

             网上有些解决这种问题的算法呀,或者其他解决方法,似乎都不澈底,本人介绍这种方法,精确度高,但是得配合具体数据,数据量非常大,有一个多G,通过匹配矫正。下面说说原理。

             偏移量不一定是有规律的,我也不确定有没有规律,反正按我看是没有规律的,是随机的。偏移原理是把中国地图切成N块豆腐块,横切N刀竖切N刀,中国地图就变成了N多块豆腐块,一个豆腐块是个矩形,每个矩形框里面的点的偏移量是固定的,也就是说一个矩形框一个偏移量。

             那么现在剩下的问题就是,怎么给你输入的经纬度,找到自己所属的矩形框,找到了自己所属的矩形框,那么就找到了偏移量,然后你的经纬度加上偏移量就得出矫正后的经纬度了。

    解决方法

        以下是数据源截图,总共有1700左右万条数据,也就是说,有1700左右万个矩形,总共有1.2G左右,如下图,第一列是行号,第二、三列是标志矩形块的经纬度,第四、五列是对应矩形块的偏移量。

        

    载入内存匹配法

    把数据源载入内存,写个软件,公布一接口,输入经纬度,返回矫正后的经纬度,做一超大链表,对其中一列排序,二分查找法,快速锁定矩形块。此方法优缺点:

    优点:返回快,效率高,可供N多客户端调用。

    缺点:吃内存,开发费事些。

    数据库匹配法

             把数据源存入数据库,在数据库写个存储过程,输入经纬度,返回矫正后的经纬度。此方法优缺点:

             优点:开发简单,直接存库即可。访问也简单,直接访问数据库即可。

           缺点:对数据库压力大,效率会差一些。

    技术交流QQ:1148824289

  • 相关阅读:
    怎样写贪吃蛇小游戏?用100行python代码轻松解决!
    面试必问的celery,你了解多少?
    您的机器学习环保吗?一只AI训练排出180吨二氧化碳
    NLP技术应用到音乐领域,分分钟让你变成音乐大师!
    数据可视化“升级”修炼宝典
    一文掌握Python可视化库的两大王者
    多线程-模拟阻塞queue队列
    设计模式-单例模式
    多线程之wait,notify,volatile,synchronized,sleep
    spring与quartz整合
  • 原文地址:https://www.cnblogs.com/MingoJiang/p/2831449.html
Copyright © 2011-2022 走看看