Skip To Content

任务参数属性 (REST)

每个地理处理任务至少具有一个参数。每个任务参数都有一组描述性属性,可帮助您了解参数并提供合适的值以便成功地执行该任务。以下屏幕截图显示了“距离”任务参数示例,如服务目录中地理处理任务页面所示。屏幕截图下方介绍了每个属性的意义。

任务参数属性

数据类型

参数数据类型用于指定客户端必须对参数提供的值类型。参数值可以是简单的字符串、长整型值、双精度型值、布尔型值或日期。也可以是要素集(属性类似于要素类的要素集合)、栅格。例如,如果数据类型为长整型,则必须提供介于 −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

TrueFalse

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

按行和列表示的表。

{
"fields":[{"name":"Id","type":"esriFieldTypeString","alias":"Id"},
{"name":"State_Name","type":"esriFieldTypeString","alias":"State
Name"},
{"name":"State_Abbr","type":"esriFieldTypeString","alias":"State
Abbr"}],
"features" : [
 { "attributes" : {"Id" : 43, "State_Name" :
"California","State_Abbr":"CA"},
{ "attributes" : {"Id" : 67, "State_Name" :
"Colorado","State_Abbr":"CO"}]}
TypeString","alias":"Id"},

GPFeatureRecordSetLayer

具有几何、空间参考、字段定义和要素的要素。

GPFeatureRecordSetLayer JSON

{ 
"geometryType" : "esriGeometryPoint",
"fields":[
  {"name":"Id","type":"esriFieldTypeOID","alias":"Id"},
  {"name":"Name","type":"esriFieldTypeString","alias":"Name"}],
"spatialReference" : {"wkid" : 4326},
"features" : [
    { "geometry" : {"x" : -104.44, "y" : 34.83,
           "spatialReference" : {"wkid" : 4326}}, 
      "attributes" : 
           {"Id" : 43,"Name" : "Feature 1"}},
    { "geometry" : {"x" : -100.65, "y" : 33.69,
            "spatialReference" : {"wkid" : 4326}},
      "attributes" : 
           {"Id" : 42,"Name" : "Feature 2"}}
    ]
}

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 参数没有默认值。

参数类型

有以下三种参数类型:

  1. esriParameterTypeRequired:该参数是成功执行任务所必需的参数。对任务资源执行操作时,客户端必须提供参数值。
  2. esriParameterTypeOptional:该参数是用于成功执行任务的可选参数。
  3. esriParameterTypeDerived:该参数值是由其他输入参数所派生的输出参数,因此客户端不必提供值。

类别

当有许多输入和输出参数时,通常将这些参数分组为特定类别,以便于工具创作者更好地了解这些参数。以下屏幕截图显示了类别的示例,如 ArcGIS Desktop 工具对话框中所示。

类别属性

该类别用于指定参数是否属于工具创作者所设计的任何特定类别。设计用于地理处理任务的微件时,可以使用该类别值。

选择列表

某些 GPString 参数将具有一个附加的“选择列表”属性。选择列表是由发布者为成功执行工具而确定的一组预定义的值。要成功执行工具,客户端必须从选择列表中选择一个值。如果客户端提供选择列表值以外的任何值,任务都将失败。以下屏幕截图显示了 GPString 参数 Transportation_mode_network 所对应的选择列表值:街道网络、自行车网络和步行网络。提供了这些选择列表值时,客户端必须选择其中一个值来成功执行工具。

选择列表属性

了解有关发布任务时,为参数创建选择列表值的详细信息

相关主题