如何计算空间点与某个值的栅格网格单元之间的最短距离?

问题描述 投票:0回答:1

我有一个空间点文件,其中包含样本站点的坐标列表。我需要找出每个样本点与高度人类改造区域的距离有多近。我正在使用全球人类修改索引(https://sedac.ciesin.columbia.edu/data/set/lulc- human-modification-terrescial-systems),它是栅格格式的。对于每个点(样本站点),我需要找到到值 > 0.7 的最近栅格网格单元的最短距离。 R中有没有办法选择值> 0.7的最近的网格单元,然后计算它(可能是单元的中心点?)和我的其他点之间的距离?

我的站点太多,无法手动计算距离。

因此,我的最终数据框将有一列用于显示站点编号、纬度、经度和距高度人类修改的距离。

我可能会说我最好需要以公里为单位的距离——我可以通过首先将我的点和栅格的CRS转换为单位=米的UTM来做到这一点吗?

提前致谢!

r geospatial polygon spatial r-raster
1个回答
0
投票

我根据栅格的特定值创建了一个向量,并将距离()应用于该向量:

# 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)
© www.soinside.com 2019 - 2024. All rights reserved.