如何用R语言wdpar包获取古巴保护区的属性信息?
问题
使用R的wdpar包下载古巴(ISO-3代码"CUB")的保护区数据时,仅获取到多边形空间信息,缺失属性变量;但相同代码下载德国("DEU")数据能得到29个变量,且手动从WDPA网站下载古巴数据包含完整属性。执行代码如下:
library(wdpar) CUB_raw_pa <- wdpa_fetch("CUB", wait = TRUE, download_dir = rappdirs::user_data_dir("wdpa"))
解决方案
以下是几种可行的解决方法:
更新wdpar包到最新版本
旧版本的wdpar可能存在特定国家数据解析的bug,先更新包再重试:update.packages("wdpar") # 重启R会话后重新运行下载代码 library(wdpar) CUB_raw_pa <- wdpa_fetch("CUB", wait = TRUE, download_dir = rappdirs::user_data_dir("wdpa"))手动下载后用
wdpa_read导入
既然手动下载的古巴数据有完整属性,可先手动获取对应shapefile,再用wdpar的wdpa_read函数读取,确保保留所有属性:# 替换为你手动下载的文件实际路径 CUB_raw_pa <- wdpa_read("path/to/WDPA_CUB.shp")清理旧下载文件后重新下载
本地缓存的旧数据可能损坏,先删除缓存目录中的古巴相关文件,再重新下载:# 删除缓存的古巴WDPA相关文件 unlink(file.path(rappdirs::user_data_dir("wdpa"), "WDPA_CUB.*")) # 重新执行下载 CUB_raw_pa <- wdpa_fetch("CUB", wait = TRUE, download_dir = rappdirs::user_data_dir("wdpa"))指定最新版本的WDPA数据
尝试在wdpa_fetch中指定version = "latest",强制使用最新版的WDPA数据集:CUB_raw_pa <- wdpa_fetch("CUB", wait = TRUE, download_dir = rappdirs::user_data_dir("wdpa"), version = "latest")
内容的提问来源于stack exchange,提问作者IslandAnna
相关产品推荐
相关产品推荐

