0

我正在尝试使用我拥有的一些 GPS 数据在 R 中执行内核密度估计。我的目标是创建一个轮廓输出,每条线代表 10% 的 KDE。从这里我想将输出(作为 shapefile 或栅格)导入到 QGIS 或 arcmap 中,这样我就可以将输出覆盖在现有环境图层的顶部。

到目前为止,我已经使用 AdehabitatHR 使用以下代码创建了以下输出:

kud<-kernelUD(locs1[,1], h="href")
vud<-getvolumeUD(kud)
vud <- estUDm2spixdf(vud)
xyzv <- as.image.SpatialGridDataFrame(vud)
contoured<-contour(xyzv, add=TRUE)

在此处输入图像描述

除了能够去除颜色之外,这就是我希望输出出现(或接近)的方式。但是,我正在努力弄清楚如何将其导出为 shapefile 或栅格?任何建议将不胜感激。

4

1 回答 1

1

使用该amt软件包,这应该相对简单:

library(adehabitatHR)
library(sf)
library(amt)

data("puechabonsp")
relocs <- puechabonsp$relocs


hr <- as.data.frame(relocs) %>% make_track(X, Y, name = Name) %>% 
  hr_kde(trast = raster(amt::bbox(., buffer = 2000), res = 50)) %>% 
  hr_isopleths(level = seq(0.05, 0.95, 0.1))

# Use the sf package to write a shape file, or any other supported format

st_write(hr, "~/tmp/home_ranges.shp")

注意,绘图也相对容易

library(ggplot2)
ggplot(hr) + geom_sf(fill = NA, aes(col = level))
于 2020-01-31T09:39:53.110 回答