@Devolobnya

Как рассчитать расстояние в select array?

Здравствуйте.
Есть таблица с треком

CREATE TABLE positions
 (
id INTEGER GENERATED BY DEFAULT AS IDENTITY,
date_add TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT NOW(),
latitude DOUBLE PRECISION NOT NULL,
longitude DOUBLE PRECISION NOT NULL,
current_point_n geometry
);
current_point_n=st_geometryfromtext('POINT('|| latitude ||' '|| longitude ||')',4326);


Пробовал выполнить
SELECT ST_Distance( ARRAY( SELECT current_point_n FROM positions ORDER BY id) );

но получаю ошибку
функция st_distance(geometry[]) не существует


Если пробовать выстроить linestring и рассчитать длину линии
SELECT st_Length(ST_MakeLine
( ARRAY( SELECT current_point_n FROM positions ORDER BY id) ));

То получаю неправильный результат.
Как можно правильно рассчитать сумму расстояний между точками в select?
Спасибо.
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы