【发布时间】:2013-02-08 04:33:46
【问题描述】:
我正在开发一款移动应用程序,该应用程序会定期跟踪用户的位置,以便让他在地图上绘制旅程路径。我们想添加一个可选功能,该功能将告诉他该应用程序的其他用户在他所查看的时间范围内进行了类似的旅程,无论是今天的通勤时间还是旅行的最后一个月。我们将其称为“路径匹配”。
数据目前以二进制格式记录到 iOS 和 Android 上应用程序的私有存储目录中的文件中,该二进制格式可以轻松快速地扫描以读取位置。每个文件包含一天的位置,一般运行到 80KB 左右。
为了能够实现路径匹配功能,我们显然需要开始将这些位置日志上传到我们正在运行 PHP 的服务器(当然需要用户许可)。有人建议 MongoDB 的地理空间能力 - 但我有几个问题也许人们可以帮助我:
似乎我们可以将位置记录更改为使用 BSON。第一个字段是设备或用户 ID,然后是特定日期的位置列表。然后可以将该文件上传到我们的服务器并推送到 MongoDB 存储中。然而,在线文档似乎只涉及导入由 mongodump 创建的 BSON 文件。格式是否足够稳定,任何应用程序都可以编写 MongoDB 直接读取的 BSON 文件?
MongoDB 是否能够对包含多个位置的文档或在跨多个文档形成路径的位置运行地理空间查询?或者这会让您觉得这需要在数据库之外的 PHP 端进行过多的逻辑?
【问题讨论】:
-
问题解决了吗?我有一个类似的问题,我需要通过给出一组点来找到匹配的路径。但是通过使用带有 LineString 的 $geoIntersects 我什么也没得到。
标签: mongodb geospatial bson