小编N'y*_*'ya的帖子

R - SpatialPolygonsDataFrame 来自 SpatialPolygons 列表

我正在寻找一种从 SpatialPolygons 列表创建 SpatialPolygonsDataFrame 的方法?

下面是一个多边形列表示例,应从中创建包含列表中所有多边形的 SpatialPolygonsDataFrame。

编辑:必须从 SpatialPolygons 列表创建 SpatialPolygonsDataFrame!因为我的原始数据不包含 SpatialPolygons 作为单独的值,而是包含 SpatialPolygons 列表。我收到此列表的方式与示例中的不同。我发布了示例以显示列表的数据结构。

取自https://stat.ethz.ch/pipermail/r-sig-geo/2013-January/017225.html的 SpatialPolygons 列表示例:

library(sp)
grd <- GridTopology(c(0.5, 0.5), c(1, 1), c(6, 6))
Spol <- as(grd, "SpatialPolygons")
list_of_SPolsu <- lapply(slot(Spol, "polygons"), function(x)
   SpatialPolygons(list(x)))
list_of_SPols <- lapply(slot(Spol, "polygons"), function(x) {
   Pol <- x
   slot(Pol, "ID") <- "1"
   SpatialPolygons(list(Pol))
})
Run Code Online (Sandbox Code Playgroud)

问候!

r spatial r-sp

4
推荐指数
1
解决办法
4562
查看次数

如何从栅格中提取xy坐标,其中最高值位于多边形内?

给定的是栅格以及SpatialPolygonsDataframe.为了在多边形区域内检索栅格的最高值,可以使用raster :: extract.它工作正常.

如何在多边形区域内另外获取所提取的栅格最高值的坐标?

# create raster
r <- raster(ncol=36, nrow=18)
r[] <- runif(ncell(r))
# create SpatialPolygons from GridTopology
grd <- GridTopology(c(-150, -50), c(40, 40), c(8, 3))
Spol <- as(grd, "SpatialPolygons")
# create SpatialPolygonsDataFrame
centroids <- coordinates(Spol)
x <- centroids[,1]
y <- centroids[,2]
SPDF <- SpatialPolygonsDataFrame(Spol, data=data.frame(x=x, y=y, row.names=row.names(Spol)))
# extract max value of raster for each SpatialPolygon
ext <- raster::extract(r, SPDF, fun=max)
Run Code Online (Sandbox Code Playgroud)

*示例代码取自R-documentation

r geospatial r-raster

3
推荐指数
1
解决办法
485
查看次数

标签 统计

r ×2

geospatial ×1

r-raster ×1

r-sp ×1

spatial ×1