R:如何从estUDm对象创建栅格图层

时间:2014-10-09 15:00:38

标签: r kernel raster

我使用代码中的工具kernelUD(adehabitatHR)使用代码从gps位置创建了Kernel home范围:

'udKerHref <- kernelUD(data[,1],h = "href", grid=100, kern = c("bivnorm"))'

其中data是来自10只动物的SpatialPointsDataFrame。我现在想做两件事:

  1. 从内核密度值创建一个栅格,我可以将其与另一个栅格相乘(资源选择函数栅格)
  2. 与未用于构建主范围的其他gps位置相交,并使用1中构建的栅格提取给定gps位置的栅格值
  3. 我尝试使用&#39; estUDm2spixdf(x)&#39;但我收到了错误

    'Error in estUDm2spixdf(udKerHref) : this function can be used only when the same grid was used for all animals'
    
    尽管我对所有动物都使用相同的gris。我还尝试使用&#39; getVolumeUD获取光栅,然后使用&#39; writeRaster&#39;导出对象。但我总是遇到错误

    'Error in (function (classes, fdef, mtable)  :unable to find an inherited method for function ‘writeRaster’ for signature ‘"estUD", "character"’'
    

    非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

如果没有可重复的示例,我无法确切知道您的内容,因此我将使用udbis中的help(kernelUD)对象:

该对象有许多元素,每个元素都可以强制转换为SpatialPixelsDataFrame,因此也可以强制转换为栅格:

> names(udbis)
[1] "Brock" "Calou" "Chou"  "Jean" 
> plot(raster(as(udbis$Calou,"SpatialPixelsDataFrame")))

我怀疑你那里有10个元素。