2016-09-08 2 views
0

У меня есть несколько растров на разных таблицах, разделенных временем. Как, таблица 1 представляет растры с 2016-09-21, таблица 2 представляет растры с 2016-09-22 и т. Д. Я хотел бы агрегировать информацию об этих растровках в течение 1 недели.Растровое агрегирование на PostGIS

Я мог бы получить значение из каждой группы с помощью ST_Value, использовать функцию avg, а затем создать новый растровый файл с информацией agg на нем, но это будет очень много работы.

Есть ли лучший способ сделать это?

ответ

0

Вы должны изучить ST_MapAlgebra для своих целей. Вам понадобится вариант, с которым я связан, поскольку он может принимать n растров в качестве аргументов. Он также принимает функцию обратного вызова, поэтому вы не вручную получаете значения для каждого диапазона.

К сожалению, для этого не существует предопределенной функции обратного вызова. Тем не менее, вы можете написать свой собственный. Я рекомендую вам взглянуть на this blog post from George McKerron для более полезного примера работы.

Если вы хотите более подробный пример, у меня есть written about it в моем блоге.

+1

Благодарим вас за следующее [Продвижение] (https://stackoverflow.com/help/promotion) и давая понять, что это ваш блог! Я немного неясен в вашем втором предложении, хотя - какая ссылка? Основываясь на истории сообщений, я бы предположил [это] (http://postgis.net/docs/manual-2.1/RT_ST_MapAlgebra.html); не могли бы вы добавить его обратно к своему ответу? Если это все еще актуально. –

+0

Да, извините. У меня недостаточно ответов на SO, чтобы добавить более двух ссылок, и я решил, что учебники будут более полезными, чем документы. Если сможешь, не так ли? Это была действительно связь. – nronnei

+0

О, я даже не заметил! Я отредактировал его для вас. Кроме того, вам не нужно добавлять такие вещи, как «Обновлено» или «ИЗМЕНИТЬ»; если люди захотят узнать, они могут проверить историю изменений (прямо сейчас это синяя ссылка поверх моего профиля, которая говорит «отредактирована сейчас», но текст этой ссылки будет меняться в зависимости от того, что вы на нее смотрите - это может быть отредактировано 8 минут назад ", например, если было 8 минут) –

Смежные вопросы