要在离线时使用要素图层(要素服务),您可以启用要素图层的同步功能。 启用同步使客户端能够使用数据的本地副本。 如果发布者选择启用此功能,客户端便可编辑数据的本地副本并在连接可用时与要素服务进行同步。
离线 ArcGIS Server 要素服务
在 ArcGIS Server 要素服务上启用同步之前,服务中的数据必须满足特定要求,这些要求可能有所不同,具体取决于数据的离线使用方式。
有关在离线 ArcGIS Server 要素服务中可以使用的数据类型,请参阅 ArcGIS Pro 帮助中的准备数据以用于离线要素服务。
允许的操作
您在要素服务上定义的操作决定要素服务的使用方式。 对于参与离线地图使用的要素服务,支持以下两种配置:
- 只读数据 - 如果客户端仅查询从要素服务下载的数据以离线使用,则在要素服务上设置查询和同步功能。 通过此配置,无法在离线时编辑数据,也无法将数据同步回服务。
要设置从 ArcGIS Pro 发布时的等效操作,请禁用编辑但启用同步。 有关详细信息,请参阅 ArcGIS Pro 帮助中的配置 Web 要素图层。
- 可编辑数据 - 如果客户端要在离线时编辑数据并在建立连接时将所做更改与要素服务进行同步,则需在要素服务上设置以下内容:
- 查询
- 同步
- 创建、删除和更新的任意组合
要设置从 ArcGIS Pro 发布时的等效操作,请启用编辑,选择允许的编辑类型,然后启用同步。 有关详细信息,请参阅 ArcGIS Pro 帮助中的配置 Web 要素图层。
注:
- 如果地图包含属性规则错误图层并且在 ArcGIS Server 要素服务上启用了同步,请勿在离线地图中编辑这些错误图层。 如果这样做,在同步时编辑将不会应用于错误图层。
所允许的操作仅应用于发布者和用户。 服务器管理员和服务所有者对启用了所有操作的服务具有完全访问权限。
因此,管理员或服务所有者离线使用的数据始终可编辑。 如果您需要只读离线要素图层,则这些图层必须由非管理用户而非要素服务所有者离线使用。
若您在发布到 ArcGIS Pro 中活动门户的联合服务器时启用同步,则将数据注册为版本时,还可以使用其他选项。 有关这些选项的信息,请参阅 ArcGIS Pro 帮助中的配置 Web 要素图层。
要素服务存在后,发布者和管理员即可在 ArcGIS Server Manager 中禁用同步功能。 例如,发布者或管理员可以在执行数据维护任务(如重新构建索引)期间禁用服务上的同步功能,以阻止客户端与服务同步。
注:
如果有任何离线地图包含启用同步的要素服务,或者如果要素服务已在分布式协作中共享,则请勿禁用同步。
更改 ArcGIS Server 要素服务的同步选项
只读 ArcGIS Server 要素服务(仅启用查询和同步)包含版本化数据时,如果离线使用数据,则不会创建任何版本。 客户端与发布版本同步后,对发布要素服务所做的更改会自动应用于客户端。
如果 ArcGIS Server 要素服务可编辑,则同步选项和行为会有所不同,具体取决于您的服务中的数据是注册为传统版本化、分支版本化还是启用了归档但未注册版本化。 有关这些选项的描述,请参阅 ArcGIS Pro 帮助中的准备数据以用于离线要素服务。
有关离线版本化数据情景的示例,请参阅以下内容:
注:
发布者和管理员可以在 ArcGIS Server Manager 中更改同步选项。 但是,如果有任何离线地图包含启用同步的要素服务,或者如果要素服务在分布式协作中共享,则请勿更改同步选项。
如果要素服务没有用于离线环境或分布式协作,请按照以下步骤更改包含版本化数据的要素服务上的同步选项:
- 以服务所有者或 ArcGIS Server 管理员的身份登录到 ArcGIS Server Manager。
- 确保选择 ArcGIS Server Manager 顶部的服务。
- 浏览至要素服务,然后单击服务名称以打开该服务的相关信息。
- 单击功能。
- 选择要素访问。
- 在属性下单击高级选项。
随即出现要素服务高级选项对话框。
- 在同步下,更改版本创建选项。
- 单击确定关闭要素服务高级选项对话框。
- 单击保存并重新启动将设置更改应用于要素服务。
服务在重新启动时不可用。
几何更新和真曲线
您可以将 ArcGIS Server 要素服务配置为允许对包含真曲线的数据进行几何更新和编辑。 将编辑从客户端同步到服务时会强制执行这些设置。 如果客户端执行的任何编辑操作违反要素服务的几何更新和真曲线设置,则不会将这些编辑操作与服务进行同步。
注:
不是所有离线客户端都支持真曲线。
通过数据本地副本下载或与服务同步进行的输出
将数据下载到本地客户端时,会在 ArcGIS Server 输出目录中创建一个包含相应数据的文件,然后您的客户端将下载该文件。 默认情况下,任何超过 10 分钟未被任何进程访问的文件均会从输出目录中移除。 如果您预计 10 分钟后客户端才开始下载该文件,则可以创建另一个清理时间更长的输出目录,并为您的要素服务使用此输出目录。 此外,您还可以延长默认输出目录的清理时间,但是这将影响使用此默认输出目录的所有服务。
注:
使用 createReplica 操作创建数据的本地副本时,请选择图层、表以及待复制数据的范围。 默认情况下,本地副本中包含与表格中的范围和行相交的要素,其中表格与这些要素相关。 对于表格,可以选择应用查询过滤器或包含所有行,而不使用默认设置。 复制大量数据并且有许多关系类时,设置表格的过滤器或所有行可以提高性能。 要设置过滤器或包含所有行,请参阅 ArcGIS REST API 帮助中 createReplica 操作的 layerQueries 参数。
同步和异步模式
用于下载数据本地副本或将更改同步到服务的同步操作既可在同步模式下运行也可在异步模式下运行。 使用同步模式时,由服务完成处理;因此,会应用服务设置,包括使用的最小和最大实例数、超时间隔和回收间隔等。 使用异步模式时,由随 ArcGIS Server 提供的预先配置的 SyncTools 地理处理服务完成处理;因此,会应用 SyncTools 地理处理服务的设置。
托管要素服务
如果您要发布托管在 ArcGIS Online 或 ArcGIS Enterprise 门户上的要素服务,则数据始终为非版本化数据,并且系统在您启用同步时会自动准备数据,以供离线使用。
请参阅为将加入离线地图的托管要素图层类型启用同步的说明:
编辑器设置
您在托管要素图层上启用的编辑者设置决定离线用户可以对数据执行哪些操作。
- 只读数据 - 如果客户端仅查询从托管要素图层下载的数据,以供离线使用,则请针对托管要素图层项目启用同步,但不启用编辑。 通过此配置,无法在离线时编辑数据,也无法将数据同步回要素图层。
从 ArcGIS Pro 发布时,您也可以禁用编辑但启用同步。 有关详细信息,请参阅 ArcGIS Pro 帮助中的配置 Web 要素图层。
- 可编辑数据 - 如果客户端将在离线时编辑数据并在建立连接时与托管要素图层同步更改,则请允许编辑,选择允许的编辑类型,并对托管要素图层项目启用同步。
从 ArcGIS Pro 发布时,您可以设置等效选项。 有关详细信息,请参阅 ArcGIS Pro 帮助中的配置 Web 要素图层。
编辑者追踪、基于所有权的访问控制和离线数据
您可以追踪在离线时编辑数据的用户。 也可以基于创建要素的用户来控制要素编辑者可以查看或编辑的内容。 这适用于 ArcGIS Server 要素服务和托管要素图层。
提示:
要对 ArcGIS Server 要素服务启用此功能,请在发布之前对地理数据库中的数据启用编辑者追踪,并启用基于所有权的访问控制。 对于托管要素图层,请从门户中图层项目详细信息页面的设置选项卡中启用这些选项。
在要素图层上启用编辑者追踪后,编辑者追踪字段(存储要素创建者名称、要素创建日期、编辑者名称和编辑日期的字段)无法禁用或设置为不可见。 如果未在要素图层中包含这些字段,则客户端无法离线使用要素图层。
要在离线工作流中有效使用这些选项,您必须了解哪个用户被视为要素创建者和编辑者以及如何填充字段。
- 将数据从要素图层下载到客户端以供离线使用时,编辑者追踪字段的现有值会随数据其余部分一起复制到客户端。
- 当编辑者在离线状态下添加或更改数据时,创建或编辑要素的日期和时间将记录在相应的日期字段中。 当数据与要素服务同步时,将保留这些日期值。
注:
如果图层中的日期字段以 UTC 以外的时区存储值,则必须在从 ArcGIS Pro 发布服务时指定该时区。 ArcGIS 会将指定的时区应用于所有追踪日期字段的编辑器。 如果在发布时未指定时区,则假定为 UTC。
如果您从 ArcGIS Enterprise 或 ArcGIS Online 中的文件发布托管要素图层,则日期始终以 UTC 存储。
- 对于离线状态下创建的要素,创建者名称值将设置为离线使用 Web 地图的 ArcGIS Enterprise 或 ArcGIS Online 用户的名称。
- 当编辑者在离线状态下更新现有要素的几何或属性时,编辑者名称值将设置为离线使用 Web 地图的 ArcGIS Enterprise 或 ArcGIS Online 用户的名称。 这些要素的创建者名称值不会更改。
离线使用地图的用户或管理员(ArcGIS Server 管理员或组织管理员)可以连接到服务和同步数据。
可以使用基于所有权的访问控制来控制要素访问。 这适用于 ArcGIS Server 要素服务和托管要素服务。 如果客户端执行的任何编辑违反基于所有权的访问控制规则,则不会将这些编辑与服务进行同步。 这种情况下,同步编辑操作所用的登录帐户将被视为编辑者。
对于 ArcGIS Server 要素服务,ArcGIS Server 管理员也可以连接到服务并同步数据。 但是,当管理员对离线状态下所做的编辑操作进行同步时,基于所有权的访问控制将取决于离线使用地图的指定用户,而不是管理员。
分布式协作中的编辑者追踪
在分布式协作工作流中使用编辑者追踪时,行为如下:
协作之前启用发送组织的编辑者追踪时,会启用接收组织的要素图层的编辑者追踪。 如果您将要素图层作为副本共享,则编辑者追踪字段中的值将重置。 这反映了数据在复制到接收组织时已重新创建的事实。
首次将数据复制到接收组织时,编辑者追踪日期将设置为使用 UTC 的当前时间戳,并且创建者名称和编辑者名称将设置为发布用户。 同步要素图层时,将保留来自发送组织的编辑者追踪日期。 因此,从共享数据的时间开始,接收组织将包含在发送组织中进行编辑的日期。 当同步到接收组织时,添加或更新的要素的创建者和编辑者名称值将设置为复制要素图层时设置的复本所有者(发布用户)。
注:
将为接收组织保留访问控制设置,但无法强制执行访问控制,因为所有要素归接收组织中的复本所有者所有。
仅在 ArcGIS Online 中启用图层的编辑者追踪时,同步过程将根据当前时间戳 (UTC) 和复本所有者(发布用户)来设置编辑者追踪值。
您不必对要素图层中的所有图层启用编辑者追踪。 但是,当您在协作中使用要素图层时,在以下情景中将对所有图层启用编辑者追踪:
- 从 ArcGIS Enterprise 或 ArcGIS Online 发送到 ArcGIS Online 时,将启用 ArcGIS Online 托管要素图层中所有图层的编辑者追踪。
- 从 ArcGIS Online 到 ArcGIS Enterprise 进行协作并且启用编辑者追踪时,将启用 ArcGIS Online 和 ArcGIS Enterprise 要素图层中所有图层的编辑者追踪。
如果在将要素图层添加到协作之后启用编辑者追踪,则接收组织将不会启用编辑者追踪。