空间插值(Kriging),多边形而不是栅格输出
Spatial interpolation (Kriging), polygon instead of raster output
是否有一种(简单的)方法可以将 SpatialPixelsDataFrame(从 krige)转换为例如一个 SpatialPolygonsDataFrame(矢量图而不是像素图)。
最好设置值范围并将栅格插值到多边形或使用另一种生成 SpatialPolygonsDataFrame 的克里格方法。我期待一个简单的例子。
krige 示例:即书中 https://oscarperpinan.github.io/spacetime-vis/ 8.1.5 Spatial Interpolation, complete source https://github.com/oscarperpinan/spacetime-vis/blob/master/bubble.R
library(gstat)
airGrid <- spsample(NO2sp, type="regular", n=1e5)
gridded(airGrid) <- TRUE
airKrige <- krige(mean ~ 1, NO2sp, airGrid)
spplot(airKrige["var1.pred"],
col.regions=colorRampPalette(airPal)) + ...
类似这样的方法可能有效:
library(raster)
x <- raster(airKrige["var1.pred"])
y <- cut(x, c(10,20,30,40,50,60,70))
z <- rasterToPolygons(y, dissolve=TRUE)
spplot(z)
是否有一种(简单的)方法可以将 SpatialPixelsDataFrame(从 krige)转换为例如一个 SpatialPolygonsDataFrame(矢量图而不是像素图)。
最好设置值范围并将栅格插值到多边形或使用另一种生成 SpatialPolygonsDataFrame 的克里格方法。我期待一个简单的例子。
krige 示例:即书中 https://oscarperpinan.github.io/spacetime-vis/ 8.1.5 Spatial Interpolation, complete source https://github.com/oscarperpinan/spacetime-vis/blob/master/bubble.R
library(gstat)
airGrid <- spsample(NO2sp, type="regular", n=1e5)
gridded(airGrid) <- TRUE
airKrige <- krige(mean ~ 1, NO2sp, airGrid)
spplot(airKrige["var1.pred"],
col.regions=colorRampPalette(airPal)) + ...
类似这样的方法可能有效:
library(raster)
x <- raster(airKrige["var1.pred"])
y <- cut(x, c(10,20,30,40,50,60,70))
z <- rasterToPolygons(y, dissolve=TRUE)
spplot(z)