在R中合并空间数据:光栅层和空间点数据帧

在R中合并空间数据:光栅层和空间点数据帧,r,spatial,R,Spatial,我想合并两个对象(将值和属性合并到一个表中)。 我的对象是一个光栅层和一个空间点数据帧,它们既没有相同的分辨率,也没有相同的坐标。但两者都有相同的CRS class(z) "RasterLayer" attr(,"package") [1] "raster" class(occ_all) [1] "SpatialPointsDataFrame" attr(,"package") [1] "sp" > head(coordinates(z),4) x y [

我想合并两个对象(将值和属性合并到一个表中)。 我的对象是一个光栅层和一个空间点数据帧,它们既没有相同的分辨率,也没有相同的坐标。但两者都有相同的CRS

class(z)
"RasterLayer"
attr(,"package")
[1] "raster"
class(occ_all)
[1] "SpatialPointsDataFrame"
attr(,"package")
[1] "sp"

> head(coordinates(z),4)
         x        y
[1,] -10.91667 71.91667
[2,] -10.75000 71.91667
[3,] -10.58333 71.91667
[4,] -10.41667 71.91667

> head(occ_all)
  Lon    Lat EuroVegMap Euforgen Gbif
1 -10.417 52.083          0        0    0
2 -10.250 51.917          0        0    0
3 -10.250 52.083          0        0    0
4 -10.250 52.250          0        0    0
5 -10.083 51.750          0        0    0
所以,我想使用over函数,但这不起作用:

over(z,occ_all)
Error in (function (classes, fdef, mtable)  : 
unable to find an inherited method for function ‘over’ for signature ‘"RasterLayer","SpatialPointsDataFrame"’
函数提取似乎有效,但我不知道它是如何工作的,我不确定这是否考虑了相应的坐标

所以,我考虑使用最近邻函数knn来确保坐标之间的链接被正确分配。对这种方法有什么想法吗

你能给我一些简单合并我的两个空间物体的建议吗


谢谢

这取决于您希望合并两个对象的对象类型。可以使用类{Raster}的命令rasterize,从空间多边形对象创建与光栅层的分辨率和原点匹配的光栅对象。如果有帮助,请告诉我。

请提供一个简单的可复制示例,如或例如。提取是您想要的。