版权声明:本文为博主原创文章,转载请注明原文出处!
写作时间:2020年7月4日晚
手把手教你使用QGIS制作地图
QGIS是一款开源免费的地理信息系统软件,虽然比不上商业的ArcGIS软件,但是QGIS免费而且跨平台,值得学习!
今天我们聊聊如何使用QGIS进行地图制作并输出。对任意一幅地图的制作下面介绍的步骤并不是都要用得到,我会分知识点进行介绍,学习一些常用地图制作技巧。
下面我们一步一步进行吧!(我是在macOS平台下进行操作的,Windows平台界面可能稍有差异)
加载矢量数据
打开QGIS,从文件管理面板Browser加载所要的数据,如下图所示(以陕西省为例)。
加载背景底图
底图的加载我们可以有很多选择,比如使用OpenStreetMap或者谷歌地图。当然,我们也可以选择不使用底图。
下面给出加载底图的步骤:
在文件管理面板Browser的XYZ Tiles节点上右键,选择New Connection…,然后在弹出的对话框中输出Name和URL。下图给出了OpenStreetMap的添加界面。
添加完Connection以后,直接点击添加的地图服务节点将底图添加到我们的工程。
鼠标在图层Layers面板中拖动数据层的顺序,将刚添加的底图移动到最下方的位置。如下图所示。
此外,这里附上谷歌地图服务的地址,方便有需要的朋友使用:
Google Maps: https://mt1.google.com/vt/lyrs=r&x={x}&y={y}&z={z}
Google Satellite: http://www.google.cn/maps/[email protected]&gl=cn&x={x}&y={y}&z={z}
Google Satellite Hybrid: https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}
Google Terrain: https://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z}
Google Roads: https://mt1.google.com/vt/lyrs=h&x={x}&y={y}&z={z}
拿走不谢!
美化矢量数据
在Layers面板中选中数据层,右键选择Properties…,在弹出的对话框中选择左侧列表中的Symbology,然后设置矢量数据的填充(Fill),边线(Stroke)等。
添加晕线
地图制作中有时候需要给行政边界添加晕线,制作方法很简单。思路是这样的:首先,给原始行政区做缓冲区,然后添加缓冲区到原始行政区图层下面,设置缓冲区的边线的颜色粗细。
注意:我在使用QGIS的过程中,通过菜单栏Vector->Geoprocessing Tools->Buffer…工具进行缓冲区制作的时候,发现制作的缓冲区地理坐标不对(和原始的行政区地理间隔很大),我也不找到出错的原因。
我通过菜单栏Processing->Toolbox打开QGIS工具箱,使用GDAL提供的Buffer工具,则不会出现错误,如下图(QGIS中集成了GDAL,GRASS等开源GIS工具,所以经常在处理一个任务的时候,我们有多个工具可以选择)。
做完缓冲区之后,我们需要对缓冲区进行美化(你自己认为漂亮即可),效果如下图!
切换到排版视图
在ArcGIS中我们一般在进行地图输出的时候一般会切换到布局视图(好像是叫Layotu View,如果我没记错的话)进行地图整饰和出图。
在QGIS中也是类似的,我们需要点击工具栏的New Print Layout(我的在保存Save Project按钮旁边,我的节目自己调整过,所以可能和标准界面不一样)。这时候会出现一个新的Tab面板(对应ArcGIS的布局视图),我们在该选项卡面板中进行操作,如下图所示。
在布局视图面板的左侧有一系列工具,我们首先点击Add Map按钮,在空白画布上拖动一个地图范围,这样我们刚才制作的地图就会显示在该画布上面。
添加经纬度格网
下面我们添加经纬度格网,在该视图的右边Items选项卡中选择我们的地图对象,然后在Item Properties选项卡中,选择Grids节点进行展开,点击➕按钮添加一个Grid对象,然后点击Modify Grid按钮编辑格网的属性。
我们可以设置格网显示的坐标系,格网显示的间隔,格网显示的样式等等。根据自己的需求*发挥吧!
添加其他修饰元素
此外,我们还可以点击面板右边的按钮添加比例尺、图例、图名、指北针等等修饰元素。这里不做详细介绍,自己慢慢探索吧!添加完以后,如下图。
地图输出
最后我们要将地图输出为PDF或者图片格式进行保存,在工具栏提供了相应的按钮进行操作。
我这里想说的是在QGIS地图制作过程中如果添加了地图服务(Web-Service-Based Map),则有可能在输出保存的时候,底图的显示不太对(会有缩放),我们的矢量地图不存在问题。