作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一堆具有质心的各种形状和大小的多边形。我想计算从每个质心到其各自多边形最远点的距离。
这个问题已经resolved here使用 package::sp 和 package::rgeos。
根据 its vignette , sf 包“旨在长期接替 sp”。翻看the documentation我找不到解决方案,但我不是简单功能方面的专家。有没有使用 sf 包完成此操作的好方法,还是我现在应该坚持使用 sf 和 rgeos?
最佳答案
将多边形转换为 POINT(从而获得顶点),然后计算质心的距离应该可行。像这样的东西:
library(sf)
# build a test poly
geometry <- st_sfc(st_polygon(list(rbind(c(0,0), c(1,0), c(1,3), c(0,0)))))
pol <- st_sf(r = 5, geometry)
# compute distances
distances <- pol %>%
st_cast("POINT") %>%
st_distance(st_centroid(pol))
distances
#> [,1]
#> [1,] 1.201850
#> [2,] 1.054093
#> [3,] 2.027588
#> [4,] 1.201850
# maximum dist:
max_dist <- max(distances)
max_dist
#> [1] 2.027588
# plot to see if is this correct: seems so.
plot(st_geometry(pol))
plot(st_centroid(pol), add = T)
plot(st_cast(pol, "POINT")[which.max(distances),],
cex =3, add = T, col = "red")
您两次获得相同的距离,因为第一个和最后一个顶点相同,但由于您对最大值感兴趣,所以这无关紧要。
HTH
关于r - 如何使用 SF 包计算质心和多边形边缘之间的最大距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48447680/
前言 一年一度的虐狗节终于过去了,朋友圈各种晒,晒自拍,晒娃,晒美食,秀恩爱的。程序员在晒什么,程序员在加班。但是礼物还是少不了的,送什么好?作为程序员,我准备了一份特别的礼物,用以往发的微博数据
默认情况下,我有一个 V3 map 加载并以特定的经度/纬度为中心。加载后,用户可以输入他们的地址以获取前往该地点的路线。发生这种情况时, map 会调整大小以适应其左侧的方向框。因此,路线在 map
我是一名优秀的程序员,十分优秀!