【发布时间】:2019-05-15 17:40:46
【问题描述】:
我有一个带有经纬度坐标的data.frame:
df<-data.frame(
lat=c(40, 30, 40.864),
lon=c(0, 20, 1.274)
)
还有一个国家(西班牙)的边界,
library(raster)
border <- getData("GADM",country="Spain",level=0)
我只想为df 选择 inside border 的点。
我该怎么做?
注意:在我的可重现示例df 中,第一个入口点在里面,第二个显然在外面,第三个在外面但靠近海岸.
【问题讨论】:
-
事实上@Masoud 链接的问题与我的问题非常相似。但是,它不起作用。 sapply(1:nrow(df), function(i){gContains(spa.mask, SpatialPoints(df[i,], proj4string = CRS(proj4string(spa.mask))))}) 返回
FALSE三点。我不理解为什么。也许是因为我的边界包含几个多边形(岛屿和半岛)? -
正如我在问题中所说,其中一个在边界内。我不明白你所说的“地图”是什么意思。我做了一个绘图并检查了该点是否在多边形内,而另外两个在多边形外...
-
检查我的答案。我的猜测是您以错误的方式实施该解决方案的一部分。
标签: r raster geo sp spatial-data-frame