重新投影时 CRS 参数出错
Error with CRS argument while reprojecting
我正在尝试在 for 循环中迭代多个栅格 (+500),但我遇到了一些问题。
首先,我想将它们从 CRS EPSG:4326 重新投影到 CRS EPSG: 32614,然后使用具有较小分辨率和扩展的掩码栅格对它们重新采样,最后为每个栅格写入结果栅格在工作目录中,但我收到以下有关 CRS 参数的错误消息:
Error in CRS(x) : PROJ4 argument-value pairs must begin with +: E:\Proyecto PM2.5_PM_2.5_Processing\Test/AOD_MOD_CDTDB_April_2016.tif
我看了这里的多个帖子,但我无法解决这个问题。下面是我的代码,非常感谢这位 R 初学者的任何帮助
#find all tifs in your directory
dir<-"E:\Proyecto PM2.5\2_PM_2.5_Processing\Test"
#get a list of all files with .tif in the name in the directory
files<-list.files(path=dir, pattern='.tif', full.names = TRUE)
#raster with the expected characteristics: extension, cellsize, number of pixels
r_ref <- raster("E:\Proyecto PM2.5\3_PM_2.5_Entrega\temporal\Raster_C.tif")
for (file in files){
name <- file
projectRaster(name,crs="+init=epsg:32614")
resample(file,r_ref,method="ngb")
savename<-sub("ZMVM",name,basename(file))
writeRaster(r,file=savename,)
}
你会
for (file in files){
name <- file
projectRaster(name,crs="+init=epsg:32614")
所以 name
与 file
相同(为什么要复制?) --- 文件名。
你要求 projectRaster
投影一个字符串(文件名)。你的意图肯定是这样的
for (file in files){
r <- raster(file)
projectRaster(r, crs="+init=epsg:32614")
我正在尝试在 for 循环中迭代多个栅格 (+500),但我遇到了一些问题。
首先,我想将它们从 CRS EPSG:4326 重新投影到 CRS EPSG: 32614,然后使用具有较小分辨率和扩展的掩码栅格对它们重新采样,最后为每个栅格写入结果栅格在工作目录中,但我收到以下有关 CRS 参数的错误消息:
Error in CRS(x) : PROJ4 argument-value pairs must begin with +: E:\Proyecto PM2.5_PM_2.5_Processing\Test/AOD_MOD_CDTDB_April_2016.tif
我看了这里的多个帖子,但我无法解决这个问题。下面是我的代码,非常感谢这位 R 初学者的任何帮助
#find all tifs in your directory
dir<-"E:\Proyecto PM2.5\2_PM_2.5_Processing\Test"
#get a list of all files with .tif in the name in the directory
files<-list.files(path=dir, pattern='.tif', full.names = TRUE)
#raster with the expected characteristics: extension, cellsize, number of pixels
r_ref <- raster("E:\Proyecto PM2.5\3_PM_2.5_Entrega\temporal\Raster_C.tif")
for (file in files){
name <- file
projectRaster(name,crs="+init=epsg:32614")
resample(file,r_ref,method="ngb")
savename<-sub("ZMVM",name,basename(file))
writeRaster(r,file=savename,)
}
你会
for (file in files){
name <- file
projectRaster(name,crs="+init=epsg:32614")
所以 name
与 file
相同(为什么要复制?) --- 文件名。
你要求 projectRaster
投影一个字符串(文件名)。你的意图肯定是这样的
for (file in files){
r <- raster(file)
projectRaster(r, crs="+init=epsg:32614")