我的城市周围出租车的位置数据来自:Microsoft Research
总体而言,它有大约 1700 万个数据点。
我已将数据转换为 JSON 并填充了 mongo。示例如下所示:
{'lat': 39.84349, 'timestamp': '2008-02-08 17:38:10', 'lon': 116.33986, 'ID': 1131}
{'lat': 39.84441, 'timestamp': '2008-02-08 17:38:15', 'lon': 116.33995, 'ID': 1131}
{'lat': 39.8453, 'timestamp': '2008-02-08 17:38:20', 'lon': 116.34004, 'ID': 1131}
{'lat': 39.84615, 'timestamp': '2008-02-08 17:38:25', 'lon': 116.34012, 'ID': 1131}
{'lat': 39.84705, 'timestamp': '2008-02-08 17:38:30', 'lon': 116.34022, 'ID': 1131}
`{'lat': 39.84891, 'timestamp': '2008-02-08 17:38:40', 'lon': 116.34039, 'ID': 1131}
{'lat': 39.85083, 'timestamp': '2008-02-08 17:38:50', 'lon': 116.3406, 'ID': 1131}
它由一个taxiID - ID 字段、其经纬度组合的时间戳组成。
我的问题是:我想用这些数据来计算预计到达时间(ETA)
到目前为止,我是通过聚合查询 mongoDB 来做的。这是完全低效的。
我正在研究某种可以使用历史数据来训练它的学习算法。最后,给定两点,算法应该通过参考历史数据遍历可能的路线并给出时间估计。如果我得到点之间的 JSON 文档数组,那么计算时间估计根本不是问题。但是,获得那些正确的数组是。
朝这个方向的任何指示都会非常有帮助。