地图定位知多少
作者:admin
发布日期:2019-11-19

       

  很多场景都用到了互联网地图定位,极大的方便了人们的生活,有很多人在感慨互联网技术带动人类进步的同时又对其背后的实现机制表示好奇,本篇文章将带着大家的好奇心走进地图定位,简单聊一聊背后的原理以及几个典型的应用场景。

  螺丝钉只有找到恰当的螺丝母才能体现自己的价值,定位也是一样,坐标只有找到适合的坐标系才能准确定位。是的, 坐标系很多种,目前使用的主要有三种。

  World Geodetic System世界通用坐标系,和GPS配套使用,大陆外地区都在使用的坐标系。高德地图、百度地图、google地图国外部分使用此坐标系。

  Guo Jia Cehui ju 中国国家测绘局制定的一套大地坐标系,是一种在WGS84之上根据经纬度随机加密后的坐标系。国家测绘局规定国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行一次加密。高德地图和google地图大陆、港澳部分使用是此坐标系。

  百度坐标系,即在GJC-02之上再次加密的坐标系,只适合百度相关地图系统,百度地图大陆、港澳部分使用此坐标系。

  有了坐标系,定位具体的位置还需要经纬度,有了经纬度就可以根据坐标系找到合适的位置。那么都有哪些方式可以得到经纬度呢?�目前主流的有3种。

  一个手机在有电话信号的地方,就可以通过系统的接口得到基站ID。通过基站ID可以锁定唯一基站,同时在库中我们保存了该基站的位置,从而推算出设备的位置,通常在基站信号的范围内。基站定位的优点是对于环境要求低,有基站信号的地方就可以定位,但是精度较低,通常几百米,个别情况会几公里。通常作为其他定位方式的候补策略。

  每个WIFI路由器,对应了一个唯一的MAC地址,我们在库中维护了全球WIFI的具体位置,当手机扫描到周边WIFI信号时,即可以根据WIFI信号强度和WIFI列表的具体内容,推算出设备的位置。WIFI定位的精度通常比较高,几米到几十米不等,但是在设备位移的过程中,会出现一定的误差。通常比较理想的环境是城市内,位移不频繁的情况。

  在室外无遮挡的条件下,基于GPS信号的定位技术被普遍采用。通过GPS信号可以得知手机与具体某一颗卫星的距离,从而计算出手机的具体位置。以上过程通过设备本身GPS芯片即可完成计算,通过手机系统接口可以获得定位结果。由于GPS定位本身的特点,可以看出GPS定位更适合在导航等户外场景中的使用。

  如果用户快速移动,其实定位会更加精确,因为在导航模式下,算法会根据用户的速度和方向来不断纠正产生的误差,这就是为什么开车的时候如果开启导航就会把车子准确的定位在道路上的原因。

  Android定位SDK,使用混合定位技术。支持开发者自由设置定位模式,同时封装了逆地理信息,以及地理围栏等实用功能。Android定位SDK包含GPS和网络定位(Wi-Fi和基站定位)两种能力。定位SDK将GPS、网络定位能力进行了封装,以三种定位模式对外开放,SDK默认选择使用高精度定位模式。

  由于IOS系统使用的坐标系和使用手机所处的位置有关,如果手机当前在大陆,那么就使用GJC-02坐标系,在国外,就使用WGS84坐标。所以手机在大陆的时候看国外的地图就可能存在一些坑,例如,搜索曼谷的曼谷亚洲摩天轮,如果数据库只存了曼谷亚洲摩天轮的WGS84坐标系对象POI坐标,那么搜到的位置就有会偏移。如果在国外搜索国内的POI也会有同样的问题,解决方法之一就是POI即存GJC-02坐标系坐标又存WGS84坐标系坐标,然后判断是否在国内取得不同的坐标即可。

  下一篇文章会继续讨论GIS相关:『地球二维化』。知道《三体》『二向箔』的懂.., 请大家保持关注哦.

  一、常见定位技术 1.基站定位 每个手机基站都有一个ID标识符,插上sim卡的手机或其他终端可以搜集周围所有收到信...

  开发App时会遇到各种坑,本文分享我们在iOS/Android系统中定位和地图中遇到的坑,以及携程App的解决方案...

  常见的坐标系有三种: 1、地球坐标(WGS84,国际公认坐标), 2、火星坐标(GCJ02,国家标准,适用于高德百...

  很热很热的夏天,两个可爱的小男孩为了为了帮助口渴的狗狗喝水,他们想到了绝妙的办法: 与有教养的人在一起...

上一篇:对于《经济学通识》一点思考
下一篇:没有了