注意,在 Stata15 上运行代码时,如果 spmap 运行出错,可以试一下把 spmap 换成 grmap 再运行一次。
昨天有个小伙伴问我有没有 Stata 绘制墨西哥的地图数据,我就想到是不是可以自动做好全球各国、各地区的地图数据(dta 格式的),这样大家需要的时候直接用就好。
于是我就准备了这个包含 454 份地图数据的大礼包分享给大家,数据涵盖全世界所有国家,以及部分国家的地区,数据爬取自:https://img.hcharts.cn/mapdata
![]()
这 454 份地图数据均由代码自动生成,每一份地图数据包含如下内容:
![]()
- 1 个文件夹:里面有 shp 格式矢量数据;
- 1 个 geojson 文件:从 Highmaps 网站上下载的原始数据;
- 1 个 do 文件:Stata 使用该地图数据绘制地图的示例代码;
- 4 个 dta 文件:Stata 绘制地图用的地图数据,两组,文件名中包含 line 的是线条数据,不包含 line 的是多边形数据。
- 1 个 png 文件:Stata 绘制的效果预览,由于图片是自动生成的,所以比较粗糙。
为了方便大家使用,我已经把所有的 geojson 文件转成了 dta 格式的数据,同时提供了一份 Stata 示例代码,例如 欧洲 地图里面的 europe地图绘制方法.do 文件的内容为:
* europe 地图绘制方法: |
只要把工作目录切换至 europe_db.dta 文件所在的文件夹就可以运行上面的代码了,运行之后就可以得到这样的一张地图了:
![]()
注意事项
- 里面和中国相关的地图,包含所有的世界地图都是不准确的,请谨慎使用;
- geojson 格式的数据和 shp 格式的矢量数据都可以使用 GIS 软件编辑,因此即使你不使用 Stata,这份数据大礼包依然是非常有用的。
点击这里跳转到 RStata 短书平台获取附件:使用 Stata 绘制全世界所有国家以及部分国家的区划地图数据
评论