在R中使用SRTM tif文件

在R中使用SRTM tif文件,r,import,tiff,R,Import,Tiff,我正在尝试将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.t

我正在尝试将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方面的新手,有点迷茫。

只需使用光栅阅读,但请注意,阅读.tif也依赖于安装的rgdal

library(raster)
library(rgdal)
r <- raster("srtm_56_06/srtm_56_06.tif")
如果它真的是一个TIFF,那么这应该是好的,如果它真的是一个GeoTIFF,那么你也会有一个合理的地图。如果GDAL可以读取其他内容,那么无论如何,您可能会得到一个好的结果,记住文件的扩展名不是其内容的可靠指示器

SRTM线索表明,这是来自平铺全球SRTM数据集的单波段DEM文件。如果它是一幅多波段的图像,那么你可以用砖块阅读,用plotRGB绘图,但我真的怀疑这里的情况。请注意,SRTM有一种本机二进制格式,raster/rgdal也可以读取该格式,但它们要么分发.tif,要么其他人将其转换

您的代码中存在许多误解:

加载是针对从R而不是这些.tifs创建的特定文件类型 readTIFF不在程序包中 如果您安装了rgdal,那么read_文件将是一个合理的矩阵,您必须使用哪个光栅加载.tif,但是为什么要丢弃空间元数据呢? 那么,这是一个tiff文件,作为一个标签图像文件格式,像一个图像?如果是这样,则tiff软件包具有readTIFF功能,但光栅没有。但是,如果您还通过光栅功能拥有rgdal包,光栅可以打开GeoTiff类型的文件。
plot(r)
r