如何通过设备基站获取设备经纬度

科技资讯 投稿 7800 0 评论

如何通过设备基站获取设备经纬度

概述

基站是运营商(移动,联通,电信)的设备,这些设备的分配的使用是由运营商来管理的,但好在基站的信息有一个行业规则,基站编号有一定的规则。

基站基础知识

MCC:国家码。如 460 表示中国
MNC:运营商码。0 代表移动 2G,1 代表联通 2G
LAC:位置区码。可以理解为大区
CellID:基站塔编码。可以理解为小区

定位原理

原理有点类似于 md5 密码破解一样,就是有一些同时带有基站定位和 GPS 定位的硬件设备,上传两样数据,这样两样数据就有了关联。
其他用户再根据基站信息查询坐标时,就有了数据可查询。随着这样的数据越来越多,就有了这样的库。

GPS 定位结果
通过设备 GPS 定位模块返回的定位结果,精度较高,在 10 米-100 米左右

查询服务

https://www.opengps.cn/data/cell/search.aspx

基于浏览器定位功能也定位不到,原因不太清楚。

服务端

高德

调用过程需要 key
调用方式 http get 方式

http://apilocate.amap.com/position?accesstype=0&imei=352315052834187&smac=E0:DB:55:E4:C7:49&cdma=1&bts=13824,1,1838,1674723,575739,-52&serverip=10.2.166.4&output=xml&ke y=<用户Key>

返回数据

{
  "infocode": "10000",
  "result": {
    "city": "郑州市",
    "province": "河南省",
    // 定位附近的 poi 名称-
    "poi": "香雪儿面包房(枫杨街店",
    // 区域编码-
    "adcode": "410102",
    "street": "枫杨街",
    "desc": "河南省 郑州市 中原区 枫杨街 靠近香雪儿面包房(枫杨街店",
    "country": "中国",
    // 定位类型,0:没有得到定位结果;其他数字为:正常获取定位结果
    "type": "4",
    // 经纬度 经度longitude 113.5633803    纬度latitude:34.813311
    "location": "113.5633803,34.8133111",
    "road": "枫杨街",
    // 定位精度半径,单位:米
    "radius": "550",
    "citycode": "0371"
  },
  "info": "OK",
  // 返回状态,值为 0 或 1,0 代表 false
  "status": "1"
}

LBS 数据仓库

免费的根据基站获取经纬度的 API 接口,详细介绍看接口说明即可。
http://www.cellocation.com/api/

腾讯

https://lbs.qq.com/service/webService/webServiceGuide/location

总结

高德的品牌影响力稍微大一些。
而且高德的 API 小量使用时是免费的,我们使用量不大,目前还没有付费,只要注册认证就可以使用。

需要高德 API 文档的,可以关注我公众号,回复“定位”,自动获取。

编程笔记 » 如何通过设备基站获取设备经纬度

赞同 (38) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽