私はいくつかの移動距離を計算したいgps-observationsを備えたpostgisデータベース(postgres 8.4.11、postgis 1.5.2)を持っています。
gpspoint p1、gpspoint p2からselectobservedid、ST_Distance(p1.shape_utm、p2.shape_utm)を使用して、ある地点から別の地点までの移動距離を計算します。ここで、p2.datetime = p1.datetime +interval'1時間'
(もちろんもう少しですが、これは距離の部分です)これをビューとして定義したので、observedid=42のmovement_viewから*を簡単に選択できます。
質問1:時間間隔も定義できるようにビューを作成することは可能ですか?
例:select * form motion_view whereobservedid = 42 andinterval = '15minutes'?
質問2:SQL / postgisで一定期間の総移動距離を計算することは可能ですか?私は5秒ごとにgpspointを持っており、各gps-pointに続く1時間などの移動距離を計算したいと思います。上記と同じ方法で各ポイントの移動距離を計算できます。その後、sum()関数を使用できる可能性がありますが、どうすればよいでしょうか。
テーブル定義:id整数、
gpsstatus文字(2)、
タイムゾーンなしの日時タイムスタンプ、
lat数値(9,6)、
lon数値(9,6)、
alt数値(9,4)、
時間整数、
datafileid整数、
形状ジオメトリ、
速度倍精度、
dist倍精度、
shape_utmジオメトリ、
lokalitet文字(128)、
cowid整数
Id:主キーdatetime、lokalitet、cowid、gpsstatus、gist-indexにはshapeとshape_utmのインデックスがあります。