2000~2022 年各省市区县城镇及城市建成区面积面板数据

今天给大家分享一份 2000~2022 年各省市区县城镇及城市建成区面积 面板数据。该数据基于附件中的参考文献「A high-resolution global annual city and town boundaries dataset (2000–2022) derived from GLC_FCS30D product」提供的 shp 数据和 2021 行政区划矢量数据计算得到。

引用该数据可以使用:

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

数据概览

该数据包含省、市、县三级面板数据,提供了 2000~2022 年中国各行政区划的城镇建成区面积和城市建成区面积。

变量说明

变量 说明
省 / 省代码 省份名称及行政区划代码
市 / 市代码 城市名称及行政区划代码(仅市级和县级数据)
县 / 县代码 县区名称及行政区划代码(仅县级数据)
年份 年份(2000~2022)
city_builtup_km2 城市建成区面积(km²)
town_builtup_km2 城镇建成区面积(km²),包含城市建成区和镇建成区

注意:城镇建成区面积 = 城市建成区面积 + 镇建成区面积,两者为包含关系而非并列,可根据研究需要选择使用。

数据文件

附件中包含如下三个文件:

  • 2000~2022年各省份城镇及城市建成区面积面板数据.dta
  • 2000~2022年各城市城镇及城市建成区面积面板数据.dta
  • 2000~2022年各县区城镇及城市建成区面积面板数据.dta

各文件预览如下:

图表展示

各省份城镇面积分布地图

各城市城镇面积分布地图

各区县城镇面积分布地图

全国城镇面积时间趋势

各省份城镇面积排名

上海市建成区分布示例

处理方法

该数据基于矢量数据(.shp 格式)计算各行政区划内的建成区面积,主要使用 R 语言的 sf 包进行空间叠加分析。处理流程如下:

1. 读取矢量数据

library(sf)
library(tidyverse)

# 读取行政区划矢量数据
sheng <- st_read("省.shp") |> st_transform(mycrs)
shi <- st_read("市.shp") |> st_transform(mycrs)
xian <- st_read("县.shp") |> st_transform(mycrs)

# 读取建成区矢量数据
cities_sf <- st_read(paste0("Cities_", yr, ".shp")) |> st_transform(mycrs) |> st_make_valid()
towns_sf <- st_read(paste0("Towns_", yr, ".shp")) |> st_transform(mycrs) |> st_make_valid()

2. 空间叠加计算面积

calc_area <- function(built_sf, admin_sf, year, type_label, group_vars) {
suppressWarnings(
st_intersection(admin_sf, built_sf)
) |>
mutate(area_km2 = as.numeric(st_area(geometry)) / 1e6) |>
st_drop_geometry() |>
group_by(across(all_of(group_vars))) |>
summarise(area_km2 = sum(area_km2, na.rm = TRUE), .groups = "drop") |>
mutate(year = year, type = type_label)
}

3. 合并宽表化

tidy_wide <- function(lst, id_vars) {
list_rbind(lst) |>
pivot_wider(
names_from = type,
values_from = area_km2,
values_fill = 0
) |>
rename(
city_builtup_km2 = "城市建成区",
town_builtup_km2 = "城镇建成区",
年份 = year
)
}

附件中也提供了该数据的处理代码(calc_builtup_area.R)供参考。

数据引用格式

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

RStata 数据中心: 2000~2022年各省市区县城镇及城市建成区面积面板数据. 2026. https://tidyfriday.cn/rsdb2/

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

RStata Data Center: Panel Data on Urban and Built-up Area across Provinces, Cities, and Districts/Counties, 2000–2022. 2026. https://tidyfriday.cn/rsdb2/

关联课程/数据推荐

栅格数据的裁剪与面积汇总——基于 R 语言的方法:https://rstata.duanshu.com/#/course/d2c2710928f44ad7a7518b8a178562c0

1992~2020 年各省市区县城市建成区面积面板数据:https://rstata.duanshu.com/#/course/6c1fe04d9e60433cb05aa150a0046869

使用 R 语言操作地理矢量数据、使用 Stata 绘制精美地图:https://rstata.duanshu.com/#/course/c51384ae56994495b223b366c7449377

中国各级行政区划矢量数据库(SHP 和 GEOJSON 格式,1820~2024 年):https://rstata.duanshu.com/#/course/dcda51bb20b84c7cb70d104fb53710b0

如有相关需要,欢迎联系李老师进行付费定制。

点击这里跳转到 RStata 短书平台获取附件:2000~2022 年各省市区县城镇及城市建成区面积面板数据

评论