编辑器任务
编辑器任务提供了一套用于对 ArcSDE 地理数据库中的要素和属性基于 Web 进行编辑的工具。此任务要求应用程序包含通过 ArcGIS Server 本地连接(至少包含一个来自 ArcSDE 地理数据库的图层)访问的地图服务。Shapefile、个人地理数据库图层和文件地理数据库图层不可编辑,但可在地图服务中包含这些类型的图层。
编辑器任务的作用是什么?
将编辑器任务添加到应用程序后,该应用程序的用户将能够访问各种工具来编辑数据,并保存所做的编辑。编辑器任务包括用于创建、移动、复制、分割、合并和删除要素的工具。另外,您还可以查看并编辑要素折点的位置。为应用程序配置编辑器任务时,可选择用户可编辑的版本和图层。编辑时,应用程序的用户可以调整捕捉和选择选项。
在 Web 环境中编辑的感觉会与桌面编辑略有不同,您可能要使用练习数据集来使自己习惯于这里所提供的工具及其性能。例如,编辑时启用捕捉时,只有在放置折点之后,才会发生捕捉。放置的折点将捕捉到适当的折点、边或端点。
注:要查看捕捉容差,可选中显示捕捉圆复选框,要查看当前光标位置将会捕捉到何处,可按下 S 键。
如何使用编辑器任务中包含的工具?
要查看有关编辑任务中各工具的详细帮助信息,可单击 Web 制图应用程序右上角的帮助按钮。编辑数据页面包含编辑器任务中的所有工具的图形和使用说明。
是否可对编辑器任务进行自定义?
可以对编辑器任务进行自定义。有关如何将自己的功能添加到编辑器任务中的示例和说明,请参阅开发人员帮助中的编辑器任务控制介绍。
还可以自定义 Web 制图应用程序帮助,以对添加到编辑器任务中的所有工具进行记录。有关编辑数据主题的帮助位于:C:\Inetpub\wwwroot\<应用程序名称>\Help\EditorTask.htm。您可使用任何文本编辑器或 HTML 编辑器对此主题进行修改,以使其包含对于自定义编辑任务的描述。
使用池化和非池化服务进行编辑
池化和非池化服务均可用于编辑器任务。使用池化服务时,服务器可支持大量并行用户,因为服务器在应用程序会话期间不必为每个用户创建专门的服务实例。相反,用户可共享池中的服务实例。使用池化服务执行编辑器任务时,应该注意以下问题:
- 池化服务的编辑仅可用于非版本化数据。
- 编辑池化服务时,无法撤消或恢复编辑。
- 始终会优先使用编辑会话解决冲突,这意味着最新编辑将覆盖在同一要素上先前执行的所有编辑。
编辑版本化和非版本化数据
编辑器任务支持对版本化和非版本化数据进行编辑。要使用编辑器任务编辑版本化数据,必须使用非池化服务。
您可以使用池化或非池化服务编辑非版本化数据。编辑非版本化数据时,无法撤销、恢复编辑,也无法调整自动协调选项。上次保存的编辑始终会覆盖先前对同一要素所做的编辑。
如何解决冲突?
两个用户使用编辑器任务同时编辑同一要素时会发生什么?编辑器任务可基于两个重要设置自动协调所有冲突:
- 冲突由对象(行)定义,还是由属性(列)定义?如果两个用户编辑同一要素的不同属性,这种情况被视为冲突吗?如果选择用对象(行)定义冲突,这种情况被视为冲突,并且仅能应用两个用户编辑之一。然而,如果选择通过属性(列)定义冲突,两个编辑都可被应用。这种情况下,仅当两个用户编辑同一属性时才会发生冲突。
- 优先使用数据库还是编辑会话解决冲突?如果其他人和您编辑同一要素,并率先保存了他/她的编辑,在您进行保存时将会发生什么?如果选择优先使用数据库解决冲突,您的编辑将无法被应用。可将此设置视为“先者为胜”。如果选择优先使用编辑会话解决冲突,您的更改将覆盖其他用户的编辑。优先使用编辑版本解决冲突可被视为“先者为胜”。
默认情况下,优先使用数据库通过对象(行)解决冲突。如果要更改设置,可在管理器中单击编辑器任务的配置按钮,然后单击高级选项卡设置自动协调选项。
您还可以选择用户在尝试保存冲突编辑时是否会收到消息。消息写道“目标版本在开始编辑时就已经更新。在将这些更改合并到编辑会话时检测到冲突但已得到解决。”地图刷新时,您可以看到由其他用户的编辑所导致的变化。
关于编辑器任务的其他信息
以下是一些您所应了解的有关编辑器任务的行为和功能的附加信息:
- 编辑器任务专门用于编辑简单要素及属性,而不关注基础地理数据库的行为。因此,您无法使用编辑器任务来进行验证拓扑或网络、管理 ArcSDE,以及创建版本等操作。这些类型的操作最好在 Web 编辑会话之前或之后于 ArcGIS Desktop 中完成。
- 编辑任务无法用于由地图服务定义 (MSD) 文件发布的地图服务。基于 MSD 的地图服务可专门用于优化的地图显示,而无法访问编辑所需要的细致 ArcObject。用于编辑器任务的所有地图服务必须由 ArcMap 文档 (MXD) 发布。
- 编辑器任务无法用于注记图层、连接字段或独立表(包括关联表)。
- 编辑器任务支持在地理数据库中创建的子类型和属性域。另外,执行编辑操作的用户将看到属性域描述,而不是编码值。例如,如果在县分区基础设施数据库中正执行 Web 编辑会话,将可以利用 Web ADF 选择所需子类型(例如 City),然后挑选适当的属性域(例如 Residential、Commercial 或 Industrial)。最重要的是,将显示属性域描述 Residential 而不是编码值 R。
- 每个应用程序中仅能包含一个编辑器任务。
- 您无法使用编辑任务创建多点要素。尝试执行此操作将返回消息“不支持此几何类型。”但是,您可以使用编辑器任务移动、复制或删除现有的多点要素。您还可以使用编辑器任务编辑现有多点要素的属性。
-
默认情况下,编辑器任务会在每次应用选择要素工具时创建新选择内容。您可在运行时更改此行为,以始终将选择包络矩形添加到当前选择集,从当前选择集中移除包络矩形或在包络矩形内切换要素的选中状态。要执行此操作,可在编辑器任务 上单击设置,展开选择要素面板,然后更改选择模式。
-
编辑应用唯一值渲染器的图层时,将会看到许多可用于创建要素的按钮。您可以使用这些按钮直接创建渲染器所基于的要素类型。
由于在地图服务中为下面屏幕截图中的“建筑物”要素类定义了唯一值渲染器,因此有多个按钮可用于创建要素。
- 该编辑器任务不支持重复的图层名称。将编辑器任务添加到应用程序之前,需确保要编辑的所有图层在源地图文档中具有唯一名称。
- 有关如何在 Web 应用程序中设置编辑器任务的详细演练,请参阅 ArcGIS Server 帮助主题教程:创建 Web 编辑应用程序。