У мене є таблиця 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.