首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R栅格错误:无法从此文件创建RasterLayer对象。(文件不存在)

R栅格错误:无法从此文件创建RasterLayer对象。(文件不存在)
EN

Stack Overflow用户
提问于 2021-02-19 10:16:39
回答 1查看 802关注 0票数 1

尝试拉入和缩放陆地卫星图像,但收到错误,这似乎是一个比较常见的问题,考虑到较老的问题和创建RasterLayer对象的各种方式。

在加载了我需要的库之后,我找到了一个问题:

代码语言:javascript
运行
复制
    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:问题出在路径的末尾,它需要"\“

代码语言:javascript
运行
复制
Directory <- "D:\\Geo Files\\LANDSAT\\"

但是,当稍后在代码中尝试从不同的文件夹中获取另一个文件时,同样的问题出现了,并且上面的修复没有执行任何操作:

代码语言:javascript
运行
复制
 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\“,再次尝试,但问题仍然如上所述。

EN

回答 1

Stack Overflow用户

发布于 2021-07-19 20:53:45

我也遇到了同样的问题,下面是最终成功的过程。

代码语言:javascript
运行
复制
# 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)

它引发了以下错误(已编辑):

代码语言:javascript
运行
复制
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函数应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66270884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档