Страница 1 из 1
Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 15:21
geotranslator
Доброго времени суток.
Дано - файл .netCDF со значениями средней ежедневной температуры на протяжении 15 лет.
Один день - одна группа средних температур (band) с координатами и номер дня от 1.01.1995 года.
Задача - получить среднее значение температур за месяц. Т.е. разбить дни на месяц (30-31 день) и осреднить. Т.е. получть подобный же файл, но со значениями в среднем помесячно.
Смотрю в сторону QGIS - но Raster layer statistic предполагает работу только с одной группой (band).
Спасибо
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 16:49
nickleb
geotranslator писал(а): ↑25 июн 2020, 15:21
Дано - файл .netCDF со значениями средней ежедневной температуры на протяжении 15 лет.
Здравствуйте. Файл в сети есть? Скачать и посмотреть его бы...
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 17:41
antonv
geotranslator, для подобных операций с файлами netCDF гораздо проще использовать
CDO
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 19:19
geotranslator
nickleb писал(а): ↑25 июн 2020, 16:49
Здравствуйте. Файл в сети есть? Скачать и посмотреть его бы...
да, например
https://surfobs.climate.copernicus.eu/d ... chunks.php
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 19:30
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
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 19:49
antonv
geotranslator, а что за продукт, откуда вы его скачивали? Нельзя там же скачать уже готовые среднемесячные данные? У реанализов обычно с разным временным разрешением выкладывают версии.
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 20:09
geotranslator
antonv писал(а): ↑25 июн 2020, 19:49
а что за продукт, откуда вы его скачивали? Нельзя там же скачать уже готовые среднемесячные данные? У реанализов обычно с разным временным разрешением выкладывают версии.
продублирую ссылку
https://surfobs.climate.copernicus.eu/d ... chunks.php
Ежемесячные там только за 19ый и 20 года, насколько я правильно понял. Остальные хотелки только по предварительному заказу (насколько я понял англ текст

)
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 20:19
geotranslator
есть вариант проги Netcdf-Extractor-V2.0 вытаскивать вручную помесячно, но это нужно создавать например 12х12 (в моем случае интересует история 12 лет) файлов и не запутатся в расчете дней по месяцам (потому как отсчет относительный), эта прога и осредняет уже за определенный интервал времени. Окромя того -следующая задача - вырезать из слоя определенный район и осреднить один слой для него. Но решение этой задачи я нашел в Qgis
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 25 июн 2020, 20:40
geotranslator
да, пока что CDO очень полезная прога, но нужно аккуратно разбираться с форматами командной строки
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 26 июн 2020, 07:57
gamm
antonv писал(а): ↑25 июн 2020, 17:41
проще использовать CDO
это под Линух только, и готовой сборки я не нашел (под Ubuntu 18.04 LTS, которая в Win10). А ставить из исходников - та еще морока.
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 26 июн 2020, 08:53
geotranslator
gamm писал(а): ↑26 июн 2020, 07:57
это под Линух только, и готовой сборки я не нашел (под Ubuntu 18.04 LTS, которая в Win10). А ставить из исходников - та еще морока.
да, я уже заморочился и пока отставил сию идею с CDO. Но функционал полезен
Re: Осреднение значений групп (band) в растровом слое
Добавлено: 26 июн 2020, 12:04
geotranslator
поставил на виртуалку убунту, CDO ставится просто через sudo apt-get install cdo . Теперь решаю проблему с относительной меткой времени, если бы формат времени моего файла был день-месяц-год - вообще без проблем, а с относительными днями еще нужно покопаться. Спасибо