如何将 shapefile 转换为 R 中的矢量几何以便绘制?

How to convert shapefile into vector geometry in R so it can be plotted?

我有一个关于 R 的初学者问题。我有一个数据框(包含一些地理区域的数据)并且我有一个针对这些区域的相应 shapefile。我想将数据框中的数据绘制到几何图形上。

查看教科书和网上的一些例子,例如在 sf 包中,似乎需要将几何数据转换为多边形而不是保留在 shapefile 格式中。

我的问题是如何将 shapefile 转换为多多边形几何数据以便绘制数据?是否需要转换,如果不需要,还有其他方法吗?

很抱歉缺少代码,但我不知道从哪里开始。

过去需要将 shapefile 转换为多边形,才能用于 ggplot;该方法是 ggplot2::fortify()。此方法仍然有效(这意味着它没有从当前的 ggplot 版本中取消范围)。

虽然这是必要的(注意过去式),而且您仍然可以找到许多描述该过程的旧材料,但它不再需要了。这也不是当前的最佳实践。

自 ggplot 3.0.0(2018 年 7 月发布)以来 ggplot has support for sf, and the best practice for visualizing spatial data ("shapefiles") in ggplot is ggplot2::geom_sf() 不需要事先转换。

最好的部分是 {sf} 包上下文中的 shapefile 也是数据框 - 这意味着您可以使用标准数据框操作工具(例如 dplyr::left_join()) 将具有数据信息的数据框(例如某些行政单位的数据)连接到具有空间信息的数据框(例如行政单位的多边形)