网站建设模板能实现按钮跳转吗,阿里免费版企业邮箱,微网站的搭建,宿松 做网站ArcGIS Pro SDK 3.0中的Geoprocessing类是用于执行地理处理工具的核心类。地理处理工具是用于执行空间分析、数据转换、数据管理等任务的工具集#xff0c;包括常见的空间分析工具、栅格处理工具、矢量处理工具、地图制图工具等。
之前有简单记录了下Geoprocessing工具的用法…ArcGIS Pro SDK 3.0中的Geoprocessing类是用于执行地理处理工具的核心类。地理处理工具是用于执行空间分析、数据转换、数据管理等任务的工具集包括常见的空间分析工具、栅格处理工具、矢量处理工具、地图制图工具等。
之前有简单记录了下Geoprocessing工具的用法
【ArcGIS Pro二次开发】(9)GeoProcessing工具和自定义工具的调用
最近在使用过程中发现遗漏了不少东西再次记录方便查阅。
这次主要记录Geoprocessing的主要方法和参数的使用。 一、【MakeValueArray】方法
MakeValueArray方法用于创建一个GPValue数组传递多个参数给地理处理工具。
var parameters Geoprocessing.MakeValueArray(ly, null, 100 Meters,null,null, ALL);
参数的类型和数量根据你所要执行的GP工具而定。 二、【ExecuteToolAsync】方法
ExecuteToolAsync是一个异步方法用于执行地理处理工具。
IGPResult result await Geoprocessing.ExecuteToolAsync(Buffer_analysis, parameters, null, null, null, executeFlags);
ExecuteToolAsync方法的参数如下
参数1要执行的地理处理工具的名称例如上面的“Buffer_analysis”指的是【缓冲区】工具。
参数2即上面【MakeValueArray】方法创建的参数数组参数名称和值的类型必须与地理处理工具的要求相匹配。
参数3environments。用于设置地理处理工具的环境变量。一般不需要设置环境变量默认设置为null。
如果需要设置的话可以通过【MakeEnvironmentArray】来创建
var environments Geoprocessing.MakeEnvironmentArray(overwriteoutput: true , extent: 460532 3773964 525111 3827494);
如上所示设置了2个参数【overwriteoutput】输出是否覆盖、【extent】范围。
参数4 cancelToken。用于取消地理处理工具的执行。如果不需要取消功能一般就默认设置为null。
参数5callback。一个GPToolExecuteEventHandler接口说实话我也不知道有啥用默认设置为null。
参数6executeFlags。用于设置工具的执行参数下面会重点讲。
以上6个参数一般情况下注意设置126这3个参数另3个基本都是设为null。 三、【GPExecuteToolFlags】参数
GPExecuteToolFlags是工具的一组参数设置用于指定地理处理工具应怎么执行。
GPExecuteToolFlags executeFlags GPExecuteToolFlags.RefreshProjectItems | GPExecuteToolFlags.GPThread | GPExecuteToolFlags.AddToHistory | GPExecuteToolFlags.AddOutputsToMap | GPExecuteToolFlags.InheritGPOptions;上面列出了GPExecuteToolFlags的5个主要参数设置
1、【RefreshProjectItems】
用于在地理处理工具执行后刷新地图项目如果工具执行后对要素存在修改建议设置刷新。
2、【GPThread】
用于指定在执行地理处理工具时是否使用新线程。使用新线程可以避免主线程阻塞并提高程序响应速度但也可能导致内存使用过高和线程冲突等问题。建议正常情况下还是先不用。
3、【AddToHistory】
指定执行结果将添加到历史记录中。这对于用户需要追踪之前的地理处理操作非常有用。建议打开。
4、【AddOutputsToMap】
工具执行结果添加到当前地图中。这点可根据需要选择最终结果数据可以添加显示但是如果是中间数据则可以不显示。我在之前做的一个拓扑工具就因为没有设置致使中间数据添加到当前地图中显得很乱。
5、【InheritGPOptions】
用于指定是否继承执行地理处理工具的GP选项。例如如果当前GP环境设置了输出坐标系、Z值和M值那么在执行地理处理工具时这些设置将被继承并应用于工具的输出。一般情况下我是不会去设置GP环境所以这个Flag也不会去用。 四、【ShowMessageBox】方法
这里的Geoprocessing.ShowMessageBox和一般的MessageBox不同是专门针对GP工具的消息框感觉更好用一些。
Geoprocessing.ShowMessageBox(toolResult.Messages, GP Messages, toolResult.IsFailed ? GPMessageBoxStyle.Error : GPMessageBoxStyle.Default);
窗口界面如下 五、【OpenToolDialogAsync】方法
Geoprocessing.OpenToolDialogAsync方法用于打开地理处理工具的参数对话框以便用户可以手动输入参数值。该方法通常用于需要用户自定义参数值的情况例如需要使用用户指定的文件路径、日期等。这个方法主要是实现用户交互如果需要用户手动输入参数值用这个比较合适。不过感觉到目前为止都还想不到什么地方会用到它。 以上就是本次补遗的内容。现在回头看之前的文章还是挺乱的有很多疏漏。
现在是初学的积累阶段等以后再好好整理吧。