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

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

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

Сообщение geotranslator » 25 июн 2020, 15:21

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

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

nickleb
Гуру
Сообщения: 964
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

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

Сообщение nickleb » 25 июн 2020, 16:49

geotranslator писал(а):
25 июн 2020, 15:21
Дано - файл .netCDF со значениями средней ежедневной температуры на протяжении 15 лет.
Здравствуйте. Файл в сети есть? Скачать и посмотреть его бы...

Аватара пользователя
antonv
Активный участник
Сообщения: 229
Зарегистрирован: 29 ноя 2016, 10:44
Репутация: 114
Откуда: Санкт-Петербург

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

Сообщение antonv » 25 июн 2020, 17:41

geotranslator, для подобных операций с файлами netCDF гораздо проще использовать CDO

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

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

Сообщение geotranslator » 25 июн 2020, 19:19

nickleb писал(а):
25 июн 2020, 16:49
Здравствуйте. Файл в сети есть? Скачать и посмотреть его бы...
да, например https://surfobs.climate.copernicus.eu/d ... chunks.php

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

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

Сообщение geotranslator » 25 июн 2020, 19:30

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
Активный участник
Сообщения: 229
Зарегистрирован: 29 ноя 2016, 10:44
Репутация: 114
Откуда: Санкт-Петербург

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

Сообщение antonv » 25 июн 2020, 19:49

geotranslator, а что за продукт, откуда вы его скачивали? Нельзя там же скачать уже готовые среднемесячные данные? У реанализов обычно с разным временным разрешением выкладывают версии.

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

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

Сообщение geotranslator » 25 июн 2020, 20:09

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 » 25 июн 2020, 20:19

есть вариант проги Netcdf-Extractor-V2.0 вытаскивать вручную помесячно, но это нужно создавать например 12х12 (в моем случае интересует история 12 лет) файлов и не запутатся в расчете дней по месяцам (потому как отсчет относительный), эта прога и осредняет уже за определенный интервал времени. Окромя того -следующая задача - вырезать из слоя определенный район и осреднить один слой для него. Но решение этой задачи я нашел в Qgis

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

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

Сообщение geotranslator » 25 июн 2020, 20:40

да, пока что CDO очень полезная прога, но нужно аккуратно разбираться с форматами командной строки

gamm
Гуру
Сообщения: 4049
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm » 26 июн 2020, 07:57

antonv писал(а):
25 июн 2020, 17:41
проще использовать CDO
это под Линух только, и готовой сборки я не нашел (под Ubuntu 18.04 LTS, которая в Win10). А ставить из исходников - та еще морока.

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

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

Сообщение geotranslator » 26 июн 2020, 08:53

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

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

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

Сообщение geotranslator » 26 июн 2020, 12:04

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

Ответить

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

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

Сейчас этот форум просматривают: Budjik и 11 гостей