gpt4 book ai didi

r - 找到所有点和多边形边界之间的最小距离

转载 作者:行者123 更新时间:2023-12-04 11:37:40 27 4
gpt4 key购买 nike

我想找到点和多边形边界之间的最小距离(所有点都位于多边形内)。如果可能,我如何提取值?,以便我可以找到个体数量与距边界距离之间的相关性。

多边形采用 .SHP 格式并指向 X/Y 坐标。

任何遗漏的信息请告诉我!非常感谢您的帮助!

最佳答案

单位正方形多边形:

library(sp)
x = cbind(c(0,1,1,0,0),c(0,0,1,1,0))
pol = SpatialPolygons(list(Polygons(list(Polygon(x)), "ID")))

单位正方形中的随机点:
set.seed(131)
pts = SpatialPoints(cbind(runif(10), runif(10)))
plot(pol)
points(pts, col = 'red')

计算距离:
library(rgeos)
gDistance(pts, pol, byid = TRUE) # will be 0, all inside
gDistance(pts, as(pol, "SpatialLines"), byid = TRUE) # dist to line

添加到情节:
text(coordinates(pts),
as.character(
round(as.vector(gDistance(pts, as(pol, "SpatialLines"), byid = TRUE)), 3)),
pos = 4)

使用 readOGR 将多边形数据从 shapefile 读取到 R 中包装内 rgdal

关于r - 找到所有点和多边形边界之间的最小距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28382949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com