2.3.2 QGIS图层

一个QGIS项目可以包含一个或多个图层,图层经过叠加即可形成一幅完整的地图。在QGIS中,图层并不保存数据的实体,而是引用各种类型的数据源,并利用图层样式等属性渲染数据。项目中所有的图层都可以在QGIS图层面板的列表中找到,每个一级节点代表一个图层(图层项)。有些图层节点可以被展开,用于显示符号化属性。

在学习图层之前,首先要学习如何在QGIS中添加一个矢量数据(Shapefile格式)和一个栅格图层(GeoTiff格式)作为测试数据。本节使用吉林省高程数据(jilin_srtm.tif)作为矢量测试数据,使用吉林省地级行政区划数据(jilin_dist.shp)作为栅格测试数据。上述文件可以从本书的测试数据中找到。

本节将介绍如何将这两个数据加入QGIS中并保存项目。为了便于学习,请将上述数据放置到一个可写入的目录下,本节也会将项目文件保存在此目录下。

1. 矢量图层与Shapefile数据

数据源为矢量数据的图层被称为矢量图层。此处以Shapefile数据为例,介绍矢量图层的基本指示,在QGIS中加入矢量图层的方法参见“3.1.2添加矢量数据”。

Shapefile格式(OGR编码为ESRI Shapefile)是由ESRI研发的矢量数据格式之一,使用非常广泛。然而,Shapefile格式数据并不是单一的文件,而是由文件名相同的一系列文件组成的。Shapefile格式数据至少具有以下三种文件:

•“shp”文件:Shapefile数据的主文件,用于保存各种地理要素的几何实体。

•“shx”文件:图形索引格式文件,用于保存几何实体位置索引,即记录每个几何实体在“shp”文件中的位置,能够加快向前或向后搜索一个几何实体的效率。

•“dbf”文件:属性数据格式文件,以dBase IV的数据表格式存储每个几何实体的属性数据。

除此之外,一个Shapefile格式数据还可以包括坐标系统描述文件(prj)、统计信息描述文件(shp.xml)、空间索引文件(sbn)等。

【小提示】在QGIS中打开Shapefile数据图层时,如果出现了属性表中文乱码的问题,可以使用以下方法解决问题。

(1)在默认情况下,QGIS会忽略Shapefile数据的dBase编码声明(“cpg”文件)。在菜单栏中选择“Settings”—“Options…”命令,打开QGIS设置选项对话框。在“Data Sources”选项卡中,取消勾选“Ignore shapefile encoding declaration”选项,单击“OK”按钮保存即可。

(2)如果误删了Shapefile数据的编码声明文件,可以在Shapefile数据图层的右键菜单中选择“Properties…”命令,打开属性对话框,在“Source”选项卡中,将“Data source encoding”选项设置为正确的编码格式,这种方式不仅可以用于Shapefile数据图层,而且适用于任何矢量数据图层。

通过数据源管理器添加Shapefile数据图层的操作方法如下。

(1)在菜单栏中选择“Layer”—“Data Source Manager”命令,即可打开数据源管理器(快捷键:Ctrl+L)。另外,该工具也可以在工具栏中找到。

(2)选择“Vector”选项卡,如图2-32所示。

图2-32 通过数据源管理器添加矢量图层

(3)单击“Vector Dataset(s)”选项右侧的“…”按钮,在弹出的对话框中选择吉林省行政区划的Shapefile数据的主文件“jilin_dist.shp”,单击“OK”按钮。

(4)单击“Data Source Manager”对话框中的“Add”按钮,即可将Shapefile数据文件添加到QGIS项目中。

此时,QGIS会自动为该数据创建一个矢量图层,并随机选择一种颜色对面要素进行渲染。如果希望删除这个图层,可以在图层列表中的“jilin_dist”图层项上右击,并选择“Remove Layer…”命令,此时QGIS恢复到空项目的状态。

【小提示】对于矢量图层来说,在其右键菜单中选择“Show Feature Count”命令,即可在图层项的右侧显示要素的数量。

2. 栅格图层与GeoTiff数据

GeoTiff(Georeferenced Tagged Image File Format,GDAL编码:GTiff)是最常用的栅格数据类型之一。Tiff文件本身包含文件头,且用标签(Tag)的形式记录数据的相关信息,因此GeoTiff不一定需要World File文件“tfw”和坐标系声明文件“prj”等文件,并将其元数据记录在GeoTiff文件本身。不过,作为栅格格式,GeoTiff数据可能存在金字塔文件“ovr”和描述文件“xml”。

采用数据源管理器添加GeoTiff数据图层的操作如下。

(1)打开数据源管理器。

(2)在“Raster”选项卡中,单击“Raster Dataset(s)”选项右侧的“…”按钮(见图2-33),在弹出的对话框中,选择GeoTiff数据文件“jilin_srtm.tif”,单击“OK”按钮。

图2-33 通过数据源管理器添加栅格图层

(3)单击“Data Source Manager”对话框中的“Add”按钮,即可将吉林省高程数据添加到项目中。

在图层面板中,“”图标指示一个栅格图层。与矢量图层类似,可以在图层的右键菜单中选择“Remove Layer…”命令移除图层。