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

求助:如何用R包获取各国质心坐标以制作双变量地图

获取世界各国质心坐标的R实现方案

以下是用R的sf和rnaturalearth包获取世界地图数据并生成各国质心坐标数据框的步骤:

  1. 安装并加载依赖包
# 首次运行需安装
install.packages(c("sf", "rnaturalearth"))
# 加载包
library(sf)
library(rnaturalearth)
  1. 获取世界国家边界数据
# 获取中等分辨率的国家边界,返回sf格式数据
world_countries <- ne_countries(scale = "medium", returnclass = "sf")
  1. 计算各国质心(非简单几何中心,考虑地理特性)
# 计算质心,针对多岛屿国家取最大多边形的质心
world_centroids <- st_centroid(world_countries, of_largest_polygon = TRUE)
  1. 提取坐标并生成普通数据框
# 提取经纬度,筛选所需字段并移除几何属性
world_centroids_df <- world_centroids %>%
  mutate(
    lon = st_coordinates(.)[,1],
    lat = st_coordinates(.)[,2]
  ) %>%
  select(name, lon, lat) %>%
  st_drop_geometry()
  1. 查看结果
head(world_centroids_df)

补充说明

  • 调整ne_countries的scale参数可切换分辨率:"small"(低)、"medium"(中)、"large"(高),按需选择;
  • 若需要人口加权质心,可结合各国人口统计数据,通过加权计算得到更贴合实际人口分布的质心;
  • 生成的world_centroids_df就是包含国家名称、经度、纬度的数据框,可直接用于后续绘制圆形的操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:10:05