我有一个从dismo包中的gmap函数获得的区域的地图。然后我试图测试某个纬度和经度点是否在该地图内。
这是我可重复的例子:
library(dismo)
library(sp)
library(rgdal)
library(XML)
library(rgeos)
spatP <- SpatialPoints(gmap("Palo Alto, CA", lonlat = TRUE),
proj4string = CRS("+proj=longlat"))
point <- data.frame( x = -122.129610, y = 37.399761)
pointSp <- SpatialPoints(point, proj4string = CRS("+proj=longlat"))
gContains(spatP, pointSp, byid = FALSE)
这一点在该地图中,但我显然遗漏了一些东西。
答案 0 :(得分:1)
找出解决方案。如果我将SpatialPoints数据框spatP
转换为凸多边形,则可以正常工作。
polyHull <- gConvexHull(spatP)
gContains(polyHull, pointSp)
[1] TRUE