0

我开发了一个安卓应用程序来保存跑步者的赛道。因为它是一个正在运行的应用程序,所以我需要每 10 秒报告一次位置。这意味着每 10 秒将 lang lat 保存为设备上的 sqlite 和使用 webservice 调用的 web 服务器上的本地副本。

该应用程序的目的是显示每个特定时间的确切位置和人的速度。

我和我的朋友安装了该应用程序 3 周,几乎每天都使用它几个小时,我的数据库被淹没了大约 6,000,000 条记录 - 每条记录我将无法继续运行它,因为服务器空间将用完。

有没有其他方法可以保存位置或任何其他架构或算法,让我知道人在赛道任何点的确切位置和他的速度?

4

2 回答 2

0

有多种方法可以减少跟踪日志的空间需求。基本上,您可以将附近的位置聚集和过滤到一个点,并且如果记录器保持在同一点进行两次或多次后续读取,您可以在位置记录上增加一个计数器,而不是创建一个新的。

为曲目的开头加上时间戳并跳过其余部分,您可以计算时间信息,因为读取是以固定间隔完成的。

您可以查看以下 pdf 文件以获取更多信息。

[http://www.activelivingresearch.org/files/DataReduction_GPS_Workshop.pdf]

于 2012-10-12T18:51:01.557 回答
0

您不应该只有:3(周)* 7(天)* 3(小时)* 60(分钟)* 6(10 秒间隔)= 22680 条记录吗?

一种方法可能是将运行数据存储为字符串,并在每次“运行”(或每小时或 n 分钟)的 db 中存储一条记录

字符串可以格式化为仅存储起始位置和偏移量,例如:“36.234234234,-114.3434434,0.004,0.006,0.002,0.000 ...

于 2012-10-11T00:27:15.843 回答