ENMTools工具筛选数据原理:
ENMTools工具可以自动匹配分析所用的环境因子栅格大小,可以删除同一栅格内的冗余数据,而不是基于距离法来删除数据。此方法快捷高效,分析结果更合理,英文期刊多用该方法。通过该方法可以删除下图中的A点或B点(同一栅格内),而C点和D点虽然直线距离小于缓冲区范围,但是不会被勿删。

引用CSDN博主「生信小窝」的说法
原文链接:https://blog.csdn.net/weixin_40632177/article/details/111502337

网上对于ENMTools这个软件或者R程序包的中文教程挺少,大多是英文文章或者原作者的视频,如果直接使用ENMTools这个软件的话,其实要方便很多,教学视频也容易找到。但使用R的教程却少之又少,我刚开始所使用的代码是B站up和谐小农民给出来的,但存在无法安装ENMTools包或运行过程报错的情况。经过GitHub原项目文档查询和debug,最终修改代码如下:`

install.packages("devtools")
library(devtools)
install_github("danlwarren/ENMTools",force = TRUE) #可能需要翻墙
library(ENMTools)
library(terra)
worldclim <- raster('G:/4.其他/现在_bio_tif/bio_1.tif') #这里我使用的自己的文件
# worldclim <- raster::getData("worldclim", res = 5,var = "bio") # 如果自己没有可以使用worldclim提供的数据
pts <- read.csv(file = "BZ.csv")
pts.spat <- vect(pts,geom=c("X","Y")) #XY替换成你csv中对应的Longitude,Latitude
pa <- rasterize(as.matrix(crds(pts.spat)), worldclim[[1]],fun=sum)
new.points <- rasterToPoints(pa)
write.csv(new.points, file = "BZ.trim.csv")

使用此代码,我将1164个点位减少到了324个,并且没有像使用ENMTools软件出现坐标偏移的情况。