Осреднение значений групп (band) в растровом слое

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

Доброго времени суток.

Дано - файл .netCDF со значениями средней ежедневной температуры на протяжении 15 лет.
Один день - одна группа средних температур (band) с координатами и номер дня от 1.01.1995 года.
Задача - получить среднее значение температур за месяц. Т.е. разбить дни на месяц (30-31 день) и осреднить. Т.е. получть подобный же файл, но со значениями в среднем помесячно.
Смотрю в сторону QGIS - но Raster layer statistic предполагает работу только с одной группой (band).
Спасибо
nickleb
Гуру
Сообщения: 969
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: Осреднение значений групп (band) в растровом слое

Сообщение nickleb »

geotranslator писал(а): 25 июн 2020, 15:21Дано - файл .netCDF со значениями средней ежедневной температуры на протяжении 15 лет.
Здравствуйте. Файл в сети есть? Скачать и посмотреть его бы...
Аватара пользователя
antonv
Активный участник
Сообщения: 234
Зарегистрирован: 29 ноя 2016, 10:44
Репутация: 115
Откуда: Санкт-Петербург

Re: Осреднение значений групп (band) в растровом слое

Сообщение antonv »

geotranslator, для подобных операций с файлами netCDF гораздо проще использовать CDO
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Re: Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

nickleb писал(а): 25 июн 2020, 16:49Здравствуйте. Файл в сети есть? Скачать и посмотреть его бы...
да, например https://surfobs.climate.copernicus.eu/d ... chunks.php
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Re: Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

antonv писал(а): 25 июн 2020, 17:41для подобных операций с файлами netCDF гораздо проще использовать CDO
спасибо огромадное, заманчиво, но без GUI тяжеловато будет, но некоторые вещи очень интересны
How to split a file containing many years into single yearly files?
You can do it manually year by year, e.g. to select the years 1960-2100:

cdo -selyear,1960 infile 1960_data.nc
cdo -selyear,1961 infile 1961_data.nc
...
cdo -selyear,2100 infile 2100_data.nc
or more comfortable - do it in one command line

for year in $(seq -w 1961 1 2100); do cdo -f nc -selyear,$year infile ${year}_data.nc ; done
Аватара пользователя
antonv
Активный участник
Сообщения: 234
Зарегистрирован: 29 ноя 2016, 10:44
Репутация: 115
Откуда: Санкт-Петербург

Re: Осреднение значений групп (band) в растровом слое

Сообщение antonv »

geotranslator, а что за продукт, откуда вы его скачивали? Нельзя там же скачать уже готовые среднемесячные данные? У реанализов обычно с разным временным разрешением выкладывают версии.
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Re: Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

antonv писал(а): 25 июн 2020, 19:49а что за продукт, откуда вы его скачивали? Нельзя там же скачать уже готовые среднемесячные данные? У реанализов обычно с разным временным разрешением выкладывают версии.
продублирую ссылку https://surfobs.climate.copernicus.eu/d ... chunks.php
Ежемесячные там только за 19ый и 20 года, насколько я правильно понял. Остальные хотелки только по предварительному заказу (насколько я понял англ текст :) )
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Re: Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

есть вариант проги Netcdf-Extractor-V2.0 вытаскивать вручную помесячно, но это нужно создавать например 12х12 (в моем случае интересует история 12 лет) файлов и не запутатся в расчете дней по месяцам (потому как отсчет относительный), эта прога и осредняет уже за определенный интервал времени. Окромя того -следующая задача - вырезать из слоя определенный район и осреднить один слой для него. Но решение этой задачи я нашел в Qgis
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Re: Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

да, пока что CDO очень полезная прога, но нужно аккуратно разбираться с форматами командной строки
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Осреднение значений групп (band) в растровом слое

Сообщение gamm »

antonv писал(а): 25 июн 2020, 17:41проще использовать CDO
это под Линух только, и готовой сборки я не нашел (под Ubuntu 18.04 LTS, которая в Win10). А ставить из исходников - та еще морока.
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Re: Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

gamm писал(а): 26 июн 2020, 07:57это под Линух только, и готовой сборки я не нашел (под Ubuntu 18.04 LTS, которая в Win10). А ставить из исходников - та еще морока.
да, я уже заморочился и пока отставил сию идею с CDO. Но функционал полезен
geotranslator
Новоприбывший
Сообщения: 8
Зарегистрирован: 25 июн 2020, 14:58
Репутация: 0
Откуда: earth

Re: Осреднение значений групп (band) в растровом слое

Сообщение geotranslator »

поставил на виртуалку убунту, CDO ставится просто через sudo apt-get install cdo . Теперь решаю проблему с относительной меткой времени, если бы формат времени моего файла был день-месяц-год - вообще без проблем, а с относительными днями еще нужно покопаться. Спасибо
Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей