maptools即将退役,是否需替换依赖它的rworldmap?求适配spplot的方案
移除rgdal/rgeos/maptools依赖及rworldmap替代方案解答
一、rworldmap的依赖现状与后续建议
- 当前rworldmap确实依赖maptools,从
library('rworldmap')的加载提示可明确这一点。 - 截至目前,rworldmap维护者尚未发布移除maptools依赖的版本,后续是否更新取决于其维护计划,但考虑到maptools即将退役,长期来看依赖该包存在兼容性风险,建议提前准备替代方案。
二、适配spplot的rworldmap替代包推荐
针对你主要用rworldmap配合spplot绘图的场景,推荐以下几个替代选项:
- rnaturalearth:这是当前地理数据可视化的主流替代选择,提供高质量的世界/国家边界数据,完全兼容
sp对象,直接将其返回的地理数据传入spplot即可实现原有绘图效果,比如通过rnaturalearth::ne_countries()获取国界数据。 - maps包:基础R自带的maps包提供轻量的世界地图数据,虽然细节丰富度不如rnaturalearth,但无退役依赖问题,适合简单的世界地图可视化需求。
- sf生态(可选):若愿意转向当前R地理数据处理的标准框架
sf,可以用sf包读取地理数据,结合ggplot2的geom_sf()绘图;如果坚持使用spplot,也可通过sf::as_Spatial()将sf对象转为sp对象后使用。
三、隐性依赖排查技巧
- 用
tools::package_dependencies()函数检查脚本中所有依赖包的完整依赖链,快速定位隐藏的rgdal/rgeos/maptools依赖。 - 严格遵循
sp包官方退役指南中的替代方案,比如用sf相关函数替代rgdal的地理数据读写操作,用sp::geometry()等内置函数替代rgeos的部分几何处理功能。
内容的提问来源于stack exchange,提问作者ricjoh
相关产品推荐
相关产品推荐

