我正在尝试执行一个简单的任务,即估计我的数据集中所有雌性的搜寻轨迹上的内核密度利用率分布(这只是一个可视化练习),并选择了R中adehabitatHR包中的kernelUD函数。
我可以为我一直使用的SpatialPoints对象设置一个简单的示例,它的格式是长整型的。
female <- filter(tracks, Sex == "Female")
# check the range of the longitude and latitude
range(female[,c("Latitude")])
[1] 20.71389 84.20619
range(female[,c("Longitude")])
[1] -23.85262 105.20330
# make the SpatialPoints object
sp.female <- SpatialPoints(coords = female[,c("Longitude", "Latitude")],
proj4string = CRS("+proj=longlat +ellps=WGS84"))因此,无论是经度还是纬度,都没有超出预期范围的点,但是当我随后尝试执行kernelUD时:
kd.female <- kernelUD(sp.female, h = "href")
Error in `proj4string<-`(`*tmp*`, value = CRS(pfs1)) :
Geographical CRS given to non-conformant data: -105.076705907这个数据点不会出现在我正在处理的对象中,所以我不知道如何排除这个错误。
我在R v3.6.3上运行以下包版本
> packageVersion('adehabitatHR')
[1] ‘0.4.19’
> packageVersion('rgdal')
[1] ‘1.5.23’
> packageVersion('sp')
[1] ‘1.4.5’提前感谢您的帮助。
发布于 2021-06-23 17:19:21
我发现转换为UTM似乎可以解决这个问题,但我很想知道为什么kernelUD函数不能处理坐标格式为经典经度和纬度的数据。
https://stackoverflow.com/questions/68087105
复制相似问题