You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言tmap库绘制比利时及省份地图:如何获取所需Shape对象数据?

嘿,我来给你几个靠谱的获取比利时行政区划矢量数据的方法,刚好适配你用tmap绘图的需求:

靠谱的比利时行政区划矢量数据获取途径

  • R包直接获取(最省心的方式)
    推荐用rnaturalearth或者gadm4R这两个R包,能直接在R里拉取数据,不用手动下载文件,而且返回的是tmap完美兼容的sf格式对象:

    • 用rnaturalearth的话:
      # 安装并加载包
      install.packages("rnaturalearth")
      library(rnaturalearth)
      
      # 获取比利时国家边界数据
      Belgium <- ne_countries(country = "belgium", returnclass = "sf")
      # 获取比利时省份(一级行政区)数据
      Belgium_provinces <- ne_states(country = "belgium", returnclass = "sf")
      
    • 用gadm4R的话(数据精度更高一些):
      install.packages("gadm4R")
      library(gadm4R)
      
      # level=0是国家,level=1是省份
      Belgium <- getGADM(country = "BEL", level = 0)
      Belgium_provinces <- getGADM(country = "BEL", level = 1)
      

    拿到数据后直接用你写的tm_shape(Belgium) + tm_polygons()就能绘图啦,完全适配。

  • 官方数据源下载
    比利时有官方的地理数据平台提供高精度的行政区划数据,你可以找到比利时国家地理相关机构的公开数据页面,下载Shapefile格式的行政区划文件(省份级别的),然后用sf包导入R:

    library(sf)
    # 替换成你下载的文件路径
    Belgium_provinces <- st_read("path/to/your/Belgium_provinces.shp")
    

    这种数据的准确性最高,适合对精度要求高的场景。

  • 开源数据仓库
    还有一些全球开源的行政区划数据库,比如GADM或者Natural Earth,除了用R包获取,你也可以直接去它们的平台下载Shapefile,再导入R处理,不过用R包直接获取肯定是最省事的~

内容的提问来源于stack exchange,提问作者user10708236

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 11:52:44