使用gContains来测试lat lon点是否位于地图中

时间:2015-03-27 18:14:35

标签: r google-maps gis

我有一个从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)

这一点在该地图中,但我显然遗漏了一些东西。

1 个答案:

答案 0 :(得分:1)

找出解决方案。如果我将SpatialPoints数据框spatP转换为凸多边形,则可以正常工作。

polyHull <- gConvexHull(spatP)
gContains(polyHull, pointSp)
[1] TRUE