Как отфильтровать точки в postgres?
У меня есть таблица с очками в Postgres. Очки взяты с траектории полета. Мне нужно отфильтровать некоторые моменты. .
Мой вопрос был бы в том, как я могу выбрать только точки, которые находятся на одной линии, а затем построить линию из выбранных точек, только если параллельные линии находятся на расстоянии не более 20 м между линиями. Поворотные моменты следует игнорировать.
Что я сделал до сих пор, так это выбирать точки, которые находятся в одной строке
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/
С помощью моего запроса сверху я могу отфильтровать точки, отмеченные красными линиями. Как я могу добавить эти точки в такие переменные, как line1=... line2=... line3=... line4=... и line5=...? Спасибо за любую помощь.