我有一个带有 gps-observations 的 postgis 数据库(postgres 8.4.11,postgis 1.5.2),我想在其中计算一些旅行距离。
我从 gpspoint p1, gpspoint p2 where p2.datetime=p1.datetime+interval '1 hour' 中选择 observedid,ST_Distance(p1.shape_utm,p2.shape_utm) 计算从一个点到另一个点的行进距离
(当然还有更多,但这是其中的距离部分)我已将其定义为视图,以便我可以轻松地执行 select * from motion_view whereobservedid=42
问题1:是否可以制作视图以便我也可以定义时间间隔?
例如 select * form motion_view whereobservedid=42 and interval='15 minutes' ?
问题2:SQL/postgis中是否可以计算一段时间内的总行驶距离?我每 5 秒有一个 gpspoint,并且想计算每个 gps 点后 1 小时的行驶距离。我可以使用与上述相同的方法计算每个点的行进距离,然后我可以使用 sum() 函数,但是如何?
表定义:id integer、
gpsstatus character(2)、
datetime timestamp without time zone、
lat numeric(9,6)、
lon numeric(9,6)、
alt numeric(9,4)、
time integer、
datafileid integer、
shape geometry ,
speed 双精度,
dist 双精度,
shape_utm 几何,
lokalitet character(128),
covid integer
Id:主键 datetime、lokalitet、cowid、gpsstatus 上有索引,shape 和 shape_utm 上有 gist-index。