У меня проблемы с попыткой получить среднемесячное значение при включенных изображениях Sentinel 3 ... Все, правда. Python, Matlab, мы два человека, которые застряли в этой проблеме.
Основная причина связана с тем, что информация об этих изображениях не находится в одном файле netcdf, аккуратно помещенном с координатами и продуктами. Вместо этого все они находятся в отдельных файлах внутри однодневной папки в виде разных файлов .nc с разной информацией каждый , об одном спутниковом снимке. SNAP использует файл xmlxs для работы со всеми этими отдельными файлами .nc, насколько я понимаю.
Теперь, я подумал, что было бы неплохо попытаться объединить и создать / отредактировать файлы .nc, чтобы создать новый ежедневный .nc, который включал бы хлорофилл, координаты и, может также добавить его, время. Позже я объединю эти новые, чтобы иметь возможность получать среднее значение за месяц с помощью xarray. По крайней мере, это была моя идея, но я не могу сделать первую часть. Это может быть очевидное решение, но вот что я пробовал, используя модуль xarray
import os
import numpy as np
import xarray as xr
import netCDF4
from netCDF4 import Dataset
nc_folder = df_try.iloc[0] #folder where the image files are
#open dataset in xarray
nc_chl = xr.open_dataset(str(nc_folder['path']) + '/' + 'chl_nn.nc') #path to chlorophyll file
nc_chl
n_coord =xr.open_dataset(str(nc_folder['path'])+ '/'+ 'geo_coordinates.nc') #path to coordinates file
n_time = xr.open_dataset(str(nc_folder['path'])+ '/' + 'time_coordinates.nc') #path to time file
ds_grid = [[nc_chl], [n_coord], [n_time]]
combined = xr.combine_nested(ds_grid, concat_dim=[None, None])
combined #dataset with all but not recognizing coordinates
ds = combined.rename({'latitude': 'lat', 'longitude': 'lon', 'time_stamp' : 'time'}).set_coords(['lon', 'lat', 'time']) #dataset recognizing coordinates as coordinates
ds
что дает набор данных с
Размеры: столбцов 4865 рядов: 4091
3 координаты (широта, долгота и время) и переменная chl.
Теперь он не сохраняется в netcdf4 (я пробовал, но произошла ошибка), но я также думал, знает ли кто-нибудь другой способ получить среднее значение? У меня есть изображения за три года (с 2017 года по конец 2019 года), которые мне нужно было бы усреднить разными способами (ежемесячно, сезонно ...). Моя основная текущая проблема заключается в том, что значения хлорофилла отделены от географических координат, поэтому прямое использование только файлов хлорофилла не должно работать и просто приведет к беспорядку.
Какие-либо предложения?