调用原型:Dim gpResult AS IGPResult = await Geoprocessing.ExecuteToolAsync(调用工具名称, GPValue数组, environment, null, null, executeFlags) 一、调用工具名称:地理处理工具名称。如面转线:management.PolygonToLine,而非PolygonToLine_management确认要传入的工具名称就要借助ArcGIS Pro桌面软件、帮助甚至ArcObjects SDK中对应工具的定义。可以先在ArcGIS Pro桌面软件上找到该工具,并打开,如下图所示。
点击右上角?号,可以进入该工具的帮助页面,如下图所示。
其中红框中的内容就是工具的名称,我们通过ArcGIS Pro sdk调用的时候,传入该名即可。
二、GPValue数组:MakeValueArray方法用于创建一个GPValue数组,传递多个参数给地理处理工具。Dim GPValue As IReadOnlyList(Of String)GPValue = Geoprocessing.MakeValueArray(inputPath, outputPath, "IDENTIFY_NEIGHBORS") 三、environment:重点关注输出是否覆盖。Dim environments = Geoprocessing.MakeEnvironmentArray(overwriteoutput:=True) '允许输出时同名文件覆盖 五、executeFlags:重点关注输出时是否添加到地图中。Dim executeFlags As GPExecuteToolFlags = GPExecuteToolFlags.AddOutputsToMap 六、IGPResult 接口 Geoprocessing.ExecuteToolAsync 返回的地理处理工具结果对象公共属性:
名字 | 描述 |
Environments | 在工具执行中本地使用的地理处理环境。 |
Tuple.Item1 - 名称 | |
Tuple.Item2 - 数据类型 | |
Tuple.Item3 - 值 | |
ErrorCode | 工具执行结果错误码: |
0 : 成功(工具执行时没有任何错误) | |
not 0 :工具失败或被取消。 | |
ErrorMessages | 返回错误消息 - 请参阅下面的代码示例: |
HasWarnings | 如果工具在执行时出现任何警告,则为 True。 |
IsCanceled | 如果工具执行在完成之前被取消,则为 True。 |
IsFailed | 当工具失败或取消时为 True。 |
Messages | 所有输出消息。 若要仅筛选一种类型的消息,请使用 GPMessageType (Warning, Error) - 请参阅下面的代码示例。 |
Parameters | Tuple.Item1 - 名称 |
Tuple.Item2 - 数据类型 | |
Tuple.Item3 - 值 | |
Tuple.Item4 - 输入 = true,输出 = false | |
ReturnValue | 如果工具执行失败,则以字符串或 null 形式返回执行结果值。 |
Values | 输出值,如果工具执行失败,则为 null。 |
ValueTypes | 输出值的数据类型,如果工具失败,则为 null。 |
七、使用范例见ARCGIS PRO SDK VB2022 常用工具调用