【问题标题】:Using gContains to test whether lat lon points lie within a map使用 gContains 测试纬度点是否位于地图内
【发布时间】:2015-03-27 18:14:35
【问题描述】:

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

那个点在地图内,但我显然遗漏了一些东西。

【问题讨论】:

    标签: r google-maps gis


    【解决方案1】:

    想出了一个解决方案。如果我将 SpatialPoints 数据框 spatP 变成凸多边形,它就可以工作。

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

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 2017-08-08
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 2021-03-07
      • 1970-01-01
      相关资源
      最近更新 更多