Итерация по типу пути внутри оператора WHERE - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть таблица, определенная следующим образом

CREATE TABLE public.geometry_polyline_volume (
    id          serial not null primary key,
    distance    float not null,
    height      float not null,
    coordinates path not null );

Есть ли способ перебрать координаты , чтобы отфильтровать некоторые конкретные c точки внутри координат ? Примерно так:

INSERT INTO rf.geometry_polyline_volume(id, distance, height, coordinates)
VALUES (1, 200, 600, path('(15.878137629895164,47.08306448089695), (14.56169808311181,47.219041634920686), (14.267442604782124,47.4201665137259), (14.092631384557304,47.71366328136526), (14.234428926980286,47.95865145177352)'));

INSERT INTO rf.geometry_polyline_volume(id, distance, height, coordinates)
VALUES (2, 200, 600, path('(15.878137629895164,47.08306448089695), (15.56169808311181,47.219041634920686), (15.267442604782124,47.4201665137259), (15.092631384557304,47.71366328136526), (15.234428926980286,47.95865145177352)'));

SELECT id 
    FROM public.geometry_polyline_volume 
    WHERE FOR coord in coordinates DO coord[0] > 15 END;

Чтобы вернуть строку с id = 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...