我正在尝试从名为目录的目录中打开58个文件
ncfiles <- list.files("~/Desktop/Summer 2020/Tropomi/Aerosol Height", full.names = T, pattern = "*.nc")
通过对for
使用TryCatch
循环来快速打开文件夹中的文件,我的目标是创建由所有58个栅格文件组成的栅格堆栈图像。我的循环一直运行到完成,但是无法生成图像。我遵循了类似于此post的示例,但无法弄清楚我的问题。有人可以让我知道我在想什么吗?我不确定如何为我的案件附加适当的,可复制的示例。
bigstack <- stack()
LOOP:
for (i in 1: length(ncfiles)){
GetMyImage <- tryCatch(
{
fname <-(ncfiles[i])
f <- nc_open(fname)
print(fname)
},
error=function(e) {
message('Caught Error')
print(e)
},
warning=function(w) {
message('Caught Warning')
print(w)
},
finally = {
message('All done')
}
)
if(inherits(errorCondition("ERROR :", next)))
{
ah <- ncvar_get(f, varid = "DETAILED_RESULTS/aerosol_optical_thickness")
lon <- ncvar_get(nc, varid = "PRODUCT/longitude")
lat <- ncvar_get(nc, varid = "PRODUCT/latitude")
nc_close(f)
s1 <- data.frame(as.vector(lon), as.vector(lat), as.vector(ah))
crsLatLon <- "+proj=longlat +datum=WGS84"
ex <- extent(c(-180,180,-90,90))
pmraster <- raster(ncol=360*10, nrow=180*10, crs=crsLatLon,ext=ex)
pmraster <- rasterize(s1[,1:2], pmraster, s1[,3], fun=mean, na.rm=T)
exHI <- extent(c(-180,-140,10,30))
levelplot(crop(pmraster,exHI))
bigstack <- stack(bigstack, pmraster)
}}
答案 0 :(得分:0)
它不能直接回答您的问题,但是您是否尝试过只运行declare @column1 datetime2 =2020-07-10 13:49:51,611
declare @column2 varchar(50) ='qazwsxedcrfv'
declare @column3 bigint =302316811
declare @column4 datetime =2020-07-10 13:49:51,611
declare @column5 varchar(50) ='abcdexfgh'
insert into table_name (col1,col2,col3,col4,col5) values
(@column1,@column2,@column3,@column4,@column5)
?我一直都是这样,而且一直都在工作。栅格应该具有相同的范围和分辨率。
/ Emilio