使用 tmap 绘图时,最好是拥有最终的 SpatialPolygonsDataFrame 还是应该在 tmap 选项中进行更改?
When plotting with tmap is it better to have the final SpatialPolygonsDataFrame or changes should be made within tmap options?
我已经从 gadm.org 下载了一个空间多边形数据框,但该地图有点过时并且区域名称是拉丁文。我需要将名称更改为西里尔文并合并一些区域。在绘图时,在空间多边形数据框或 tmap 中这样做会更好吗?
到目前为止,我已经尝试从空间多边形数据框中提取单独的数据框并在那里进行更改,但我觉得我没有走上正确的道路。我知道我可以按照解释 here 用 ggplot2 绘制那些图,但是我找不到任何关于使用 tmap 可以使用相同方法的参考。
很难量化 "better" - 但如果您使用 sf
包格式而不是来自 sp
包的空间多边形,您描述的工作肯定会更容易和更快.它也可以在 GADM 网站上找到。
sf
空间对象是经过修改的数据框,这意味着您可以对它们应用标准数据整理方法 - 例如 dplyr::mutate()
来操纵名称等。
至于区域合并,您可以使用我不久前在博客 post 中描述的基于 sf::st_union()
的工作流程:https://www.jla-data.net/eng/dissolving-polygons-in-sf-environment/ - 它甚至使用 tmap
作为绘图工具,所以您应该会发现工作流程很熟悉。
最后,关于使用 ggplot 绘制地图的五年老问题的警告:使用 fortify()
的方法现在已经过时,使用 [=17= 会得到更好的结果] current ggplot.
函数
我已经从 gadm.org 下载了一个空间多边形数据框,但该地图有点过时并且区域名称是拉丁文。我需要将名称更改为西里尔文并合并一些区域。在绘图时,在空间多边形数据框或 tmap 中这样做会更好吗?
到目前为止,我已经尝试从空间多边形数据框中提取单独的数据框并在那里进行更改,但我觉得我没有走上正确的道路。我知道我可以按照解释 here 用 ggplot2 绘制那些图,但是我找不到任何关于使用 tmap 可以使用相同方法的参考。
很难量化 "better" - 但如果您使用 sf
包格式而不是来自 sp
包的空间多边形,您描述的工作肯定会更容易和更快.它也可以在 GADM 网站上找到。
sf
空间对象是经过修改的数据框,这意味着您可以对它们应用标准数据整理方法 - 例如 dplyr::mutate()
来操纵名称等。
至于区域合并,您可以使用我不久前在博客 post 中描述的基于 sf::st_union()
的工作流程:https://www.jla-data.net/eng/dissolving-polygons-in-sf-environment/ - 它甚至使用 tmap
作为绘图工具,所以您应该会发现工作流程很熟悉。
最后,关于使用 ggplot 绘制地图的五年老问题的警告:使用 fortify()
的方法现在已经过时,使用 [=17= 会得到更好的结果] current ggplot.