GEOJSON 数据的应用案例:绘制山东省地图

GEOJSON 数据的应用案例:绘制山东省地图

最近介绍了使用 GEOJSON 数据绘制地图的方法,非常简单,本文通过一个实例再次演示了如何使用 GEOJSON 数据绘制地图。

视频讲解

模仿绘制下面这个地图

首先我们从下载一份山东省的 GEOJSON 数据,这份数据来自高德地图:

下载得到一个 山东省.json 文件,下面就用这个文件绘制山东省的地图。

加载所需的 R 包

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

因为我们需要标注每个市的名称表情,所以我们可以先计算每个市的质心,然后把比市名标注在质心附近,计算质心的方法非常套路:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

接下来我们需要要济南、烟台和青岛三个地方填充绿黄红三种颜色,其它的市填充灰色,我们为此生成一个 color 变量:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

接下来就是使用 ggplot2 绘制地图了:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

接下来我们再添加原图中的放射圈,开头我想用大的空心散点代替,但是效果不好,所以我转而采用先绘制虚线圆圈,然后再贴到地图上去的方法。接下来先绘制虚圆圈:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

使用同样的方法我们再绘制青岛和烟台的,然后再使用 cowplot 把三组圆圈贴到地图上:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

这样我们就把上面的地图绘制出来了!

一份带有九段线小地图的 GEOJSON 数据

简数科技提供的中国 GEOJSON 数据文件带有九段线小地图(实际上我的 hchinamap 包使用的数据就是这个数据):

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

早上群里有个小伙伴问能不能把东西部分开绘图,这很容易的,例如我只绘制广东省、广西省、福建省、海南省和台湾省五个省:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

再例如绘制安徽省地图:

代码去哪了?

代码可以加入我的知识星球后从知识星球下载附件获取~
要了解如何加入我的知识星球,可以阅读关于界面或者添加我的微信咨询。

知识星球附件链接:https://t.zsxq.com/f6YZbE6

#

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×