我正在尝试使用raster
包绘制在R中导入为栅格的DEM的3D表面。
到目前为止,我的代码是:
DEM <- raster("DSM_TLS_2010_25cm_v4.tif")
DEM <- setMinMax(DEM)
col <- rainbow(20)
plot(DEM, col=col, zlim=c(0,790.22), main="Digital Elevation Model (DEM)")
哪个适用于DEM的2D绘图,但是,当我尝试制作3D时,使用:
plot3d(DEM)
或
surface3d(DEM)
它说cannot coerce type 'S4' to vector of type 'double'
。
我确信答案非常简单,但是还没有设法让它与我发现的类似问题一起工作。欢迎任何帮助!
答案 0 :(得分:5)
raster()函数返回RasterLayer对象,我怀疑rgl包中的plot3d()和surface3d()函数没有(或不完全)支持RasterLayer对象。
然而,RasterVis包中的plot3D()函数可以。试一试:
install.packages("rasterVis")
library(rasterVis)
plot3D(DEM) # note: 3D not 3d