概述
基站是运营商(移动,联通,电信)的设备,这些设备的分配的使用是由运营商来管理的,但好在基站的信息有一个行业规则,基站编号有一定的规则。
基站基础知识
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 文档的,可以关注我公众号,回复“定位”,自动获取。