我已下载了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论坛上发布,请告诉我。一般来说,空间问题的编程方法似乎就在这里,不是吗?
答案 0 :(得分:2)
嗯,重命名文件“temp.tif”或类似的东西解决了这个问题。非常奇怪,因为文件名只包含a-z,0-9和_字符。
对于遇到GDAL问题的其他人:建议玩这个。如果有人知道真正的根本问题,请告诉我。原始文件名为cdl_tim_r_ia_2010_utm15.tif
,cdl_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。