28.2.4. 脱机编辑插件

对于数据采集,在野外使用笔记本电脑或手机离线工作是一种常见的情况。在返回到网络时,需要将更改与主数据源(例如,PostGIS数据库)同步。如果几个人同时处理相同的数据集,即使人们不更改相同的要素,也很难手动合并编辑。

这个 Offline EditingCopy Offline Editing 插件通过将数据源的内容复制到SpatiaLite或GeoPackage数据库并将离线编辑存储到专用表来自动执行同步。在再次连接到网络后,可以将脱机编辑应用于主数据集。

要使用插件,请执行以下操作:

  1. 打开包含一些矢量层的项目(例如,从Esri Shapefile、PostGIS或WFS-T数据源)。

  2. Assuming you have already enabled the plugin (see 核心插件和外部插件) go to Database ► Offline Editing ► Offline EditingCopy Convert to offline project. The eponym dialog opens.

  3. 选择 Storage type 。它可以是 GeoPackage 或 SpatiaLite 数据库类型。

  4. 使用 Browse 按钮指示要在其中存储 Offline data 。它可以是现有文件,也可以是要创建的文件。

  5. 在 Select remote layers 部分中,选中要保存的层。层的内容将保存到数据库表中。

    备注

    由于目标数据库格式不支持本机列表,所以离线编辑插件会将{字符串,数字}列表字段转换为字符串字段,其中值以逗号分隔。这允许在脱机时读取和编辑这些字段的内容。

    如果您想同时处理原始图层和离线图层中的字段,则可以依赖 try() 和 array 表达式函数,例如::

    try(array_contains("field",1),array_contains(string_to_array("field"),1))
    
  6. 你可以查一下 复选框 Only synchronize selected features if a selection is present 仅允许保存和处理子集。在大层的情况下,它可能是无价的。

    这就是全部!

  7. 保存您的项目并将其带到现场。

  8. 脱机编辑这些层。

  9. After being connected again, upload the changes using Database ► Offline Editing ► OfflineEditingSync Synchronize.

备注

离线使用的图层用 指示器脱机 图标中的 Layers 面板。

../../../../_images/create_offline_project.png

图 28.13 创建脱机项目