Как отфильтровать точки в 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=...? Спасибо за любую помощь.

0 ответов

Другие вопросы по тегам