2000~2022 年各省市区县城乡人口数量面板数据

今天给大家分享一份 2000~2022 年各省市区县城乡人口数量面板数据。原始人口数据来源于美国能源部橡树岭国家实验室提供的陆地扫描(Landscan)全球人口数据库。

城市建成区和镇建成区边界数据来源于:

Bai, M., Zhang, X., Ai, W., Jing, X., & Liu, L. (2026). A high-resolution global annual city and town boundaries dataset (2000–2022) derived from GLC_FCS30D product. Scientific Data, 13:50. https://doi.org/10.1038/s41597-025-02568-9

使用 R 语言分区域汇总即可得到各省市区县的城市总人口、农村总人口及城乡比面板数据。

数据概览

将原始裁剪得到中国范围的栅格数据,结合城市建成区和镇建成区边界区分城乡范围,再进行分省、分市、分区县的统计汇总,最终得到了三份 dta 格式的中国城乡人口面板数据:

  • 2000~2022年各省份城乡人口数量面板数据.dta
  • 2000~2022年各城市城乡人口数量面板数据.dta
  • 2000~2022年各区县城乡人口数量面板数据.dta

各文件均包含以下变量:年份、省代码、省、城市总人口(万人)、农村总人口(万人)、城乡比。以 2000~2022年各省份城乡人口数量面板数据.dta 为例,该数据包含了 23 年 × 31 个省份的面板数据。

各文件预览如下:

图表展示

下图展示了 2000-2022 年全国城乡总人口变化趋势:

2022 年各省份城市总人口分布如下(直方图):

2022 年各省份城市与农村人口关系(散点图 + OLS 拟合线):

2022 年各省份城市总人口分布地图:

2022 年城市总人口前 15 省份城乡人口对比:

处理方法

数据使用 R 语言处理,核心思路是:先读取 Landscan 人口栅格数据和城市/镇建成区矢量边界,构建城乡掩膜(建成区内为城市人口,建成区外为农村人口),再通过分区统计汇总得到各层级城乡人口数量。关键处理步骤如下:

# 加载必要的 R 包
library(tidyverse)
library(sf)
library(terra)
library(haven)

# 读取人口栅格数据
pop_raster <- rast(file.path(version_folder, sprintf("%s.tif", year)))

# 加载建成区边界数据
cities <- st_read(sprintf("Cities_2000_2022/Cities_%s.shp", year), quiet = TRUE)
towns <- st_read(sprintf("Towns_2000_2022/Towns_%s.shp", year), quiet = TRUE)

# 合并所有城市和镇作为城市区域
urban <- rbind(
cities %>% select(geometry),
towns %>% select(geometry)
)

# 创建城乡掩膜栅格
mask_raster <- rast(ext(pop_proj), resolution = res(pop_proj), crs = "EPSG:4326")
mask_raster <- rasterize(urban_vect, mask_raster, touches = TRUE)
mask_raster[is.na(mask_raster)] <- 0 # 将背景设为 0(农村)

# 计算城乡人口
urban_pops <- pop_proj * mask_raster # 城市人口
rural_pops <- pop_proj * (1 - mask_raster) # 农村人口

# 分区统计(以省级为例)
province_raster <- rasterize(vect(province_proj), pop_proj, field = "省代码")
prov_urban <- zonal(urban_pops, province_raster, fun = "sum", na.rm = TRUE)
prov_rural <- zonal(rural_pops, province_raster, fun = "sum", na.rm = TRUE)

栅格数据的裁剪与分区域汇总方法基本都类似,感兴趣的小伙伴可以学习平台上的相关课程。

数据引用方式

由于该数据包含较多 RStata 处理的内容,在研究中使用该数据请使用清晰的方式注明数据来源于 RStata 或者 RStata 数据中心,并使用如下格式引用:

RStata 数据中心: 2000~2022年各省市区县城乡人口数量面板数据. 2026. https://tidyfriday.cn/rsdb2/

英文文献可以使用下面的格式引用:

RStata Data Center: Panel Data on Urban and Rural Population by Province, City, and District/County in China, 2000–2022. 2026. https://tidyfriday.cn/rsdb2/

城市建成区和镇建成区边界数据来源于:

Bai, M., Zhang, X., Ai, W., Jing, X., & Liu, L. (2026). A high-resolution global annual city and town boundaries dataset (2000–2022) derived from GLC_FCS30D product. Scientific Data, 13:50. https://doi.org/10.1038/s41597-025-02568-9

关联课程/数据推荐

1990~2022 年各省市区县人口密度与数量面板数据(GlobPOP来源):https://rstata.duanshu.com/#/course/6de23f913b094c86bcd0123d7d228374

2000~2020 年中国各省市区县人口密度面板数据 & 栅格数据(WorldPop来源):https://rstata.duanshu.com/#/course/a857ea06ec46422dbacd6da50998aa06

2000 年第五次人口普查分县数据:https://rstata.duanshu.com/#/course/7986bd667ed14db2a75c6d4b9a3b6a98

1990~2019 年各乡镇人口密度数据(中国科学院资源环境科学与数据中心来源):https://rstata.duanshu.com/#/course/5a19101d245543baa5ea1f0bf0cbb0c9

如有相关定制需要,可以联系李老师付费定制。

点击这里跳转到 RStata 短书平台获取附件:2000~2022 年各省市区县城乡人口数量面板数据

评论