我正在尝试将一个SRTM数据集导入到R中。我已经下载了一个tif文件中的数据,但是在"R“中读取它时遇到了困难。我尝试使用以下代码:
t = readTIFF("srtm_56_06/srtm_56_06.tif", as.is=TRUE)
load('srtm_56_06/srtm_56_06.tif')
read_file<-as.matrix(raster("srtm_56_06/srtm_56_06.tif")然而,我仍然收到错误消息:
load('srtm_56_06/srtm_56_06.tif')
# Error: bad restore file magic number (file may be corrupted) -- no data loaded
# In addition: Warning message:
# file ‘srtm_56_06.tif’ has magic number 'II*'
# Use of save versions prior to 2 is deprecated
library(raster)
t = readTIFF("srtm_56_06/srtm_56_06.tif", as.is=TRUE)
# Error: could not find function "readTIFF"
read_file<-as.matrix(raster("srtm_56_06/srtm_56_06.tif") + min(read_file)
# Error: unexpected symbol in:
# "read_file<-as.matrix(raster("srtm_56_06/srtm_56_06.tif")
# min"有人能帮我导入这些数据吗。我是"R“的新手,有点迷路了。
发布于 2014-07-16 20:02:39
只需使用raster阅读它,但请注意,您也依赖于安装了rgdal才能读取.tif。
library(raster)
library(rgdal)
r <- raster("srtm_56_06/srtm_56_06.tif")如果成功的话,试试
plot(r)
r如果它真的是一个"TIFF“,那么这应该是好的,如果它真的是一个GeoTIFF,那么您也会有一个合理的地图。(如果GDAL可以读取其他内容,那么无论如何您可能会得到一个很好的结果,请记住文件的扩展名并不是其内容的可靠指示符)。
SRTM线索表明,这是来自平铺的全球SRTM数据集的单一波段DEM文件。如果这是一幅“多波段图像”,那么你可以用brick来读它,用plotRGB来画图(但我真的很怀疑这里是这样的)。请注意,SRTM有一种本地二进制格式,即raster/rgdal也可以读取,但它们也可以分发.tif,或者由其他人转换它。
在您的代码中有许多误解:
load用于从R创建的特定文件类型(而不是这些.tifs)readTIFF不在包raster中read_file ( rgdal必须使用哪个raster来加载.tif),那么the将是一个合理的矩阵,但是为什么要丢弃空间元数据呢?https://stackoverflow.com/questions/24789159
复制相似问题