我有一个空间点文件,其中包含样本站点的坐标列表。我需要找出每个样本点与高度人类改造区域的距离有多近。我正在使用全球人类修改索引(https://sedac.ciesin.columbia.edu/data/set/lulc- human-modification-terrescial-systems),它是栅格格式的。对于每个点(样本站点),我需要找到到值 > 0.7 的最近栅格网格单元的最短距离。 R中有没有办法选择值> 0.7的最近的网格单元,然后计算它(可能是单元的中心点?)和我的其他点之间的距离?
我的站点太多,无法手动计算距离。
因此,我的最终数据框将有一列用于显示站点编号、纬度、经度和距高度人类修改的距离。
我可能会说我最好需要以公里为单位的距离——我可以通过首先将我的点和栅格的CRS转换为单位=米的UTM来做到这一点吗?
提前致谢!
我根据栅格的特定值创建了一个向量,并将距离()应用于该向量:
# Extract the values larger than 0.7 from the raster
value_lt <- ifel(cell_value >0.7 ,1, NA)
# Convert to a polygon
value_lt_sf <- value_lt %>%
as.polygons()
# calculate distance of points to the polygon
dist_to_value <- distance(points, value_lt_sf)