3.1.2 添加矢量数据
常见的矢量数据包括Shapefile、KML/KMZ、DXF/DMG、GPX等多种类型,如表3-2所示。
表3-2 常用的矢量数据格式
本节介绍通用矢量文件及几种特殊的矢量文件的读取方式。
1. 通用矢量文件的读取
此处以GPX文件类型为例,介绍通用矢量文件的导入方法。GPX通常包括航点(Waypoints)、路线(Routes)和轨迹(Tracks)三个主要图层。
通过“Layer”—“Add Layer”—“Add Vector Layer…”菜单命令(快捷键:Ctrl+Shift+V),或者从文件浏览器拖曳GPX文件到QGIS地图画布,即可打开一个GPX文件。
打开本书示例数据中的“route.gpx”时,会弹出如图3-2所示的“Select Vector Layers to Add…”对话框,采用多选的方式即可选择性地打开GPX文件中的航点、路线和轨迹。除了航点,各图层都包括点要素和线要素两种形式。
图3-2 GPX导入对话框
【小提示】QGIS核心插件包括GPS工具插件。在插件管理器中打开GPS工具插件后,通过GPS工具栏也可以读取GPX文件。另外,通过该插件的GPS工具栏和GPS信息面板可以连接GPS设备,并对GPS设备中的数据进行上传/下载操作,读者可自行尝试。
2. 电子表格与文本格式导入
XLS/XLSX文件(Excel电子表格)、CSV(逗号分隔)文件、TXT文件(Tab分隔、空格分隔)等类型的电子表格与文本格式的文件可以通过以下两种方式被QGIS读取和加载。读取具有空间信息的数据可以采用“Add Delimited Text Layer”菜单导入;读取不具有空间信息的数据可以采用“Add Vector Layer”菜单导入。
1)通过“Add Delimited Text Layer”菜单导入
包括空间信息(以坐标点、WKT文本等形式定义)的文本格式文件可以通过“Layer”—“Add Layer”—“Add Delimited Text Layer …”菜单命令(快捷键:Ctrl+Shift+T)导入。
导入样例数据中的吉林省主要城市数据“jilin_maincity.csv”的具体方法如下:首先,打开读取分隔符文本对话框,如图3-3所示,并在“File name”文本框中选择文件或输入“jilin_maincity.csv”。然后,在“Geometry Definition”组合框中选择点坐标“Point coordinates”,并在“X field”选项中选择“longitude”字段,在“Y field”选项中选择“latitude”字段,在“Geometry CRS”选项中选择坐标参考系“EPSG:4326-WGS 84”。最后,单击“Add”按钮。
图3-3 读取分隔符文本对话框
【小提示】XLS/XLSX文件无法直接通过这种方式添加图层,可以先将XLS/XLSX文件转为CSV文件,再进行上述操作。
2)通过“Add Vector Layer”菜单导入
如果文件中不包括空间信息(点、线、面等空间要素),则可以通过“Layer”—“Add Layer”—“Add Vector Layer…”菜单命令导入数据,数据文件中的所有信息将以表图层的方式呈现在图层列表中。例如,采用这种方式打开示例文件中的“2017年吉林省各地区降水量(mm).xlsx”电子表格后,在图层列表中,通过该图层的右键菜单中的“Open Attribute Table”命令即可查看表格内容,如图3-4所示。
图3-4 XLSX文件的图层的属性表
采用这种方式也可以打开CSV、TXT等文本文档存储的表格数据。
【小提示】如果打开的数据文档中存在坐标点信息,但是该数据文档已经通过“Add Vector Layer”菜单导入QGIS中,那么可以通过工具箱中的“Vector creation”—“Create points layer from table”工具创建一个点要素矢量图层。
3. Coverage矢量数据导入
由于Coverage矢量数据是基于目录的数据组织方式,其属性信息和拓扑数据均以INFO表的形式存储在info目录下,不存在数据的主文件。因此,Coverage矢量数据的导入方式如下。
(1)选择“Layer”—“Add Layer”—“Add Vector Layer…”菜单命令,弹出数据源管理器对话框。
(2)在“Vector”选项卡下,在“Source Type”选项组中单击“Directory”单选按钮,将“Source”选项组的“Type”选项设置为“Arc/Info Binary Coverage”,并在“Vector Dataset(s)”选项中选择Coverage矢量数据所在的目录(本例选择示例文件下的“testvector”目录),如图3-5所示。
图3-5 导入Coverage矢量数据图层
(3)单击“Add”按钮,弹出如图3-6所示对话框,提示用户需要导入哪些数据图层。选择结束后,单击“OK”按钮,即可将Coverage数据导入QGIS图层中。
图3-6 Coverage矢量数据图层选择对话框
【小提示】在默认情况下,加载到QGIS中的矢量图层经过了实时要素简化,以在当前分辨率下达到最大的渲染效果(相当于经过了简单的制图综合)。实时要素简化可以在图层属性“Rendering”选项卡中的“Simplify Geometry”组合框中进行设置。