【发布时间】:2012-05-16 20:08:15
【问题描述】:
首先,我不是以英语为母语的人,这是一个很难解释的问题。如果您有任何疑问,请告诉我。
我们正在使用 GPS 车辆跟踪设备,该设备经过编程,在不移动时每 5 分钟发送一次车辆位置并将其存储在数据库中,在移动时每 100 米发送一次。
该数据库有一个名为“vehicle_gps”的表,用于存储数据,包括速度、位置、日期时间、vehicle_gps_id 等值。
我需要某种查询来显示车辆停止超过一定时间的不同位置(例如 2 分钟,丢弃红绿灯)。
例如,我需要一些可以告诉我以下信息的内容: "车辆在 8:00 位于 Positon1 (P1),它离开 P1 前往 P2,于 8.20 到达。车辆在 P2 停留到 10.20,并在 10.50 到达 P3"
表中的记录示例
vehicle_gps_id | datetime---------- | latitude | longitude | speed
1000------------| 05/16/2012 08:00:00|50.0000 |50.00000 |40 (km/h)
1001------------| 05/16/2012 08:01:00|51.0000 |51.00000 |38 (km/h)
1002------------| 05/16/2012 08:01:23|51.0045 |50.000054 |40 (km/h)
1003------------| 05/16/2012 08:01:40|51.00540 |51.0005430 |39 (km/h)
.
.
.
1040------------| 05/16/2012 08:20:40|53.00540 |53.0005430 |0 (km/h)
1041------------| 05/16/2012 08:25:40|53.00540 |53.0005430 |0 (km/h)
1042------------| 05/16/2012 08:30:40|53.00540 |53.0005430 |0 (km/h)
.
.
.
1060------------| 05/16/2012 10:20:40|53.00540|53.0005430|20 (km/h)
我该怎么做?
到目前为止,我能够获得固定位置之间的分钟差异,因此,我想要一个循环来检查位置之间的所有日期,并在差异超过 5 分钟时中断,这意味着车辆已经停止了。
TIA
【问题讨论】:
标签: sql-server-2008 loops datediff