【发布时间】:2018-01-07 09:00:39
【问题描述】:
我在创建预测网格(用于 new_data 参数)以与 automap 包中的 autoKrige 函数一起使用时遇到很多困难。
我已经尝试按照本文 (How to subset SpatialGrid using SpatialPolygon) 中的步骤进行操作,但出现以下错误: x@coords[i, , drop = FALSE] 中的错误: (下标) 逻辑下标太长 另外:警告信息: 1:在 min(x) 中:min 没有非缺失参数;返回 Inf 2:在 max(x) 中:max 没有非缺失参数;返回 -Inf
我的(有限)理解是错误与没有非缺失参数有关,因为它是一个空网格。这很好 - 我想要的只是一个由 shapefile 中的多边形约束的空网格。
这是我正在使用的代码:
shp <- shapefile("C://path/path/Tobay_Box2.shp")
shp <- spTransform (shp,"+proj=utm +ellps=WGS84 +datum=WGS84")
grid <- GridTopology(cellcentre.offset=c(731888.0,7457552.0),cellsize=c(2,2),cells.dim=c(122,106))
grid <- SpatialPixelsDataFrame(grid,
data=data.frame(id=1:prod(122,106)),
proj4string=CRS("+proj=utm +ellps=WGS84 + datum=WGS84"))
plot(grid)
[查看保管箱文件夹“Grid.png”]
bound <- shp@polygons
bound <- SpatialPolygons(bound, proj4string=CRS("+proj=utm +ellps=WGS84 +datum=WGS84"))
plot(bound)
[查看保管箱文件夹'Boundary plot.png']
clip_grid <- grid[!is.na(over(grid, bound)),]
到目前为止没有错误或警告。但是后来……
plot(clip_grid)
Error in x@coords[i, , drop = FALSE] :
(subscript) logical subscript too long
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
或尝试通过 autokrige 为 new_data 参数传递对象 clip_grid:
PerInkrg <- autoKrige (PerArIn~1, hs1, clip_grid)
Error in predict.gstat(g, newdata = newdata, block = block, nsim = nsim, :
value not allowed for: %s %s newdata empty or only NA's
我在使用非剪裁网格(对象 = 网格)时没有遇到任何问题。
简而言之,我需要这个 [参见 dropbox 文件夹 'Autokrig plot'],但内插曲面约束(剪裁)到 'Torbay_Box2.shp' 的边界范围
附:我试图在此处寻求帮助之前插入我的情节图像和指向我使用过的其他帖子的链接以及指向我的数据的链接,但作为一个新用户,我没有足够的声誉来执行此操作 - 抱歉!
数据和图表可在 Dropbox.com/sh/yqg20z1ibl3h4aa/AACJnHoEuP-S5fTvAXxsnY1za?dl=0 上找到
【问题讨论】:
标签: r gis kriging gstat automap