尝试拉入和缩放陆地卫星图像,但收到错误,这似乎是一个比较常见的问题,考虑到较老的问题和创建RasterLayer对象的各种方式。
在加载了我需要的库之后,我找到了一个问题:
Directory <- "D:/Geo Files/LANDSAT"
prefix <- "CU_LC08.001_"
suffix <- "_doy2020222_aid0001.tif"
## Get band 2 reflectance (blue, 0.45-0.515 micron)
sr2 <- raster(paste0(Directory,prefix,"SRB2",suffix))
Error in .local(.Object, ...) :
*Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer", :
Cannot create a RasterLayer object from this file. (file does not exist)*
> sr2 = sr2*0.0001 #Scale
Error: object 'sr2' not found
我要使用的第一个(SRB2)文件的全名是: CU_LC08.001_SRB2_doy2020222_aid0001.tif -文件下载时的名称,未更改。
代码的其余部分继续遍历其他文件,遍历每个SRB,然后计算NDVI等
即## Get band 3 reflectance (green, 0.533-0.590 micron) sr3 <- raster(paste0(Directory,prefix,"SRB3",suffix)) sr3 = sr3*0.0001 #Scale
编辑1:我尝试使用try using \而不是正斜杠,得到完全相同的错误。R版本为R-4.0.3
任何帮助都将不胜感激,这是在黑客马拉松中提供给我们的,我是R的新手,它应该很容易运行,但如果文件无法读取..?
编辑2:问题出在路径的末尾,它需要"\“
Directory <- "D:\\Geo Files\\LANDSAT\\"
但是,当稍后在代码中尝试从不同的文件夹中获取另一个文件时,同样的问题出现了,并且上面的修复没有执行任何操作:
Directory <- "D:\\Geo Files\\ECOSTRESS\\USCities\\"
LST_ECO <- raster(paste0(Directory,"SDS_LST_doy2020260040819_aid0001.tif"))
Error in .local(.Object, ...) :
Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer", :
Cannot create a RasterLayer object from this file. (file does not exist)
编辑3:按建议将\Geo Files\更改为"\GeoFiles\“,再次尝试,但问题仍然如上所述。
发布于 2021-07-19 20:53:45
我也遇到了同样的问题,下面是最终成功的过程。
# location of the file
loc_1 = "D:\\Geo Files\\ECOSTRESS\\USCities\\SDS_LST_doy2020260040819_aid0001.tif"
# check if the file can be read into r
tif1 = readr::read_file(loc_1)
它引发了以下错误(已编辑):
Error: Cannot read file "D:\\Geo Files\\ECOSTRESS\\USCities\\SDS_LST_doy2020260040819_aid0001.tif": The cloud file provider is not running.
原因是因为R无法读取文件,因为它在联机文件夹中。
确认该文件是否可脱机使用。如果它可以被read_file
函数读取,那么raster
函数应该可以工作。
https://stackoverflow.com/questions/66270884
复制相似问题