在R中,你如何从vectorplot中获得价值?

时间:2018-03-22 03:30:36

标签: r r-raster

功能' 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;返回一个对象,但没有一个字段显示包含与显示的渐变相关的信息。文档说显示是副作用,所以如果没有返回渐变信息,是否有其他包计算渐变并将该信息返回给用户?

谢谢!

1 个答案:

答案 0 :(得分:1)

rasterVis使用terrain

中的raster方法

您可以通过以下代码来解决这个问题:

showMethods("vectorplot")  
getMethod("vectorplot", "Raster")
rasterVis:::fooSlopeAspect
rasterVis:::extractSA