首页 > 解决方案 > 如何过滤postgres中的点?

问题描述

我在 Postgres 中有一个带有点的表格。这些点来自飞行路径。我需要过滤掉一些点。 在此处输入图像描述.

我的问题是如何仅选择在线的点,然后仅当平行线之间的距离不超过 20m 时才从选定的点制作一条线。转折点应该被忽略。 在此处输入图像描述

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

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=... 等变量中添加这些点?感谢您的任何帮助。

标签: postgresqlfilterpointsgeom

解决方案


推荐阅读