求助:如何获取tmap World数据集缺失的巴巴多斯面积与MULTIPOLYGON数据
获取巴巴多斯地理与面积数据的方法
用
rnaturalearth包提取权威数据
这个包提供标准化的全球地理数据,能直接获取巴巴多斯的MULTIPOLYGON几何对象和面积信息,和tmap、ggplot2完美兼容:# 首次使用先安装包 install.packages("rnaturalearth") library(rnaturalearth) # 获取巴巴多斯的sf格式地理数据(含MULTIPOLYGON) barbados_geo <- ne_countries(country = "Barbados", returnclass = "sf") # 提取面积数据(单位:平方公里) barbados_area <- barbados_geo$area_sqkm借助
sf包内置数据源
无需额外安装其他包,用sf自带的自然地球数据集就能获取:library(sf) # 查询并获取巴巴多斯数据 barbados_sf <- st_read(system.file("gpkg/naturalearth.gpkg", package = "sf"), layer = "countries", query = "SELECT * FROM countries WHERE name = 'Barbados'") # 计算面积(转换为平方公里) barbados_area_sqkm <- as.numeric(st_area(barbados_sf)) / 1e6合并到tmap的World数据集
拿到数据后可以直接合并到你常用的tmap自带World数据中,方便统一处理:library(tmap) data(World) # 假设已通过上述方法得到barbados_geo World_updated <- rbind(World, barbados_geo[, names(World)])
内容的提问来源于stack exchange,提问作者Paula
相关产品推荐
相关产品推荐

