6. 使用工程文件

6.1. QGIS工程简介

QGIS会话的状态称为工程,QGIS一次只能处理一个工程。设置可以是指定的工程,也可以是新工程的应用类型默认设置 (请参阅 选项)。QGIS可以使用菜单选项 工程 ► fileSave 保存工程 ► fileSaveAs 另存为... 将工作区的状态保存到 QGIS工程文件

备注

如果工程已被修改过,该 * 符号将出现在标题栏中,默认情况下,QGIS将询问您是否要保存更改。此行为由 设置 ► 选项 ► 常规 下的 checkbox 需要时提示保存工程和数据源更改情况 设置而进行控制的。

可以从浏览器面板或通过 工程 ► fileOpen 打开...工程 ► 由模板新建工程 ► 最近打开的文件 ► 将现有工程加载到QGIS里。

启动时,会显示 工程模板最近工程 列表,包括屏幕截图、名称和文件路径 (最多支持10个工程)。 最近工程 列表可以方便地访问最近使用的工程;双击条目打开工程或工程模板;右键单击条目 固定到列表, 打开目录....从列表中移除 。您还可以添加图层并自动创建新工程,之后列表消失,让位于地图画布。

如果您想清理会话并重新开始,请转到 工程 ► fileNew 新建。如果在现有工程打开或上次保存后进行了更改,将提示您保存该工程。

打开新工程时,标题栏将显示 未命名的工程,直到您将其保存。

../../../_images/new_project.png

图 6.1 在QGIS中启动新工程

保存在工程文件中的信息包括:

  • 添加图层

  • 可以查询哪些图层

  • 图层属性,包括符号化和样式

  • 图层注释

  • 2D和3D地图视图

  • 每个地图视图的投影

  • 每个地图的上次查看范围

  • 打印布局

  • 使用设置打印布局元素

  • 打印布局地图集设置

  • 数字化设置

  • 表关系

  • 工程宏命令

  • 工程默认样式

  • 插件设置

  • 工程属性中OWS设置选项卡的 QGIS Server 设置

  • 数据库管理器中存储的查询

工程文件以XML格式保存 (参见 QGS/QGZ - QGIS工程文件格式) 。这意味着,如果您知道自己在做什么,就可以在QGIS之外编辑文件。工程文件格式已更新多次,来自较旧QGIS版本的工程文件可能不再正常工作。

备注

默认情况下,QGIS将警告您版本差异。此行为在 设置 ► 选项通用 选项卡中进行控制 (checkbox 当打开旧版QGIS格式的工程文件时提出警告) 。

每当您在QGIS中保存 .qgs 工程文件时,都会在与工程文件相同的目录中创建备份文件,扩展名为 .qgs~

QGIS工程的扩展名是 .qgs ,但当从QGIS保存时,默认使用带有 .qgz 扩展名的压缩格式保存。 .qgs 与用于 辅助数据 相关的SQLite数据库 (.qgd) 一起嵌入到 .qgz 文件中 (zip归档文件),您可以通过解压 .qgz 文件来获取上述文件。

备注

Auxiliary Storage Properties 机制使压缩工程特别有用,因为它嵌入了辅助数据。

还可以使用以下工程菜单项将工程保存/加载到PostgreSQL、地理包或Oracle数据库或从中加载工程:

  • 工程 ► 打开从

  • 工程 ► 保存到

这两个菜单项都有子菜单,其中列出了特别的工程存储实现方式 (PostgreSQL、地理包和Oracle)。单击将打开对话框,选择地理包连接和工程、PostgreSQL连接、架构和工程或Oracle连接、所有者和工程。

存储在地理包、PostgreSQL或Oracle中的工程也可以通过QGIS浏览器面板加载,方法是双击或将它们拖到地图画布。

6.2. 处理损坏的文件路径

在打开工程时,由于服务器/数据库不可用、重命名或移动了文件等原因,QGIS可能无法访问某些数据源。随即QGIS打开 处理不可用图层 对话框,检测并列出未找到的图层,您可以:

  • 双击 数据源 字段,校正每个图层的路径,然后单击 应用更改;

  • 选择某一行,单击 浏览 按钮找到相关图层所在数据源的正确位置,然后单击 应用更改;

  • 单击 自动查找 浏览文件夹,并尝试自动修复所有或选中的断开路径。请注意,浏览可能需要一些时间。然后单击 应用更改

  • 忽略该信息,单击 保留不可用图层 按钮打开带有损坏路径的工程。然后,图层将显示在 图层 面板,在 图层 面板相关图层名称旁边显示 indicatorBadLayer 无效图层! 图标,单击该图标打开修复数据源对话框进行修复,在修复路径之前不会显示任何数据。或在图层上下文菜单中 修复数据源...

    使用 修复数据源... 工具,一旦图层路径被修复,QGIS会扫描所有其他损坏的路径,并尝试自动修复那些具有相同损坏文件路径的路径。

  • 从工程 deleteSelected 移除不可用图层

使用 --skipbadlayers 选项从命令行启动QGIS可以帮助您在启动时跳过 处理不可用图层 对话框。

6.3. 生成输出

有几种方法可以从QGIS会话中生成输出。我们已经在 QGIS工程简介 讨论了保存为工程文件,生成输出文件的其他方法包括:

  • 创建图像: 工程 ► 导入/导出 ► saveMapAsImage 导出地图为图像... 以自定义比例、分辨率和大小将地图画布渲染输出为图像格式 (PNG, JPG, TIFF...) 。可以在导出的图像中包含配准信息,只需启用 checkbox 追加配准信息 (嵌入或者借助于坐标信息文件) 。更多信息请参阅 导出地图视图

  • 导出为PDF文件: 工程 ► 导入/导出 ► 导出地图为PDF文件... 以自定义比例、分辨率和一些高级设置 (简化、地理配准等) 将地图画布渲染输出为PDF。更多详细信息请参见 导出地图视图

  • 导出为DXF文件: 工程 ► 导入/导出 ► 导出工程为DXF文件... 打开一个对话框,可以在其中定义要导出到DXF的 '符号模式', '符号比例' 和矢量图层 。通过 '符号模式',可以高保真地导出原始QGIS符号系统中的符号 (请参见 新建DXF文件) 。

  • 设计地图: 工程 ► newLayout 新建打印布局... 打开一个对话框,可以在其中布局和打印当前地图画布 (请参见 Laying out the maps 一节)。