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 。它可以是 GeoPackageSpatiaLite 数据库类型。

  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 创建脱机项目