本节主要介绍图层的基本操作(新建、添加、复制和删除图层)及图层组等。
前面简单介绍了通过数据源管理器添加矢量数据与栅格数据图层的方法。本节将介绍图层的新建、添加、复制和删除等基本操作,以及如何管理图层间的关系等。
1. 新建图层
在“Layer”—“Create Layer”菜单下可以找到创建GeoPackage图层(New GeoPackage Layer)、Shapefile图层(New Shapefile Layer)、SpatiaLite图层(New SpatiaLite Layer)和临时草稿图层(New Temporary Scratch Layer)的选项。由于图层并不包含数据,而是通过路径指向数据源,因此新建图层的同时创建了被这个图层引用的数据源。除此之外,还需要为数据源设置投影坐标、几何类型等属性。由于被创建的图层不包含任何的要素数据,因此新建图层功能通常在矢量化数据中使用。
创建临时草稿图层时不需要指定数据的存储位置,系统会将其保存在临时目录下。当退出QGIS的时候,临时草稿图层也会被清除,如图2-50所示。
图2-50 新建临时草稿图层
如果希望创建除了上述类型的矢量数据格式的数据图层,则可以先创建一个临时草稿图层,然后在图层面板的草稿图层上右击,在弹出的快捷菜单中选择“Export”—“Save Features As…”命令,打开矢量图层另存为对话框,即可将其导出为GeoJSON、KML等多种常用的矢量数据格式。
【小提示】 如果需要创建一个以常量或随机值为像元值的栅格图层,可参考“10.2.1常量栅格与随机栅格”的相关内容。
2. 添加图层
通过以下几种方式可以将地理空间数据添加到QGIS的地图视图中。
(1)从数据源管理器添加图层:数据源管理器包括一个浏览选项卡和添加多种数据源的选项卡,几乎可以加入QGIS支持的各种数据源。这些用来添加数据源的选项卡可以通过“Layer”—“Add Layer”菜单命令快速打开。
(2)从浏览面板添加图层:在浏览面板中,可以找到本地计算机的文件数据源、已连接的各种数据库数据源和网络数据源等,通过双击或拖曳的方式即可打开数据源。
(3)以拖曳文件的方式添加图层:例如,在Windows 10的文件浏览面板中,直接使用鼠标将数据的主文件(如Shapefile的“shp”文件)拖曳到QGIS地图视图中,即可添加数据图层。
3. 复制图层
在被选中的图层上右击,在弹出的快捷菜单中选择“Copy Layer”命令,即可复制图层。在图层面板的空白处右击,在弹出的快捷菜单中选择“ Paste Layer/Group”命令,即可将复制的图层粘贴到图层列表中。另外,在图层的右键菜单中选择“ Duplicate Layer”命令,可以直接将当前图层复制到该图层的下方。
值得注意的是,数据源是通过路径引用的,因此复制图层并不能复制数据源,只是复制了数据引用路径,以及符号化、图表等属性设置。新复制的图层和原始图层采用的数据源是相同的。
如果希望把一个QGIS项目的部分图层复制到另外一个QGIS项目中,还可以选择“Layer”—“Embed Layer and Groups…”菜单命令,打开“Select Layers and Groups to Embed”对话框,在“Project file”选项中选择项目文件,并选择需要导入的图层和图层组,单击“OK”按钮即可(见图2-51)。
图2-51 嵌入其他工程图层与图层组
4. 删除图层
在图层面板的任意图层上右击,在弹出的快捷菜单中选择“ Remove Layer…”命令,并在弹出的对话框中单击“OK”按钮,即可删除图层。另外,也可以在图层面板中选择多个图层或图层组,并单击图层面板工具栏中的 按钮,以移除多个图层或图层组。
在QGIS中,图层采用叠加的方式显示在地图视图上,图层面板就是管理这些图层及其叠加顺序的工具,其主要功能如下:
· 管理图层顺序:图层列表中各个图层的顺序非常重要,最上面的图层被叠加在地图视图的最上方,底部的图层则在地图视图的底端。一般情况下,栅格数据放置在矢量数据的下方。在矢量数据中,图层的放置顺序从上到下一般是点、线、面。
· 管理图层样式:图层列表中的各个图层项体现了其符号化样式,因此图层列表也是地图视图的临时图例。
图层面板工具栏(见图2-52)的各项功能如下:
· 打开/关闭图层样式面板:打开或关闭图层样式面板(Layer Styling Panel),用于快速改变图层的符号化属性。
· 创建图层组:在图层列表的最下方创建一个图层组节点。
· 管理地图主题:管理地图主题和图层的可见性。
· 按地图内容过滤图例:单击该按钮,图层列表矢量图层只显示地图范围内可见要素的图例。
· 按表达式过滤图例:按照表达式过滤图例。
· 展开全部图层/图层组:展开图层列表中的所有节点。
· 折叠全部图层/图层组:折叠图层列表中的所有节点。
· 移除图层/图层组:移除图层列表中选中的图层与图层组。
图2-52 图层面板工具栏
1. 图层组
在一般情况下,图层与图层之间是相互独立且没有层次的,如图2-53所示。在许多复杂的工作中,QGIS项目可能包含几个甚至数十个图层。过多的图层直接堆砌在图层列表中会显得极为混乱。所以,把相同地理范围、相似功能或类似表达主题的图层放在图层组中,便于图层的查找与管理。另外,通过图层组可以同时控制多个图层的可见度、坐标系等属性。
图2-53 两个图层
在图层面板的空白处右击,在弹出的快捷菜单中选择“ Add Group”命令,即可创建一个图层组,用图标 表示。此时,即可把各种图层拖入图层组中,如图2-54所示。另外,也可以把一个图层组拖入另一个图层组中,那么前者就是后者的子图层组,即图层组可以相互嵌套。
图2-54 包含两个图层的图层组
2. 图层的常用操作
1)重命名图层
在图层上右击,在弹出的快捷菜单中选择“Rename Layer”命令,即可对图层重命名,如图2-55所示。
图2-55 矢量图层的右键菜单
2)打开/关闭图层
在图层列表中选中(取消选中)图层左侧的复选框,即可打开(关闭)图层。被关闭的图层不显示在地图视图中。另外,选中一个图层后按空格键,也可以快速打开或关闭图层。
3)图层的可见性
有些图层可能只需要显示在某个比例尺范围内,则可以采用以下方法控制其可见性。
在图层右键菜单中选择“Set Layer Scale Visibility”命令,即可以在弹出的对话框中设置图层显示的最大(Maximum)和最小(Minimum)的分辨率,如图2-56所示。
图2-56 设置图层比例尺的可见性
如果图层已经打开,但是当前的比例尺不在其可见范围内,则其左侧的复选框显示为灰色选中状态 。此时,通过图层右键菜单选择“Zoom to Visible Scale”命令,可以快速缩放地图比例尺到该图层的可见范围内。
【小提示】 如果在QGIS画布中找不到某个图层数据,则可能的情况包括:
(1)被其他图层遮挡,可以通过调整图层顺序、适当上移图层位置解决该问题。
(2)当前比例尺不在其可见范围内,通过图层右键菜单中的“Zoom to Visible Scale”命令可以解决该问题。
(3)数据不在当前地图视图范围内,可以通过图层右键菜单中的“Zoom to Layer”命令将其缩放到该图层范围内。