gpt4 book ai didi

r - 子集 SpatialPolygonsDataFrame

转载 作者:行者123 更新时间:2023-12-03 18:04:22 49 4
gpt4 key购买 nike

我有一个 SpatialPolygonsDataFrame我通过使用 readOGR 读取 shapefile 创建的在 rgdal包裹。我正在尝试使用它来使用 spsample 生成采样网格在 sp用于从该地区收集的调查数据中进行插值的包。但是,SpatialPointsDataFrame 包含比调查大得多的区域,因此,插值预测值远离进行任何调查的位置。调查数据和 shapefile 都使用相同的 proj4string 进行投影。

我想使用测量站设置的坐标对 SpatialPolygonsDataFrame 进行子集化,但我不确定相关值在对象中的存储位置。

恐怕我无法提供相关数据,因为 shapefile 不是在线托管的。但是,我将从 Paul Hiemstra 对此的回复中借用一些代码 post对于荷兰:

library(ggplot2)
library(sp)
library(automap)
library(rgdal)

#get the spatial data for the Netherlands
con <- url("http://gadm.org/data/rda/NLD_adm0.RData")
print(load(con))
close(con)

class(gadm)
bbox(gadm)
> min max
>r1 3.360782 7.29271
>r2 50.755165 53.55458

假设调查是在这个领域进行的:
bbox(surveys)
> min max
>r1 4.000 7.000
>r2 51.000 53.000

如何裁剪 SpatialPolygonsDataFrame 的那个区域?

编辑:这个 question似乎回答我的。为没有足够努力地搜索而道歉(尽管评论确实让我对 rgeos 转向何处有所了解)。然而, gIntersection导致R崩溃...

最佳答案

根据多边形的大小,您可以执行以下操作

range = cbind(c(4,7), c(51,53))
centroids <- coordinates(spdf)

spdf.subset <- spdf[centroids[,1] > range[1,1] &
centroids[,1] < range[2,1] &
centroids[,2] > range[1,2] &
centroids[,2] < range[2,2],]

关于r - 子集 SpatialPolygonsDataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10212956/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com