1

假设我有一个手机信号塔的指纹数据库。数据(包括 Long. & Lat. CellID、信号强度等)是通过类似于 OpenCellID.org 的 'wardriving' 获得的。

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

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

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

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

感谢任何输入,我已经阅读了这么多,到目前为止还没有真正进步太多。

谢谢

4

2 回答 2

2

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

于 2011-01-03T09:48:47.090 回答
0

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

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

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

如果您正在使用 .NET ,这里有一个示例,用于从手机 ID 和其他可在手机上访问的数据中检索基站位置。希望能帮助到你。

于 2011-05-19T07:55:25.757 回答