必威体育Betway必威体育官网
当前位置:首页 > IT技术

如何根据LAC和CellID进行手机定位

时间:2019-06-07 22:43:10来源:IT技术作者:seo实验室小编阅读:85次「手机版」
 

lac

基站定位简介

基站定位一般应用于手机用户,手机基站定位服务又叫做移动位置服务(LBS——Location Based Service),它是通过电信移动运营商的网络(如GSM网)获取移动终端用户的位置信息(经纬度坐标)。

基站定位的原理为:移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(Time of Arrival,到达时刻)或TDOA(Time Difference of Arrival,到达时间差),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出移动电话的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。

Android 获取方法:

Android: 拨号*#*#4636#*#*进入手机信息工程模式后查看

Android 获取代码:

private String ReadCellInfo() {
    TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

    // 返回值MCC + MNC (注意:电信的mnc 对应的是 sid)
    String operator = mTelephonyManager.getNetworkOperator();
    if(operator!=null&&operator.length()==0){
		return "手机无网络!";
    }
	int mcc = -1;
    int mnc = -1;

    if(operator!=null&&operator.length()>3){
        mcc = Integer.parseInt(operator.substring(0, 3));
        mnc = Integer.parseInt(operator.substring(3));
    }

    StringBuffer cellinfo = new StringBuffer();

    //时间戳
    Calendar calendar = Calendar.getInstance();
    long unixTime = calendar.getTimeInMillis();

    int year = calendar.get(Calendar.YEAR) ;
    int month = calendar.get(Calendar.MONTH)+1;
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    int hour = calendar.get(Calendar.HOUR_OF_DAY); // 0-23
    int minute = calendar.get(Calendar.MINUTE);
    int second = calendar.get(Calendar.SECOND);

    String mytime ="";
    mytime = String.format("%d%02d%02d %02d:%02d:%02d",year,month,day,hour,minute,second);
    cellinfo.append(mytime).append(",");
    
    //NetworkType
    int type = mTelephonyManager.getNetworkType();
    cellinfo.append(type +",");

    //需要判断网络类型,因为获取数据的方法不一样,
    if(type == TelephonyManager.NETWORK_TYPE_CDMA        // 电信cdma网
            || type == TelephonyManager.NETWORK_TYPE_1xRTT
            || type == TelephonyManager.NETWORK_TYPE_EVDO_0
            || type == TelephonyManager.NETWORK_TYPE_EVDO_A
            || type == TelephonyManager.NETWORK_TYPE_EVDO_B
            || type == TelephonyManager.NETWORK_TYPE_LTE){

		// TIME,TYPE,MCC,MNC,SID,NID,BID
        CdmaCellLocation cdma = (CdmaCellLocation) mTelephonyManager.getCellLocation();
        if(cdma!=null){
            //Mobile country code:移动国家码
            sb.append("MCC = " + mcc +"\n");
            cellinfo.append(mcc +",");

      		// Mobile Network Code:移动网络码 
            sb.append("MNC = " + mnc +"\n" );
            cellinfo.append(mnc +",");

            //System ID:系统识别码
            int sid = cdma.getSystemId();
            sb.append("SID = " + sid +"\n");
            cellinfo.append(sid +",");

            // Network ID:网络识别码
            int nid = cdma.getNetworkId();
            sb.append("NID = " + nid +"\n");
            cellinfo.append(nid +",");

            // Base Station ID:基站识别码
            int bid = cdma.getBaseStationId();
            sb.append("BID = " + bid +"\n");
            cellinfo.append(bid +",");
        }else{
            sb.append("can not get the CDMA CellLocation");
            cellinfo.append("can not get the CDMA CellLocation");
        }
    }else if(type == TelephonyManager.NETWORK_TYPE_UNKNOWN){
        cellinfo.append("电话卡不可用!");
    }

    String result = new String(cellinfo);
    return result;
}

Iphone获取方法:

iPhone:拨号*3001#12345#*进入FieldTest

Serving Cell info–>LAC=Tracking Area Code -->cellid = Cell identity

查询全国移动联通电信2G/3G/4G基站位置数据,收录数据总量1.2亿条

接口地址:http://api.cellocation.com:81/cell/

支持格式: CSV/JSON/XML

请求方式: GET

请求示例:http://api.cellocation.com:81/cell/?mcc=460&mnc=1&lac=4301&ci=20986&output=xml

请求参数:

名称 类型 必填 说明
mcc int mcc国家代码:中国代码 460
mnc int mnc网络类型:0移动,1联通(电信对应sid),十进制
lac int lac(电信对应nid),十进制
ci int cellid(电信对应bid),十进制
coord string 坐标类型(wgs84/gcj02/bd09),默认wgs84
output string 返回格式(csv/json/xml),默认csv

返回数据格式:CSV

errcode,纬度,经度,精度半径,地址

errcode

0: 成功

10000: 参数错误

10001: 无查询结果

参考 :

http://www.freebuf.com/geek/180198.html

声明:

本文仅用于技术讨论与分享,严禁用于任何非法用途。

相关阅读

手机迅雷体验,我提了这几个意见

1、体验信息产品名称:手机迅雷体验人:xxt产品版本:5.12体验设备:iphone 5s硬件环境:IOS 9.2.1产品Slogan手机迅雷,不仅仅是下载2、需求

羊毛党大揭秘:一亿手机黑卡日入10万,半年撸垮上市公司

羊毛党还在往家里撸牙膏方便吗?图样……他们已经撸了一家上市公司。说到羊毛党,人们的印象里还是在每天在淘宝京东找优惠券,没事就往

为什么你在网购时喜欢使用手机?

手机对零售行业的深刻影响如今已不言而喻。在PC时代,海量商品的呈现方式一般都是“大而全”,而在移动购物时代就有所不同了。因为移

手机快播还能看片吗?

很多人说手机快播不能用了。但我发现还是可以用的,,,我来揭露快播的特殊功能,快播不为人知的一面1、下载快播app2、安装好后。。。看

在XP系统上安装MTP驱动,以连接MTP方式接入的手机设备

  手头有个几年前买的一个老的笔记本,配置较低,所以一直使用的是XP系统,没有升级到win7。最近因为华为手机存储不足,需要清理手机的

分享到:

栏目导航

推荐阅读

热门阅读