【发布时间】:2014-04-11 08:06:57
【问题描述】:
我有一个具有以下数据格式的 SQLite 数据库
...
2014-02-17T11:06:22.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:06:23.000-05:00 , Vehicle1, 40.803433, -73.945087
2014-02-17T11:06:17.000-05:00 , Vehicle2, 40.798135, -73.946201
2014-02-17T11:10:10.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:10:07.000-05:00 , Vehicle1, 40.802197, -73.945343
2014-02-17T11:09:59.000-05:00 , Vehicle2, 40.804895, -73.941317
2014-02-17T11:13:27.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:13:17.000-05:00 , Vehicle1, 40.794255, -73.951131
2014-02-17T11:13:09.000-05:00 , Vehicle2, 40.810051, -73.937497
2014-02-17T11:15:37.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:15:26.000-05:00 , Vehicle1, 40.789557, -73.954558
2014-02-17T11:15:49.000-05:00 , Vehicle2, 40.813135, -73.937353
2014-02-17T11:18:49.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:19:08.000-05:00 , Vehicle1, 40.782017, -73.960065
2014-02-17T11:19:00.000-05:00 , Vehicle2, 40.817062, -73.938585
2014-02-17T11:22:37.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:22:20.000-05:00 , Vehicle1, 40.778014, -73.962983
2014-02-17T11:22:44.000-05:00 , Vehicle2, 40.822828, -73.937887
2014-02-17T11:25:50.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:26:03.000-05:00 , Vehicle1, 40.774126, -73.965815
2014-02-17T11:28:33.000-05:00 , Vehicle3, 40.820890, -73.935900
2014-02-17T11:28:09.000-05:00 , Vehicle1, 40.770644, -73.968356
...
第一列是日期/时间, 第二个是车辆ID, 第三和第四是纬度和经度。
车辆数量不是恒定的,并且全天都在变化。 日期/时间取决于每辆车的实际记录时间。 该数据库包含超过一百万条记录,每 3 分钟采样一次。
我的基本思路是提取一辆车的运行顺序(按车辆分组),对day/time进行排序,计算时间间隔和时间间隔之间的位置(经纬度)的delta作为距离,用距离和时间间隔我能够计算速度。
问题是我不知道如何将方法构建到 SQLite 选择语句中,感谢您提供的任何帮助。
非常感谢!
【问题讨论】:
-
向我们展示您迄今为止的尝试。
-
车辆在路上吗?还是他们直线行驶?如果它们不是直线行驶,您就没有希望计算它们的速度。
-
@MarkSetchell 我应该提到(刚刚编辑并添加到帖子中)采样率为每 3 分钟一次,因此我们能够假设车辆在 3 分钟间隔内直线运动。理论上车辆应该以完美的 3 分钟间隔提供日期/时间,但由于物理系统中的许多原因,记录的日期/时间与 3 分钟采样间隔存在一些差异。
-
我们能否为至少一辆车多提供至少 3-4 行数据?
-
@MarkSetchell 是的,当然,我刚刚在问题中更新了更多数据。您可以参考最新更新的问题。感谢您的跟进!