查看原文
其他

一文学会制作牛皮纸纹理的对弈地图

超图集团 2022-07-17

The following article is from MapDesign Author MapDesign

围棋,琴棋书画四艺之一,相传起源于帝尧时期,有着非常悠久的历史。围棋棋盘呈方形,纵横19条线,黑白二色棋子对弈,变化无穷,蕴含着中华民族最古老的智慧。今天我们就来用SuperMap做一幅宇宙流围棋地图吧。


 

下载数据

首先,我们需要下载地图数据。打开SuperMap桌面软件,在“在线”选项卡“资源”分组中,找到“在线地图”,里边有个“世界地图”的分组,在这个分组下点击一幅世界地图,左下角“下载数据”处下载全球的数据World。如果你手头有桌面的示例数据,也可以在根目录中找到World文件夹,直接使用里边的数据。


绘制棋盘

在数据源中新建面数据集Frame,使用对象绘制中定长定高绘制矩形的功能,在澳大利亚附近画一个50*50大小的正方形。当然,你可以把这个框画在自己感兴趣的区域,大小也可以调整。画好框后,裁剪出国家面位于框内的部分。


接下来是打格子。使用“地图”选项卡“制图”分组中的“地图格网”功能,以Frame数据集的范围生成19*19的方里网网格,具体的参数设置如下:



生成出来的网格:

放置棋子

我们使用澳大利亚的机场点数据来当棋子。从OpenFlights网站(网址https://openflights.org/data.html)下载全球机场分布点数据,下载为csv格式。导入数据源后,转为点数据,并把位于澳大利亚内的机场点裁剪出来。

  


这个时候我们会发现,机场点不可能正好是位于网格交点处的,所以需要把机场点“纠正”到邻近的网格交点上,具体做法:


(1) 生成网格交点:对网格线数据集使用“交通分析”选项卡中的“拓扑构网”功能构建一个二维网络,然后把网络数据集中的交点保存为一个独立的点数据集。


(2) 邻近分析:使用“空间分析”选项卡中“邻近分析”下的“距离计算”功能,计算离机场最近的网格交点,参数设置:



(3) 属性追加:邻近分析的结果是属性表,列出了距离每一个机场点最近的网格点ID。为了方便制图,我们以网格点ID作为连接,把邻近机场点的ID追加到网格点数据集中。这里说明一下,由于后续是使用网格点制图的,所以这里处理的是网格点数据集。


(4) 棋盘点显示:在网格点图层的“图层属性”面板中设置显示过滤条件,只显示有邻近机场点的网格点,也就是机场点ID>0的点。制作分段专题图以区分黑白子,机场点ID<30时,使用黑子符号,否则使用白子符号。


设置各图层的风格,就可以得到下图的效果。



此时,我们会发现整幅图不太有“质感”,显得有点寡淡,所以还可以再调整一下。


调整地图效果

(1) 增加国家面的层次感:对国家面数据向内做两层缓冲区,缓冲范围设置为30000和60000,为不同的缓冲面设置从外向内由深到浅的颜色,如下:



(2) 叠加牛皮纸纹理:找张牛皮纸纹理的方形图片,导入数据源中后,配准到Frame范围上。对纹理图层设置50%的透明度,放置到网格线图层下边。


 


一幅带有牛皮纸纹理的对弈地图就完成啦,戳文末【阅读原文】获取本文的数据吧,提取码fdx1。


撰文 | 端产品研发中心 刘蕾


【精彩回顾】

01 图说疫情、WebGIS开发、地图制作及配色......本周GIS在线课程进行中!

02 特别的爱给特别的你:我叫颜一诺,在武汉出生2周了

03 GIS助力疫情防控,在贵州、山东、河南我们这样做

04 网格化、地毯式管理,助力疫情防控

05 用地图慧看疫情地图


欢迎转载~

爱看你就点在看!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存