收到rgdal将于2023年底退役的警告后,应采取哪些应对措施?
关于rgdal退役提示的相关解答
提示核心含义与依赖关系说明
你看到的退役提示是rgdal包官方发布的停止维护通知,关于sf/stars/terra和rgdal的依赖关系可以明确:
- 目前稳定版的
sf、stars、terra包完全不依赖rgdal,三个包都是直接绑定底层的GDAL、PROJ、GEOS系统库实现空间数据读写、投影转换、空间分析等全量功能,和rgdal没有任何上层R包层面的依赖。
提示的核心要求是:你需要完全弃用rgdal包,不管是直接调用rgdal的函数,还是使用其他依赖rgdal的第三方R包,都要替换为sf/stars/terra生态下的同功能实现。
具体迁移操作指引
- 所有直接调用
rgdal::前缀函数的代码全部替换:比如原readOGR()矢量读取替换为sf::st_read(),原投影转换相关函数替换为sf::st_transform(),原栅格读写函数替换为terra::rast()/terra::writeRaster() - 若你没有主动加载rgdal却触发了该提示,说明你当前使用的某个第三方包底层依赖rgdal,建议优先查找sf/stars/terra生态下的同功能包替代
常见受rgdal退役影响的R包
sp:旧版空间矢量数据结构核心包,原读写、投影功能完全依赖rgdal,建议直接替换为sf包的sf数据结构,无需再使用sp体系raster:旧版栅格处理核心包,全量依赖rgdal实现栅格相关操作,建议直接替换为terra包,二者接口高度相似,迁移成本极低maptools:已同步rgdal宣布正式退役,所有空间数据处理功能均可通过sf包的原生函数实现,无需继续使用gstat:旧版地统计包原接口适配sp+rgdal体系,新版已完成sf适配,调用时直接传入sf对象即可避免触发rgdal加载leaflet等旧版空间可视化包的部分sp接口依赖rgdal,调用时直接传入sf/terra对象即可规避依赖
内容的提问来源于stack exchange,提问作者canderson156
相关产品推荐
相关产品推荐

