Fui encarregado de criar uma análise de adequação das condições das ondas no Golfo do México. Eu tenho mais ou menos 2.000 arquivos raster que têm cerca de 8 MB cada (2438 colunas, 1749 linhas, tamanho de célula de 1 km). O parâmetro nos arquivos de varredura é o período de onda e eu gostaria de reclassificar todos os rasters, de modo que 4<= wave period <=9 then make cell = 1
, se , outra célula = 0. Em seguida, some todos os rasters em uma varredura final e divida pelo número total de rasters para dar uma porcentagem total de observações adequadas e resultado da exportação para algum formato compatível com ESRI ... talvez algo que possa suportar flutuadores, se necessário. Eu não trabalhei muito com Python ou R, mas depois de pesquisar on-line, parece fazer sentido executar esse processo em uma dessas linguagens. Eu criei algum código até agora no R, mas estou confuso sobre como fazer isso funcionar.
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])
Nesse ponto, estou confuso quanto a reclassificar e começar a somar os dados dentro desse loop ou não. Meu palpite seria sim, pois caso contrário, acho que ficaria sem memória no meu computador, mas não tenho certeza. Também não tenho certeza sobre como reclassificar os dados.
Ao pesquisar online, acho que usaria reclass(my_data, c(-Inf,3,0, 4,9,1, 10,Inf,0))
, mas isso parece certo?
E, para resumir, eu usaria sum(stack(my_data))
e, de alguma forma, exibirei isso. Além disso ... se isso puder ser executado ou escrito com mais eficiência em Python, eu também estaria aberto a isso. Eu realmente sou iniciante quando se trata de programação.