每个地理处理任务至少具有一个参数。每个任务参数都有一组描述性属性,可帮助您了解参数并提供合适的值以便成功地执行该任务。以下屏幕截图显示了“距离”任务参数示例,如服务目录中地理处理任务页面所示。屏幕截图下方介绍了每个属性的意义。
数据类型
参数数据类型用于指定客户端必须对参数提供的值类型。参数值可以是简单的字符串、长整型值、双精度型值、布尔型值或日期。也可以是要素集(属性类似于要素类的要素集合)、表或栅格。例如,如果数据类型为长整型,则必须提供介于 −2,147,483,648 到 2,147,483,647 之间的数值。其他任何十进制值或字符串值均会导致工具行为异常。同样,如果是栅格数据类型,则必须提供相应的栅格数据才能成功运行工具。以下列表显示了任务参数的数据类型及其预期值。
数据类型 | 值 | JSON 表示示例 |
GPLong | −2,147,483,648 与 2,147,483,647 之间的整型值 | 345 |
GPDouble | 十进制值 | 1.414 |
GPString | 字符串 | TestString |
GPBoolean | True 或 False | true |
GPLinearUnit | 具有距离值及其测量单位(如英里、千米、英尺等)的值。 | { "distance" :345.678, "units" :"esriMiles" } |
GPDate | 表示自 UTC 时间(1970 年 1 月 1 日)起的毫秒数的数字。 | 1199145600000 |
GPDataFile | 任意文件类型,例如 .txt、.pdf、.csv 等。 | { "url" :"http://myserver/myfile" } |
GPRasterDataLayer | 由像元(或像素)矩阵组成的栅格数据,该矩阵按行和列(格网)组织,其中每个像元均包含表示信息的值。 | { "url" :"http://myserver/lake.tif", "format" :"tif" } |
GPRecordSet | 按行和列表示的表。 |
|
GPFeatureRecordSetLayer | 具有几何、空间参考、字段定义和要素的要素。 | GPFeatureRecordSetLayer JSON |
GPMultiValue | 相同数据类型 GP 参数值的数组。 例如 GPMultiValue:GPString、GPMultiValue:GPLinearUnit |
["Parcels", "Street Lights"] [ { "distance" :345.67, "units" :"esriMiles" }, { "distance" :36, "units" :"esriMiles" } ] |
注:
- 对于 GPRecordSet 和 GPFeatureRecordSetLayer 参数,如果有大量记录和要素,则可以将 JSON 结构存储在文件中,然后提供 URL 作为输入。例如,{ "url" :"http://myserver/myfeatures/afile.txt"}。文本文件必须包含 JSON 格式的要素集或记录集。
- 如果数据类型为 GPMultiValue:GPFeatureRecordSetLayer,则要素集必须包含成功执行任务所需的字段定义。
显示名称
显示的名称是对参数而言有意义的名称。
方向
方向可帮助您识别出参数是输入参数还是输出参数。
- esriGPParameterDirectionInput:输入参数
- esriGPParameterDirectionOutput:输出参数
执行任务时,客户端仅需要提供输入参数值。成功运行任务后,将由服务器创建输出参数,且客户端可以访问这些输出参数值。
默认值
发布地理处理服务时,会通过成功的地理处理工具结果来创建地理处理任务。“默认值”显示用于创建任务的结果中的参数值。输入参数的默认值是成功执行任务所应传递的参数值的示例,输出参数的默认值是任务期望的输出示例。
- GPFeatureRecordSet 和 GPRecordSet 的默认值会具有要素集/记录集方案的相关附加信息。该方案包括 GeometryType、HasZ、HasM、空间参考、字段和要素。以下屏幕截图显示了 GPFeatureRecordSet 数据类型的方案示例。
客户端应提供输入要素集,该要素集应符合成功执行工具所需默认值所定义的方案。该方案的要素属性在大多数情况下均为“无”。但是,如果发布任务时选择包括要素选项,则将在默认值中列出包括的要素。
- GPDataFile、GPRasterData 和 GPRasterDataLayer 参数没有默认值。
参数类型
有以下三种参数类型:
- esriParameterTypeRequired:该参数是成功执行任务所必需的参数。对任务资源执行操作时,客户端必须提供参数值。
- esriParameterTypeOptional:该参数是用于成功执行任务的可选参数。
- esriParameterTypeDerived:该参数值是由其他输入参数所派生的输出参数,因此客户端不必提供值。
类别
当有许多输入和输出参数时,通常将这些参数分组为特定类别,以便于工具创作者更好地了解这些参数。以下屏幕截图显示了类别的示例,如 ArcGIS for Desktop 工具对话框中所示。
该类别用于指定参数是否属于工具创作者所设计的任何特定类别。设计用于地理处理任务的微件时,可以使用该类别值。
选择列表
某些 GPString 参数将具有一个附加的“选择列表”属性。选择列表是由发布者为成功执行工具而确定的一组预定义的值。要成功执行工具,客户端必须从选择列表中选择一个值。如果客户端提供选择列表值以外的任何值,任务都将失败。以下屏幕截图显示了 GPString 参数 Transportation_mode_network 所对应的选择列表值:街道网络、自行车网络和步行网络。提供了这些选择列表值时,客户端必须选择其中一个值来成功执行工具。