4

在没有 GPS 的情况下获取位置(纬度/经度),就像我在 Google 地图中的位置功能一样。我的手机中有谷歌地图(没有 GPS 的索尼爱立信 G502)。在印度没有 GPS 也能正常工作。

1.谷歌如何找到我的职位?
2.当我在opencellid数据库中搜索cellid时,印度的记录数较少。但谷歌地图在我的手机(印度)中运行良好
3.谷歌是使用 opencellid 数据库还是它自己的数据库?如果谷歌使用它自己的,我们是否可以访问它的数据库
4.印度有任何商业细胞数据库吗?

4

4 回答 4

2

答案是蜂窝电话使用各种定位方法,大多数是作为E-911(增强型 911)或其他国家的等效紧急服务(例如英国的 999)或此后引入的。

我不知道 GSM 或 CDMA 本身是否有超出 E-911 等要求的任何本地化协议或标准。所以我怀疑是否有适用于所有手机的通用 API。

手机本地化通过以下方式完成:

  • 普通GPS
  • 辅助GPS
  • 蜂窝三角测量/多点测量
  • 小区(塔)识别(FCC/etc. 蜂窝塔数据库查找)
  • 增强细胞识别 (E-911)
  • 上行链路到达时间差 (U-TDOA)
  • 到达时间 (TOA)
  • 到达角 (AOA)
  • E-OTD(增强观察时差)
  • 和/或这些技术和方法的混合体。

(来源:维基百科/Mobile_phone_tracking

这些方法的准确度和精度从约 35 公里(22 英里)到约 5-10 米(16-32 英尺)或更好。

3.Google是用opencellid数据库还是自己的?

似乎他们有自己数据库,但没有公开记录的 API。

4.印度有商业cellid数据库吗?

我不知道。

于 2010-05-06T21:16:28.340 回答
1

Skyhook提供了一个 API,用于基于 Cell ID、Wifi 接入点和 GPS(如果可用)来定位设备。iPhone OS 使用它来提供其 CoreLocation 功能。

他们有可用于大多数移动和桌面操作系统的 SDK。这非常好,但是您必须与他们讨论许可问题。

于 2010-05-04T10:03:13.883 回答
1

正如其他海报所提到的,Skyhook 和谷歌都为 WiFi SSID 和手机信号塔 ID 维护专有的位置信息数据库。我相信 Geomena 正在尝试建立一个开放的定位 ID 数据库,但它还没有专有竞争对手所拥有的覆盖范围。Google 还为 IP 地理定位提供了一个简单的客户端 JavaScript 接口(称为 ClientLocation),这对于某些应用程序可能已经足够准确,并且存在各种各样的 IP 地理定位数据库。

如果您的应用程序是基于 Web 的,您可以利用 W3C 地理定位 API,它抽象出特定的地理定位技术,并为您的网站提供对浏览器选择使用的任何地理定位方法的用户控制访问。在 iPhone 上,Skyhook 的数据库用于通过手机信号塔或 WiFi 或 GPS 定位手机;Firefox 使用 Google 位置服务,该服务使用 WiFi 三角测量并依靠 IP 地理定位。

如果您希望您的应用程序在具有自己的定位方法的不同平台上工作,如果您希望您的应用程序在只有粗略的地理定位方法可用时优雅地降级,并且您想要当您的客户升级到采用 GPS 技术的设备时,您的应用程序将获得更高精度的优势。

于 2010-05-06T20:55:24.357 回答
1

谷歌几乎可以肯定使用专有数据库。他们承认:

这包括分析您周围的 Wi-Fi 接入点和您计算机的 IP 地址,并将此信息发送到 Google 服务器,然后将其转换为我们可以在地图上显示的位置。

http://maps.google.com/support/bin/answer.py?hl=en&answer=153807

众所周知,谷歌街景汽车会收集有关可用于此类数据库的无线接入点的数据。

于 2010-04-25T19:00:31.787 回答