我终于搞清楚这个问题了,大家使用谷歌地图手机版、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进制来查询的。
 
毕竟这个问题困扰了自己那么久,还时常找接口安慰别人“反正不影响用嘛~”,现如今自己找到了问题的原因,也算是解开了一个心结。
可能有的朋友早就知道了其中的原因,只是我孤陋寡闻了,那实在不好意思,毕竟解答了自己心中的困惑,与还不知道的朋友互相分享一下吧。

我终于搞清楚为什么谷歌地图获取到的联通3G基站与大家手头的基站表不同了的更多相关文章

  1. 用html5调取谷歌地图获取位置

    function getmap(){ if(!navigator.geolocation) throw "Geolocation not supported"; var image ...

  2. 谷歌地图 API 开发之获取坐标以及街道详情

    自己的项目中有获取当前点击的坐标经纬度或者获取当前街道的信息的需求.估计这个对于新手来说,还是比较麻烦的,因为从官网上找这个也并不是很好找,要找好久的,运气好的可能会一下子找到. 献上自己写的测试案例 ...

  3. 谷歌地图地理解析和反解析geocode.geocoder详解

    地址解析就是将地址(如:贵州省贵阳市)转换为地理坐标(如经度:106.71,纬度:26.57)的过程. 地理反解析和上面的过程相反是将地理坐标(如纬度:26.57,经度:106.71)转换为地址(中国 ...

  4. 基于谷歌地图的Dijkstra算法水路路径规划

    最终效果图如下: 还是图.邻接表,可以模拟出几个对象=>节点.边.路径.三个类分别如下: Node 节点: using System; using System.Collections.Gene ...

  5. 怎样基于谷歌地图的Server缓存公布Image Service服务

    怎样基于谷歌地图的Server缓存公布Image Service服务 第一步:下载地图数据 下载安装水经注万能地图下载器,启动时仅仅选择电子.谷歌(这里能够依据自己的须要选择).例如以下图所看到的. ...

  6. 在AngularJS中使用谷歌地图把当前位置显示出来

    如何使用谷歌地图把当前位置显示出来呢? --在html5中,为我们提供了navigator.geolocation.getCurrentPosition(f1, f2)函数,f1是定位成功调用的函数, ...

  7. 【Javascript Demo】谷歌地图简单实现(附遮罩层和弹出层实现)

    虽然百度地图实现了,但只是国内的,而且前几天貌似还出问题了,对于国际的只能用谷歌地图了,所以就简单研究了下,做了个差不多的. 基本步骤,谷歌地图API文档其实写的很清楚了,先获取API密钥,然后引用j ...

  8. 谷歌地图地理解析和反解析geocode.geocoder详解(转)

    谷歌地图地理解析和反解析geocode.geocoder详解 谷歌Geocoder服务 实例代码 地址解析就是将地址(如:贵州省贵阳市)转换为地理坐标(如经度:106.71,纬度:26.57)的过程. ...

  9. 终于搞定在VS2010中将CString转换为const char*

    最近碰到了CString 转 const char *的问题. 以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以 ...

随机推荐

  1. 做个这样的APP要多久?[转]

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  2. SQL Server去掉字段内的双引号

    今天在客户处遇到一个问题,用powershell抓取出的数据插入SQL中后每个字段都会自动带双引号“”如下: 现在想将此双引号去掉,用下面语句即可: insert into #A select SUB ...

  3. python中的浅拷贝与赋值不同

    Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deep ...

  4. windows防火墙命令详解

    Old command 针对win7以下版本<包含win7> Example 1: 启用一个程序 Old command New command netsh firewall add al ...

  5. 004_kafka_安装运行

    1.下载和安装 目前kafka的稳定版本为0.10.0.0 下载地址:http://kafka.apache.org/downloads.html 下载后解压缩安装包到系统即可完成安装 > ta ...

  6. ABAP字符串翻转

    就这个函数STRING_REVERSE 略显蛋疼,好搞那么复杂.... 简单的转换嘛: FUNCTION ZSTRING_REVERSE. *"----------------------- ...

  7. 交换机的端口状态是UP,但是查询该端口下的MAC地址为空

    (电脑已关机)电脑与交换机直连的端口状态 还是 UP ,但是 查询该端口下的 MAC地址为空. 初步怀疑原因: Wake-on-LAN(电脑关机,网卡还在工作) Wake-On-LAN简称WOL,是一 ...

  8. mssqlserver 分日志(日志文件过大)

    ALTER DATABASE HexStudyDB3Reader SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE HexStudyDB3Reader S ...

  9. JQuery Cross Domain

    frontend: first :add $.support.cors=true; in front of the Ajax code. seconde: add the crossDomain:tr ...

  10. C# 顺序高斯(Gauss)消去法计算一元多次方程组

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...