存储位置跟踪数据

7
我正在处理一个需要存储GPS设备位置历史记录的项目。该应用程序必须保存并最终显示GPS设备活动时的跟踪路线。
我的主要问题是如何保存所有这些数据。拥有多个设备并在时间内保存它们的所有位置似乎是一个困难的任务。
我应该如何存储和检索位置信息?将所有这些内容存储在数据库中似乎不太合理。我将非常感谢任何帮助。
提前致谢。

我建议您从在此页面顶部的搜索框中输入“[database] gps”开始。 - Mike Sherrill 'Cat Recall'
4
为什么不把所有这些数据存储在数据库中?数据库可以扩展以容纳大量数据。您可以将纬度和经度跟踪为浮点数。预计会有多少设备? - Tim
搜索很棒。有很多有价值的资源。谢谢。 @Tim 更重要的是,我不能定期清除数据库中的数据以减轻负载。 我必须无限期地保留所有保存的位置。 此外,我想知道是否有其他存储浮点数的替代方法。 - AliAkbo
此外,聚合数据具有价值。 - Tim
我有同样的问题。我也在处理实时位置数据。但问题是,如果我们每10秒存储一次经纬度,那么表格将填满数百万条记录。随着用户数量的增加,它变得非常沉重。是否有任何解决方案? - Dasun_96
4个回答

5
只有当位置与上一次测量不同时,才存储位置是有意义的。毕竟GPS设备并不总是在移动。
你还需要考虑以下问题:
- 我要存储这些数据多久?是否可以回收数据点? - 如果我仅存储更改,应该存储增量(不建议)还是实际位置? - 如何在尽可能少的空间中存储位置,同时仍能有效地计算行进路径(如有必要),绘制地图等。
基本上,您必须在将所有内容放入一个盒子之前查看此数据将用于的所有要求...

2
您是否有创建此路由数据报告的要求?如果是,则需要持久化数据。
我可以想到几个保存这些数据的选项。
  1. 使用Ms. Enterprise Library的缓存块
  2. NoSQL数据库
在这里使用像db40. Key/Value Storage这样的NoSQL数据库更为适合。
  1. 轻量级数据库。 SQLiteGoogle's LevelDB.
频率-最初,我将选择每半英里存储一次此数据。即计算第一个记录位置到第二个位置之间的距离。

是的,我需要创建多个报告,例如速度控制和限制、移动和停止时间、检查到特定位置的距离等。 谢谢,我会研究这些技术。 - AliAkbo

1
非常重要的是了解需求!
一般来说,将数据存储在数据库中对我来说听起来很不错。无论是关系型数据库还是非关系型数据库,哪种更好的解决方案取决于您的需求。
数据库被设计用于存储和检索数百万条记录。也许您能够在数据库中使用分区。如果您能够按时间分区您的数据,那么旧数据就不会影响到具有实际数据的分区操作。

0

我认为DynamoDB可以胜任。它是亚马逊的一项服务,主要用于大量读写操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接