velox封装点提取失败

时间:2018-06-24 02:13:00

标签: geospatial raster r-raster velox

我正在尝试使用当前(0.2.0)velox软件包版本在R 3.4.1中使用velox软件包。我想使用VeloxRaster_extract_points功能提取栅格像素值,并且在我自己的数据失败后,我运行了当前参考手册第19页上提供的确切代码。这返回了显示的错误(如下)。我无法在线找到与此错误有关的任何参考。有什么建议么? 谢谢

> ## Make VeloxRaster with two bands
> set.seed(0)
> mat1 <- matrix(rnorm(100), 10, 10)
> mat2 <- matrix(rnorm(100), 10, 10)
> vx <- velox(list(mat1, mat2), extent=c(0,1,0,1), res=c(0.1,0.1),crs="+proj=longlat +datum=WGS84 +no_defs")
> ## Make SpatialPoints
> library(sp)
> library(rgeos)
> coord <- cbind(runif(10), runif(10))
> spoint <- SpatialPoints(coords=coord)
> ## Extract
> vx$extract_points(sp=spoint)
Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : 
  ‘extract_points’ is not a valid field or method name for reference class “VeloxRaster”

1 个答案:

答案 0 :(得分:0)

尝试时,对于我的情况来说效果很好:

library('velox')
## Make VeloxRaster with two bands
set.seed(0)
mat1 <- matrix(rnorm(100), 10, 10)
mat2 <- matrix(rnorm(100), 10, 10)
vx <- velox(list(mat1, mat2), extent=c(0,1,0,1), res=c(0.1,0.1),
            crs="+proj=longlat +datum=WGS84 +no_defs")
## Make SpatialPoints
library(sp)
library(rgeos)
coord <- cbind(runif(10), runif(10))
spoint <- SpatialPoints(coords=coord)
## Extract
vx$extract_points(sp=spoint)
        [,1]       [,2]
 [1,] 0.76359346 -0.4125199
 [2,] 0.35872890  0.3178857
 [3,] 0.25222345 -1.1195991
 [4,] 0.00837096  2.0247614
 [5,] 0.77214219 -0.5922254
 [6,] 0.00837096  2.0247614
 [7,] 1.10096910  0.5989751
 [8,] 1.15191175 -0.9558391
 [9,] 0.14377148 -1.5236149
[10,] 1.27242932  0.0465803

我认为您可能需要重新安装该软件包。