我正在尝试绘制使用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)")

对于2D图的DEM来说,它是完美的选择,但是当我尝试使其成为3D时,可以使用:
plot3d(DEM)

要么
surface3d(DEM)

它说cannot coerce type 'S4' to vector of type 'double'

我敢肯定,答案很简单,但是我还没有设法解决我发现的类似问题。

最佳答案

raster()函数返回RasterLayer对象,我怀疑rgl包中的plot3d()和surface3d()函数不(或不完全)支持RasterLayer对象。

但是,RasterVis包中的plot3D()函数可以。试试看:

install.packages("rasterVis")
library(rasterVis)
plot3D(DEM)   # note: 3D not 3d

关于r - 在R中绘制3D栅格(DEM)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32405962/

10-12 20:19