【发布时间】:2013-07-22 00:05:38
【问题描述】:
我在R 有大约 500,000 分的美国候鸟物种出现数据。
我试图在这些点上叠加一个网格,然后计算每个网格中出现的次数。计算完计数后,我想将它们引用到网格单元 ID。
在 R 中,我使用了 over() 函数来获取范围图中的点,这是一个 shapefile。
#Read in occurrence data
data=read.csv("data.csv", header=TRUE)
coordinates(data)=c("LONGITUDE","LATITUDE")
#Get shapefile of the species' range map
range=readOGR(".",layer="data")
proj4string(data)=proj4string(range)
#Get points within the range map
inside.range=!is.na(over(data,as(range,"SpatialPolygons")))
上面的工作完全符合我的希望,但没有解决我当前的问题:如何处理SpatialPointsDataFrame 类型的点和栅格的网格。您是否建议对栅格网格进行多边形化,并使用我上面指出的相同方法?或者其他流程会更有效吗?
【问题讨论】:
-
你用的是哪个包?
-
@HongOoi 我相信是
sp。 -
这可能会让你开始:Aggregating points to grid using R
-
您可能想要使用
pracma包,它有一个函数inpolygon,可以确定给定点是否在给定多边形的内部。我想这需要将您的栅格网格变成一个多边形数组。 -
@HongOoi 正在寻找一种使用
raster的方法,但也一直在使用sp- Victoria