从地图中获取中心点,并改变边界

我正在使用一个叫histmaps的包(在这里找到的)。https:/github.comjunkkahistmaps。 ),其中储存了关于瑞典行政区域历史边界的信息。我有兴趣找到1900年至1920年期间存在的每个教区的中心点。由于教区的边界是随着时间的推移而变化的,所以需要做一些调整。

包的创建者通过引入hist_boundaries解决了这个问题,比如。

period_map <- hist_boundaries(c(1900, 1920))

现在,我完全不知道如何从时期地图上找到每个教区的中心点。

我试过这段代码

centroids <- 
  gCentroid(
    spgeom = methods::as( object = period_map, Class = 'Spatial' )
    , byid = TRUE
  )

但只返回:

Error in methods::as(object = period_map, Class = "Spatial") : 
  no method or default for coercing “list” to “Spatial”

有什么建议吗?

解决方案:

我建议你下载以下的教区边界信息 {sf} 包格式(似乎有格式参数就是为了这个目的);然后你就可以应用函数 sf::st_centroid().

library(histmaps)
library(dplyr)
library(sf)

polygons <- hist_boundaries(1900, format = "sf")

centroids <- polygons %>% 
  st_centroid()

plot(st_geometry(polygons))
plot(centroids, pch = 4, col = "red", add = T)

enter image description here

给TA打赏
共{{data.count}}人
人已打赏
未分类

动感展示应用,我无法改变采样率。

2022-9-8 20:10:41

未分类

从adb shell dumpsys中获得的PackageSignatures

2022-9-8 20:21:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索