功能' vectorplot'显示矩阵内的渐变,但不清楚如何获得各个像素的渐变值。举个例子:
library(raster)
library(rasterVis)
ex <- matrix( c(1,2,3,4,2,3,4,5,3,4,5,6,4,5,6,7), nrow=4)
r=raster(t(ex[,ncol(ex):1]), xmn=0.5,xmx=nrow(ex)+.5, ymn=0.5,ymx=ncol(ex)+0.5)
projection(r)=CRS("+init=epsg:27700")
persp(r,theta=-50,phi=20, shade=0.23,col="red")
vectorplot(r, scaleSlope=.1)
如何获得渐变的值?功能&#39; vectorplot&#39;返回一个对象,但没有一个字段显示包含与显示的渐变相关的信息。文档说显示是副作用,所以如果没有返回渐变信息,是否有其他包计算渐变并将该信息返回给用户?
谢谢!
答案 0 :(得分:1)
rasterVis使用terrain
包
raster
方法
您可以通过以下代码来解决这个问题:
showMethods("vectorplot")
getMethod("vectorplot", "Raster")
rasterVis:::fooSlopeAspect
rasterVis:::extractSA