看到国外一个人用Qgis制作的乐高风格地图1,效果不错,而且他本人很慷慨的把方法分享出来,下雨无事,我也来实现它。
目录
[TOC]
NASA地球观测网站:https://earthobservatory.nasa.gov/features/NightLights/page3.php
工具:Qgis,ArcGis
首先生成格网,可借助Create Grid工具,所在位置为:矢量 --> 研究工具 --> Create Grid。
需要注意的是:格网大小按最好照地图比例来调整,如果工程坐标系是平面坐标系的话,单位可以选择米、千米;如果选择经纬度数作为单位,得将工程坐标系更改为经纬度坐标系。
生成格网之后,把多余的格子(要素)去掉,只保留栅格数据覆盖范围内的格子,加载一个边界矢量图层,然后通过【Select By Location】,将格网内和该图层重叠/相交的格子选中。
【Select By Location】所在位置:矢量 --> 研究工具 --> Select By Location。
最后将其另存为矢量shp文件。
获取栅格数据的DN值(灰度值),示例数据包含四个波段(RGBA),我的方法是想将栅格数据矢量化,得到一个矢量图层,内含一个DN属性,再通过【Join Attriubte By Location】工具,将DN属性挂接到格网数据,为之后的分级渲染作准备。
矢量化工具:栅格 --> 转换 --> Polygonize
【Join Attriubte By Location】:矢量 --> 数据管理工具 --> Join Attriubte By Location
借助Centroids工具,其所在位置:矢量 --> 几何图形工具 --> Centroids
融合的目标是使各相邻要素之间合并为同一个要素,对应的Qgis工具为Dissolve,但是在Qgis中操作结果分级之后渲染一直达不到我想要的效果,也找不到原因,无奈只好在ArcGis完成,操作如下:
融合后,在Qgis中加载。
接下来就是风格的配置,首先是点图层,
指定DN作为分级的值,分级渲染(7级),自定义好色带(最好保存色带,因为等会配置格网要用到),设置符号边框大小等。
格网的配置风格和点图层相似,也是分级渲染(色带和点图层用同一个)。
复制点图层,修改其风格为单符号,暗黑色填充,修改offset使其偏移,形成积木中圆柱形凸起的阴影。
而格网呢,在最后一级符号中添加一个简单填充符号,修改为黑色填充,设置偏移量(调到满意为止),这样就是积木方块的阴影了。
仔细看,相同类型的格网团块中没有边界线,把先前生成的未融合的格网(对应图中的grid图层)置于上层,设置边界线条粗细,就OK了。
完整的一幅地图应该包含图例、指北针、比例尺等相关元素,现在新建一个打印布局然后逐个添加地图元素。
选择:project --> new print layout,输入名称,新建布局
AddItem 功能可以往地图里添加各种要素,如比例尺、图片、图例、标注、指北针等;添加元素后,可以在右边的项属性窗口修改它们的风格,如边框、背景色、字体大小等。
地图中的积木块是一个组合符号,由两个点图层和两个格网构成的,默认的图例是下面这个样子,
想要图例呈现出积木块效果(如下图),我的方法有点简单且繁琐,就是使用截图工具,将地图中不同的积木块截取保存为图像然后在导入打印布局内作为图例,然后添加文字描述。
比例尺也是一样,不用默认,每一个方块的大小是20km × 20km,直接写上去。
最后添加数据的来源描述,调到满意为止,然后可以导出为png/jpe/svg/pdf等格式。
我的制作过程相对繁琐,如果你有更好的方法或者改进建议,欢迎告诉我,因为私信的话有时候我忙不能及时回复,若是过48小时之后就回复不了,所以可以发送到我的邮箱:3443327820@qq.com