Ma question se base plus loin sur un article précédent How to extract data from a RasterBrick?. J'ai plusieurs fichiers netCDF avec des données de température à lat, long et depth pour différentes périodes (6 mois chacun). J'ai aussi une trame de données avec lat, long et temps pour, je voudrais extraire les données de température de surface de la mer sur les fichiers netcdf. Avant d'extraire ces données je voudrais convertir et fusionner tous les fichiers netcdf à un RaterBrick (qui est plus facile à utiliser). Lorsque j'utilise une boucle pour «brique» et «fusionner» les fichiers, il crée un objet RasterLayer avec un seul calque à la place de la brique raster que j'attendais. J'ai cherché sur Internet mais jusqu'à présent, je ne peux pas trouver la bonne solution pour ce problème.Comment faire une boucle sur plusieurs RasterBrick pour créer un grand RasterBrick?
Je suis nouveau à l'utilisation des boucles, donc je suis désolé à l'avance si je pose une question avec une réponse vraiment facile mais je pourrais vraiment utiliser quelques conseils.
Voici ce que je l'ai fait jusqu'à présent:
Créer une liste de fichiers de tous les fichiers netcdf.
#Open all files, creats a list of 12 files
files= list.files('copernicus/daily_temp/',pattern='*.nc', full.names=TRUE)
Essayez de faire une boucle sur la liste de fichiers pour créer des briques. Fusionner ces briques multicouches ensemble pour former un grand RasterBrick avec des données de température de surface de la mer (niveau = 1) par jour.
# Loop over files to creat a RasterBrick of temp at SST
for(i in 1:length(files)) {
temp <- brick(files[i], varname="votemper",level=1)
temp.brick<-merge(temp)}
# Look what one brick is build out of
> temp
class : RasterBrick
dimensions : 375, 297, 111375, 184 (nrow, ncol, ncell, nlayers)
resolution : 0.11111, 0.06667 (x, y)
extent : -19.94444, 13.05523, 40.03333, 65.03459 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : C:\Users\PFA\Dropbox\HOM\copernicus\daily_temp\daily_temp_2003_2.nc
names : X2003.07.01, X2003.07.02, X2003.07.03, X2003.07.04, X2003.07.05, X2003.07.06, X2003.07.07, X2003.07.08, X2003.07.09, X2003.07.10, X2003.07.11, X2003.07.12, X2003.07.13, X2003.07.14, X2003.07.15, ...
Date : 2003-07-01, 2003-12-31 (min, max)
varname : votemper
level : 1
# Look at what the merged bricks are build out of
class : RasterLayer
dimensions : 375, 297, 111375 (nrow, ncol, ncell)
resolution : 0.11111, 0.06667 (x, y)
extent : -19.94444, 13.05523, 40.03333, 65.03459 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : layer
values : 280.677, 297.669 (min, max)
Des conseils ou des conseils sur la façon de résoudre ce ce soit serait très apprécié!
Merci mille fois!
Que signifie 'nLayers (temp)' dire? –
nlayers est de 184 dans ce cas. Par fichier, le nombre de couches est 184 ou 181, deux fichiers font un an. – Elisah
Je pense que vous devrez fournir deux ou plusieurs RasterBricks pour les fusionner. Votre code tel qu'il est, fusionne juste un objet, ce qui peut ne pas faire ce que vous pensez qu'il fait. –