定义具有要素或表输入的地理处理任务时,可在服务编辑器 中选择的一种输入模式是用户定义值。选择此输入模式时,方案部分将显示字段列表、字段别名和字段类型,如下图所示。该字段列表与您用作输入以创建结果的图层或表完全相同。
此外,如果任务的输出是要素类、图层或表,则服务编辑器 将会显示输出数据的方案。与输入要素和表一样,输出方案也来自于工具所创建的输出。
构建要发送到任务的要素或行时,客户端使用已发布的方案。您应移除无关的字段并提供文档,以便客户端知道任务所需的字段和字段值。
就本论述而言,要素输入的几何类型被视为方案的一部分,因为 Shape 字段始终包含在要素输入中,并且其字段类型始终与几何类型相匹配。
从输入方案中移除字段
无法在服务编辑器中修改方案。必须修改用于创建要发布结果的输入图层或数据集的方案,或使用其他图层或数据集来创建新结果。
如果使用 ArcMap 内容列表中的要素图层或表视图作为参数输入,则可按照下列步骤轻松移除字段。
- 从服务编辑器 移除任务。右键单击任务,然后单击移除。
- 在 ArcMap 内容列表中,右键单击图层或表并选择属性。
提示:
如果要修改一个不是图层的表文件,则需要单击按源列出按钮 以查看当前 ArcMap 会话中的所有表。
- 单击字段选项卡。
- 在选择哪些字段可见列表中,取消选中要从方案中移除的字段。
- 单击确定。
- 在服务编辑器中,单击添加结果 以添加第一步中移除的结果。服务编辑器添加结果时,其将从刚修改的图层读取此方案。
如果使用磁盘上要素类或表的路径作为工具参数输入(而不是内容列表中的图层或表视图的名称),则可在要素类或表中删除不需要的字段(例如,使用删除字段工具),然后继续再次共享结果。最好在删除数据集的字段前创建数据集副本。最好的方法是创建要素类的要素图层或表的表视图(方法是将其添加到 ArcMap 并修改方案,如上所述),然后使用图层或表视图作为输入重新运行工具,并共享新结果。
添加字段
如果需要向方案中添加字段,则必须退出服务编辑器,向数据集中添加新字段(例如,使用添加字段工具),然后创建要共享的新结果。
字段别名
字段别名是字段的替代名称,与实际名称相比,它更具描述性且简明易懂。客户端可将别名用于显示和编辑。无法在服务编辑器 中更改别名。必须在用于创建要发布结果的数据集上更改别名。
注:
仅地理处理数据集支持字段别名。Shapefile 和其他格式不支持字段别名。
- 退出服务编辑器。
- 导航至目录 窗口中的数据集。
- 右键单击数据集并选择属性。
- 单击字段选项卡。
- 选择要为其提供别名的字段。
- 在字段属性部分,输入字段别名。
- 对于要为其提供别名的其他字段,请重复以上操作。
- 单击确定。
- 在结果 窗口中,右键单击结果并选择共享为 > 地理处理服务。不必重新执行您的工具。
客户端如何使用输入方案
方案提供客户端应用程序将使用的默认几何类型、空间参考和属性。在 ArcGIS Desktop 中使用任务时,将强制使用几何类型,您不能提供其他几何类型的要素,但允许使用不同属性。
使用 JavaScript API 构建的 Web 客户端可给任务提供部分定义的要素集。如果客户端提供的要素集缺少几何类型、空间参数或字段,则将使用已发布方案所定义的值填充它们。如果客户端提供的是一个完整定义的要素集,则将原样使用。
记录任务的需求
如果任务需要遵守方案,则需要记录客户端的要求。例如,如果任务仅使用点要素,或者需要特定字段,或需要特定字段值,则记录这些要求。
输出方案
如果任务的输出是要素类、要素图层、表或表视图,则服务编辑器 将显示输出的方案。
此方案视提供的输入不同而不同是很常见的,也就是说,它是动态的(可以更改)和静态的(始终不变)。例如,生成近邻表工具选择性地将 NEAR_X、NEAR_Y 和 NEAR_ANGLE 字段添加到输出要素中,具体取决于位置和角度参数。要发布的任务可能与生成近邻表工具类似,其输出方案可能会因客户端设置其他参数值而不同。其他工具(和这些工具创建的任务)可能会输出不同的几何类型(点、线或面),具体取决于客户端设置的其他参数值。
注:
执行任务时,发送到客户端的方案是执行任务生成的。此方案可能与服务编辑器 中显示的不同。
输入方案基于要素和记录集
创建的自定义模型和脚本工具可以使用输入参数的“要素集”或“记录集”数据类型。使用“要素集”可在 ArcMap 中交互地数字化要素,使用“记录集”可交互地将行添加到表中。“要素集”和“记录集”数据类型具有其自身的方案,其方案用于定义任务参数的方案。要修改任务参数的方案,需修改自定义工具中使用的“要素集”或“记录集”方案。有关“要素集”和“记录集”的详细信息,请参阅以下链接。
ArcGIS Desktop 客户端
方案的某些方面仅适用于 ArcGIS Desktop 客户端,而不适用于使用 JavaScript、SilverLight 或 Flex API 创建的 web 客户端。
编码值域
属性域是用于限制属性字段的有效值或允许值的规则。如果方案源数据集中的属性字段具有编码值属性域,这些编码值将显示在要素集或记录集控件内该属性字段值的下拉列表中。
符号系统
要素方案存储符号系统信息,ArcMap 可访问这些信息,在使用“要素集”控件来数字化要素时将使用这些信息。
默认值
数据集中的字段可以具有创建新要素或行时使用的默认值。要为字段设置默认值:
- 导航至目录 窗口中的数据集。
- 右键单击数据集并选择属性。
- 单击字段选项卡。
- 选择要为其提供默认值的字段。
- 在字段属性部分中,为字段输入默认值。
- 单击确定。