【问题标题】:Create a sfc_GEOMETRY object from a data frame of vectors in R从 R 中的向量数据框创建 sfc_GEOMETRY 对象
【发布时间】:2021-06-23 20:18:48
【问题描述】:

我正在努力在 R 中创建自定义美国地图。我想改变一个州的几何形状以适应我的需要。作为基础,我使用来自tilegramsR 包的 FiveThirtyEight 选举地图。下面是我用来获取所有状态的代码。

library(tilegramsR)
library(dplyr)
States <- sf_FiveThirtyEightElectoralCollege.states

这给出了一个数据框,其中第一列是一个状态,第二列是边界的几何形状(它看起来像每个状态的一堆连接的六边形)。

我想替换其中一个州的几何形状。我已经有了坐标,但是,它当前存储在数据框中。确切的坐标很长,但数据结构如下所示。

exCoords <- data.frame(V1 = c(1,1,2,2,1),
                       V2 = c(1,2,2,1,1))

第一行是第一组坐标,第二行是第二组(坐标1 (x,y) = exCoords[1, 1], exCoords[1, 2], 坐标 2 (x,y) = exCoords[2, 1], exCoords[2, 2]) 等等。 .

我想要做的是将数据框坐标转换为几何对象,就像我正在使用的状态框架中一样,并用我创建的状态坐标替换其中一个状态坐标。我将如何处理当前存储为数据框的新坐标?

【问题讨论】:

    标签: r geometry polygon


    【解决方案1】:

    geometry 列的每个元素只是一个包含在另一个列表中的列表中的两列矩阵。因此,您可以直接编辑它们...

    States$geometry[n][[1]][[1]] <- as.matrix(exCoords)
    

    其中n 是您要替换的States 的行号。保留所有 sfc_geometry 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 2020-07-13
      • 1970-01-01
      相关资源
      最近更新 更多