使用raster()包导入R中的USDA裁剪数据层(GTIFF)时出现问题

时间:2011-06-24 06:30:00

标签: r raster gdal satellite-image

我已下载了USDA裁剪数据图层(此处提供数据,请注意大文件:http://www.nass.usda.gov/research/Cropland/SARS1a.htm),并希望将其导入R进行分析。我已导入其他大型GTIFF文件(例如LANDSAT数据),但在调用该函数时出现以下错误:

r <- raster(file)

Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer",  :
    Cannot create a RasterLayer object from this file.

其中“file”是USDA提供的任何.tif文件(我使用的是Midwest区域编译)。

我怀疑问题是GTiff是分类数据(土地使用类别)而不是真正的序数/光谱数据,但我不明白为什么它会在图像编辑器(例如,预览版)中渲染得很好并且不愿意R / GDAL。

感谢您的帮助。

编辑:如果这应该在GIS论坛上发布,请告诉我。一般来说,空间问题的编程方法似乎就在这里,不是吗?

2 个答案:

答案 0 :(得分:2)

嗯,重命名文件“temp.tif”或类似的东西解决了这个问题。非常奇怪,因为文件名只包含a-z,0-9和_字符。

对于遇到GDAL问题的其他人:建议玩这个。如果有人知道真正的根本问题,请告诉我。原始文件名为cdl_tim_r_ia_2010_utm15.tifcdl_tm_r_il_2010_utm16.tif等。

感谢。

答案 1 :(得分:1)

我能够使用相同的文件重新创建您的错误消息,并且似乎GDAL要求的路径名比主目录更深,至少在Mac上。也就是说,路径名需要返回/Users/myname/cdl_tm_r_nv_2010_utm11.tif而不仅仅是〜/ cdl_tm_r_nv_2010_utm11.tif作为您的USDA裁剪文件示例之一。我设法用

打开文件
library(raster)
r <- raster(file.choose())

然后导航到GeoTiff。