У меня есть таблица PostGIS с данными о положении многих транспортных средств, и я хочу создать линии из этих точек.
Данные могут быть выбраны по идентификатору транспортного средства и упорядочены по отметке времени, но как создать строки из результата?
Что мне в основном нужно, так это один отрезок линии от точки 1 до точки 2, завершить линию, а затем снова из точки 2 в точку 3. Конечно, все это рассматривается с учетом идентификатора транспортного средства.
Последний нужен, потому что я хочу рассчитать круизное направление и скорость транспортного средства от одной точки к другой.
SELECT ais_data.mmsi, ST_MakeLine(ais_data.geom) AS newgeom INTO ais_lines FROM (SELECT * FROM ais_data ORDER BY ais_data.mmsi, ais_data.bs_ts ASC) AS ais_data GROUP BY ais_data.mmsi;
это даст мне трек каждого транспортного средства, и это не совсем то, что мне нужно. Как заставить ST_MakeLine () создать линию от точки 1 до точки 2, завершить линию и начать новую от точки 2 до точки 3 ...?
ORDER BY ais_data.bs_ts
- возможно ли это? Таким образом, точка 1, точка 2 и т. Д. - это, в основном, информация о точке, приведенная в каждой строке как результат оператора Select.