如何过滤postgres中的点?

问题描述

我在Postgres中有一个带有点的表。这些点来自飞行路径。我需要过滤掉一些要点。

enter image description here

我的问题是,仅当平行线之间的距离不超过20m时,才可以选择仅在直线上的点,然后从选定的点绘制一条线。转折点应忽略。

enter image description here

到目前为止,我要做的是选择一行中的点

WITH routes as (
SELECT
geom,heading-lag(heading) over (order by time) AS direction 
FROM mytable 
)
SELECT direction,geom 
FROM routes WHERE direction between -10 AND 10;

查询中,我根据航向计算了方向,并选择了航向略有不同的点。 但是,我不知道如何继续。

编辑

链接到提琴手数据表http://sqlfiddle.com/#!17/3262c/9/0

通过上面的查询,我可以过滤用红线标记的点。如何将这些点添加到像line1 = ...这样的变量中 line2 = ... line3 = ... line4 = ...和line5 = ...? 谢谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)