我
终于搞清楚这个问题了,大家使用谷歌地图手机版、MobileTrack以及网优用的FieldTest获取到的WCDMA基站Cellid为什么不是大
家手头的CellTrack91或基站表里的数字了。。。这个问题说起来非常的囧,以前我就知道有这个问题,但我从来没有深究过,因为反正不影响我使用
嘛。但昨晚睡觉前躺在床上无聊,打开FieldTest研究白天附近基站掉线问题,突然发现了WCDMA基站Cellid的编号规则…………
以前2G时,大家用基站软件,获取到的LAC和CELL都是16进制的4位编号,比如我这里联通2G基站是:
LAC:1E8C
CELL:335F
他们换算过来就是LAC=7820,CELL=13511,很多基站软件会自动换算成10进制展现给大家。
OK,用这个参数去Google查询,就可以得到返回的经纬度了。
然而到了WCDMA基站下,很多人从基站软件,比如CellTrack91(中文翻译叫“基站定位”或“基站信息”)上获取到的基站号是如下这样:
LAC:DC10
CELL:2A2C
换算过来LAC=56336,CELL=10796。问题就来了,用这个CELL和LAC根本无法从Google查询到任何经纬度数据,但通过
FieldTest或谷歌地图以及MobileTrack可以获取到另一组WCDMA的LAC和CELL,他们分别
是:LAC=56336,CELL=190130732。用这组数据去查,就可以直接查到经纬度数据了!
但,这究竟是为什么?!
在昨晚之前,这个问题一直就困扰着我,但因为平时不影响我找到我需要的基站,所以我并不深究这个问题,直到昨晚把CellTrack91得到的
WCDMA基站16进制代码和FieldTest得到的基站16进制代码放到一起时……眶!!!原来就这么简单!!大家还是不明白吗?呵呵……我来复现我
昨晚看到的现象……
CellTrack91得到的WCDMA基站:
LAC=DC10
CELL=2A2C
FieldTest得到的WCDMA基站:
LAC=DC10
CELL=B552A2C
……还是没看明白?再看看啊!
对!FieldTest获得的WCDMA基站是7位16进制代码!包括谷歌地图,MobileTrack在内的基站软件,在WCDMA网络下,都是去获取完整的7位16进制代码,
然后转换为10进制给大家看。而我们的运营商工程部的哥们,他们建基站时,不知是图方便,还是另有其他原因,他们只记录最后4位16进制代码!而且很有名
的基站软件CellTrack91和其他一些工具,他们可能是出于2G时代的习惯或其他原因,也只记录4位16进制代码并换算为10进制展现给大家!
于是,就出现了,大家手头的CellTrack91、基站表能一一对应,但基站表和谷歌以及Fieldtest无法对应的情况!因为根本没换算出同一个数字嘛!!~我昨晚发现这个问题时……真是囧的我呦……这么简单的问题……居然这么久才搞明白!!……
通过这个问题,大家应该明白,MobileTrack确实是支持联通WCDMA基站定位的,但大家不能用基站表上的数字来本站查询地理位置,因为那个号码本来就不对。如果要查询WCDMA基站位置,还是要获取完整的7位16进制基站代码,再换算成10进制来查询的。
另外,Ant,不如也改进了客户端……同时显示最后WCDMA基站最后4位16进制代码给有特别需要的人(但这个数据不上传、不记录),让他们能在基站表和MobileTrack上查到自己的位置~?呵呵。
20110701 update
今天拿移动T网的Android手机测试。发现T网手机通过API获取的基站号也偏长,我考虑与WCDMA情况相同。于是验证了一下,果然,移动T网也存在RNCID,比如我这里一个T网基站LAC=DC06,CELL=976F03F。但基站表上和话单上却是F03F,
前面的976,应该就是RNCID了。但这个问题在移动T网上就更麻烦了。因为大家手头的基站表既无法和手头的工模软件相对应,也无法通过添加RNCID
后在Google查得数据,因为Google貌似就没采集过T网基站。。。这样大家拿着基站表或话单,就更难找到基站地址了。。。这就有点麻烦了。
可能有的朋友早就知道了其中的原因,只是我孤陋寡闻了,那实在不好意思,毕竟解答了自己心中的困惑,与还不知道的朋友互相分享一下吧。
联通3G手机上通过api获得的CellID其实是2个部分 RNCID(前两个字节的低12位)+CellID(后两个字节)。
现在的客户端都可以透明的处理WCDMA和GSM基站的差异实现正确定位,我觉得没有必要再在客户端上显示出来。如果确实有这样需求,用户可以把文件导出来自己转换一下。
联通3G手机上通过api获得的CellID其实是2个部分 RNCID(前两个字节的低12位)+CellID(后两个字节)。
现在的客户端都可以透明的处理WCDMA和GSM基站的差
RNCID和CELLID各占两个字节,各16位2进制数,通过这种方式实现了全国CELLID的唯一性,为下步全国漫游切换做好了准备,RNCID是全国统一规划的。
RNCID(Radio Network Controller Identity) 为无线网络控制区识别码,RNC指由一个RNC控制的一个或多个小区所组成的无线覆盖。RNC区与LAI是相互独立的,即RNC区可能跨越LAI的边 界,LAI也可能跨越 RNC 区的边界。LA可以跨RNC区,RA可以跨RNC区。LA和RNC区的匹配情况由拥有该LA的MSC/VLR来处理的;RA和RNC区的匹配情况由拥有该 RA的SGSN 处理的。而LA/RA与CELL(小区)的匹配是在RNC内部定义完成的。
而RNCID仅仅是为了对RNC进行标识。
为什么我的MOTO miletone android 2.1用的5.1.0版的谷歌地图不行呢?
为什么我的MOTO miletone android 2.1用的5.1.0版的谷歌地图不行呢?