สวัสดี
หากตารางดั้งเดิมของคุณเรียกว่า gps_p เขตเวลาประทับของคุณจะเรียกว่า ts และคะแนนนั้นเรียกว่า th_geom:
SELECT (geom).geom, ts1 + (((geom).path[1]-1) ||' seconds')::interval FROM
(SELECT ts1, ST_DumpPoints(ST_Segmentize(geom, ST_Length(geom)/5)) as geom FROM
(SELECT ts1, ST_LineFromMultipoint(ST_Union(geom1, geom2)) as geom FROM
(SELECT p1.ts as ts1, p2.ts as ts2, p1.the_geom as geom1, p2.the_geom as geom2
FROM gps_p p1 INNER JOIN gps_p p2 on p1.ts + '00:00:05'::interval = p2.ts
) a
)b
) c
WHERE (geom).path[1] <= 5;
มันทำอะไรคือมันสร้างเส้นแบ่งระหว่างจุดและใช้ st_segmentize เพื่อแบ่งเส้นใน 5 ส่วน
หากไม่ตรงกับจุดเดิมของคุณ 5 วินาทีมันจะไม่ทำงาน จากนั้นคุณสามารถเพิ่มเขตข้อมูล id ด้วยลำดับและใช้สิ่งนั้นเพื่อเข้าร่วมตารางด้วย id1 + 1 = id2 แทน
HTH
/ Nicklas