2021 版:使用 Stata 绘制中国县级地图

很多小伙伴使用 Stata 进行空间计量的建模、使用 ArcGIS 绘制地图,这很不方便,今天我给大家分享一套能够直接在 Stata 中绘制精美中国县级地图的数据和绘图方法!

注:视频以 2019 年县级地图为例进行讲解。2021 年县级地图相关相关材料见”下载数据”章节。

小地图版本长版)

之前版本的教程中需要使用 R 语言进行坐标系转换,不是很方便,本次更新的数据和教程不再依赖 R 语言,所有的数据处理和转换都可以在 Stata 中完成。

特别强调:Stata 16.0 绘制地图有 bug,换个版本就好,如果安装的是平台上 Stata 编程导论第一课里面的 Stata16SE,可以从 Stata 官网下载离线升级包:https://www.stata.com/support/updates/stata16.html ,下载完成后解压,然后在 Stata 用运行 db update 选择解压得到的文件夹进行升级。升级后再绘制地图就没有问题了。

根据大家之前的一些反馈,我们又重新设计了一套使用 Stata 绘制县级地图的数据,这次的地图数据比起之前的版本有如下变化:

  1. 不再依赖其他软件,所有的数据处理和转换都可以在 Stata 中完成。
  2. 添加了长版地图,应用场景更丰富;
  3. 可以自由添加图层了!
  4. 投影更改为:”+proj=aea +lat_0=0 +lon_0=105 +lat_1=25 +lat_2=47 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs”。

为了让大家更好的学习这份地图数据的使用,我们设计了下面的这些案例:

2019 年中国县级行政区划

我们首先看一下离散变量的填充地图如何绘制,例如 chinacounty2019mini_db.dta 数据里面有个市类型变量就是离散变量,我们可以使用 encode 命令生成因子变量用于填充绘图:

小地图版本长版)

英文地图

chinacounty2019mini_label.dta 数据决定了文本标签的位置和内容,如果想绘制英文版的地图,可以使用 ename 变量:

小地图版本长版)

2018 年中国各区县常住人口

连续变量的绘制方法和离散变量的类似,通过恰当的分组和颜色填充就可以绘制出精美的图表了,下面以第 2018 年中国各区县常住人口的填充地图绘制为例。

小地图版本长版)

2015 年中国各县平均人口密度

小地图版本长版)

2013 年中国工企业分布及距离秦岭淮河的距离

除了填充地图外,我们还经常会需要绘制描点地图,也就是在地图上添加坐标点,下面以2013 年中国工企业分布及距离秦岭淮河的距离可视化为例。

由于提供的地图底图数据是经过投影变换的,所以如果大家想把经纬度坐标点描制在底图上,也需要对坐标进行投影变换。

小地图版本长版)

调整指北针和比例尺的位置

指北针和比例尺都包括三个部分,line、polygon 和 label,所以我们调整指北针和比例尺的位置也需要修改这三个数据里面的对应坐标,在调整坐标前我们可以给绘图语句加上 freestyle 选项来帮助确定要移动的数值:

小地图版本长版)

如何添加省级边界?

之前的数据由于没法自由的使用 Stata 进行坐标转换,所以很难自定义一些元素,这次的可以了,例如附件中我为大家准备了“省级边界”的 shp 数据,我们只需要把这个转换成 dta 文件、转换坐标系然后再和 “chinacounty2019mini_line_coord3.dta” 文件合并即可(因为这是个线元素)。

小地图版本长版)

添加区域线

根据各个省份的区域,我们可以把省份分成四个区域:

东部省份东北部省份中部省份西部省份海南省黑龙江省河南省宁夏回族自治区福建省辽宁省江西省云南省上海市吉林省山西省内蒙古自治区广东省
安徽省新疆维吾尔自治区山东省
湖北省四川省浙江省
湖南省贵州省河北省

甘肃省北京市

广西壮族自治区江苏省

陕西省天津市

青海省台湾省

重庆市香港特别行政区

西藏自治区澳门特别行政区

附件中我给大家准备了区域线的 shp 文件,同样,我们只需要把这个转换成 dta 文件、转换坐标系然后再和 “chinacounty2019mini_line_coord3.dta” 文件合并即可(因为这是个线元素)。

小地图版本长版)

添加黄河流域

上面两个案例都是添加线条的,那么如何添加面元素呢?附件中有黄河流域的地理矢量数据,我们可以才用如下方法添加:

小地图版本长版)

这样我们基本就把常见的问题解决啦!

点击这里跳转到 RStata 短书平台获取附件:2021 版:使用 Stata 绘制中国县级地图

评论