У меня есть база данных PostGIS с таблицей, содержащей растры, и я хочу извлечь значения пикселей вдоль полилинии (произвольное количество координатных точек) в определенное время.Итак, цель такова:
- Выберите соответствующие плитки с заданной полилинией и отметкой времени
- Верните значения всех пикселей, которые пересекаются полилинией
Таким образом, каждая выходная строка будет содержать пару координат и соответствующее значение пикселя.
Из того, что я до сих пор гуглил, я понимаю, что либо
- преобразую строку врастр, а затем выполнить пересечение или
- преобразовать растр в векторную вещь, а затем выполнить пересечение
Однако я не могу применить несколько примеров, найденных мной, к моемудело.Может кто-нибудь дать подсказку?
Растровая таблица называется air_temperature
, а соответствующие столбцы - rast
и timestamp
.Я узнал, что могу предоставить правильную геометрию, как, например, "st_transform(st_setsrid(st_geomfromtext('MULTILINESTRING ((7.294832 52.697831, 7.294074 52.698534))'), 4326), 3857)"
.
. Я думаю, что могу выбрать соответствующие тайлы и метки времени, включив выражение where следующим образом:
where st_intersects(st_transform(st_setsrid(st_geomfromtext('MULTILINESTRING ((7.294832 52.697831, 7.294074 52.698534))'), 4326), 3857), rast) and timestamp='2017-01-01 01:00:00'
Но как выглядит деталь select
?