J'ai été chargé de créer une analyse d'aptitude des conditions de vagues dans le golfe du Mexique. J'ai environ 2 000 fichiers raster d'environ 8 Mo chacun (2438 colonnes, 1749 lignes, 1 km de cellule). Le paramètre dans les fichiers raster est la période d'onde et j'aimerais reclasser tous les rasters de telle sorte que si 4<= wave period <=9 then make cell = 1
, sinon cellule = 0. Ensuite, résumez tous les rasters en un raster final et divisez par le nombre total de rasters pour donner un pourcentage total d'observations appropriées et résultat de l'exportation dans un format compatible ESRI ... peut-être quelque chose qui peut prendre en charge les flottants si besoin est. Je n'ai pas beaucoup travaillé avec Python ou R, mais après une recherche en ligne, il semble logique d'effectuer ce processus dans l'une de ces langues. J'ai trouvé du code jusqu'à présent dans R, mais je ne sais pas comment faire fonctionner cela.
library(rgdal)
raster_data <- list.files(path=getwd()) #promt user for dir containing raster files
num_files <- length(raster_data)
for (i in raster_data) { #read in rasters
my_data <- readGDAL(raster_data[i])
À ce stade, je ne sais pas si je devrais également reclasser et commencer à additionner les données dans cette boucle ou non. Ma supposition serait oui car sinon je pense que je serais peut-être à court de mémoire sur mon ordinateur, mais tout simplement pas sûr. Je ne sais pas non plus comment reclasser les données.
Dans la recherche en ligne, je pense que j'utiliserais reclass(my_data, c(-Inf,3,0, 4,9,1, 10,Inf,0))
, mais cela semble-t-il correct?
Et pour résumer, j'utiliserais sum(stack(my_data))
et je ferais une sortie. Aussi ... si cela peut être effectué plus efficacement ou écrit en Python, je serais également ouvert à cela. Je suis vraiment un débutant en matière de programmation.