GSM Cell Towers位置&三角剖分算法(类似于OpenCellID / Skyhook / Google的MyLocation)

时间:2010-12-23 19:39:39

标签: c# algorithm sql-server-2008 geolocation gsm

假设我有一个Cell Tower的指纹数据库。 数据(包括Long。& Lat.CellID,信号强度等)是通过'wardriving'实现的,类似于OpenCellID.org。

我希望能够获得没有GPS的客户端手机的位置(类似于OpenCellID / Skyhook Wireless / Google的“MyLocation”),它会向我发送目前“看到”的Cell塔的信息:连接的Cell塔和另外6个相邻的蜂窝塔(假设是GSM)。

我已经阅读并使用Google搜索了很长时间,并且遇到了一些有效的理论,例如使用SQL 2008 Spatial功能,或使用欧几里德算法或马尔可夫模型。

但是,我缺乏实用的解决方案,最好是在C#中或使用SQL 2008:)

位置计算将在服务器上完成,而不是在客户端手机上完成。这部手机的唯一工作就是通过HTTP / GPRS,它连接的塔和其他相邻的手机信号塔发送。

任何意见都值得赞赏,我已经阅读了很多,到目前为止还没有真正进步。

感谢名单

2 个答案:

答案 0 :(得分:2)

为什么不根据单元格位置和信号强度进行简单的三角测量计算?

答案 1 :(得分:0)

您不能进行三角测量,因为手机只会扫描来自两个基站而不是三个基站的信号。此外,我不知道是否有可能以某种方式访问​​两个站的数据,因为您必须处理低级GSM / 3G协议。

通过使用较新手机SDK(Java,Android,iPhone,Symbian ...)的AT命令或功能,您可以检索有关cell id,lac,mnc,mcc,信号强度和时间提前的信息。

通过检查定时提前,您可以确定您离开基站的距离,因为信号以光速传播,但您无法确定准确的位置,只需计算“可能位置的圆圈”近似半径(近似是因为信号一般不直接传播 - 信号可以从附近的物体反射)。

如果您正在使用.NET here,则可以从cellID和手机上可访问的其他数据中检索基站位置。希望它有所帮助。