在ArcEngine中使用Geoprocessing工具-执行工具

转自原文在ArcEngine中使用Geoprocessing工具-执行工具

来解析一下Geoprocessor类的Execute方法,他有两种重载,Execute(IGPProcess, ITrackCancel)和Execute(string, IVariantArray, ITrackCancel)。

Execute(IGPProcess, ITrackCancel) IGProcess是所有Geoprocessor工具类都实现了的接口,通过ITrackCancel接口能够处理用户发出的取消指令并进一步处理,暂时用不上,一般都用null直接代替了。 因此这种方式的执行流程如下: ESRI.ArcGIS.AnalysisTools.Buffer bufferTool = new ESRI.ArcGIS.AnalysisTools.Buffer(); GP.Execute(bufferTool, null);

Execute(string, IVariantArray, ITrackCancel) string即是这个GP工具的名字了,IVariantArray是esriSystem命名空间下的一个接口,提供对esriSystem数组类VarArrayClass的访问功能,该类提供执行GP所需的参数,通过上文,大概也应该猜到了,这个参数数组类的成员应该也是字符串,方法如下: GP.AddToolbox(@”C:\SanDiego\BestPath.tbx”); IVariantArray parameters = new VarArrayClass(); parameters.Add(@”C:\SanDiego\source.shp”); parameters.Add(@”C:\SanDiego\destination.shp”); parameters.Add(@”C:\SanDiego\bestpath.shp”); GP.Execute(“CalculateBestPath”, parameters, null);

好的,这两种方法该用在哪里这下都明白了,对于既有的Geopressing工具是第一种方法,对于自己制作的ArcToolBox则可以使用第二种方法来执行。(窃以为第二种方法的形式更为优雅一点。)

我们还有一种方法可以把自制的ArcToolBox在系统中声明为引用,从而以第一种方式执行。这种方法我目前想到的好处有一是保护了tbx文件(在发布的系统里面tbx文件会被编译成dll,从而保护了自定义模型的内部实现细节不被泄露),二是在不打开ArcGIS Desktop产品甚至不安装的情况就能了解该工具箱中包含哪些工具和模型,以及入参出参的情况。 添加的方法很简单,在Visual Studio集成开发环境菜单中,项目->Add ArcGIS ToolBox Reference,选中你需要的tbx文件,执行加载即可,然后的用法跟添加了既有的Geoprocessing Tools引用是一样的了。不过目前我遇到的问题是经常会出现加载不成功,提示有些工具不能加载,甚至是ArcGIS自带的那些tbx文件,但是还能用,这就比较诡异了,似乎是版本的问题,关于这个问题会继续追踪报道。

时间: 2024-10-11 13:39:49

在ArcEngine中使用Geoprocessing工具-执行工具的相关文章

SSDT-BI之五:项目执行工具和配置文件

正常情况下,我们的服务器是不会安装开发工具的,那么怎么执行我们制作好的BI解决方案呢? 在安装Sql server企业版之后,就会有一个工具可以执行BI程序,但是执行的只是单个的Package文件,如下图,包源选择‘文件系统’,包选择项目文件夹下的Package(.dtsx)文件,之后点击执行即可: 如果使用包执行工具执行开发好的包,那么如何才能修改包中定义的变量呢?解决方案就是配置文件. 配置文件 配置文件是Package的一个特殊属性,下面我就演示怎么创建并使用配置文件. 1,在项目文件夹下

CentOS中Python pip包管理工具的安装和使用

Python有很多第三方的模块或包,要管理这些包,有很多方法.python的pip包管理工具,类似与CentOS中yum,使用该工具安装Python包非常方便. 从Python内部来说,pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.distribute是setuptools的取代(Setuptools包后期不再维护了),pip是easy_install的取代. pip的安装前需要setuptools 或者 distribute,如果你使用的是P

Monkey工具执行及日志说明

●Monkey工具执行 com.houbank.houbankfinance ?adb shell monkey -p com.android.calculator2 1000 (可以看出计算器随机运行1000次) ?adb shell monkey -p com.houbank.houbankfinance -v -v 100 >D:\a.log (可以看见运行计算器后的日志输出) ?输出的日志含义说明: 1. 使用的工具是Monkey.seed值.执行时间100 2.包名 3. 默认使用的类

在MyEclipse的web项目/java项目中,使用Hibernate-tools中的hbm2java和hbm2ddl工具,依据hbm文件自己主动生成pojo和数据库脚本

     首先.我一定要吐槽下,这个Ant管理部署项目的工具.以及hibernate刚刚学习,导入我这一个简单的问题整了一天多.实在效率有点低下. 在这两天中,①了解了Ant.知道了在Ant中非常灵活的步骤项目的情况,知道了build.xml文件的一些基本写法.②还学习了在MyEclipse这种集成工具中完毕项目部署. ③以及在这两种情况中.利用hibernateTools中的hbm2java和hbm2ddl工具,依据对象关系映射文件,自己主动生成POJO以及SQL文件(就是数据表). 一,在w

iOS开发中的第三方类库管理工具-CocoaPods-

转载请注明出处 : http://blog.csdn.net/whjForWork/article/details/44967891 CocoaPods是什么? 当iOS 项目中需要使用第三方开源类库时,或者已使用的类库需要更新时,再去一个个重新下载非常麻烦,但是通过CocoaPods,我们可以一行命令就解决这个问题 CocoaPods是一个负责管理iOS项目中第三方开源代码的工具,Cocoa使用Ruby开发,其源码在Github上开源https://github.com/CocoaPods/C

批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor

原文:批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11 之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便 SQLPROMPT5.3对各种加密对象的解密测试 SQL2005解密已经被加密的存储过程 昨天ahdung 童鞋介绍了这个工具给我,非常感谢他 dbForge SQL Decryptor这个工具的软件公司是dev

spider-通过scrapyd网页管理工具执行scrapy框架

1.首先写一个scrapy框架爬虫的项目 scrapy startproject 项目名称 # 创建项目 cd 项目名称 scrapy genspider 爬虫名称 爬虫网址(www.xxxx) #生成一个爬虫 scrapy crawl 爬虫名称 # 启动爬虫 2.部署环境 pip install scrapyd pip install scrapyd-client 3.在爬虫项目目录下输入命令:scrapyd,已经在本地6800端口运行 4.在爬虫根目录执行:scrapyd-deploy,如果

小米范工具系列之十:小米范SSH批量命令执行工具

小米范SSH批量命令执行工具的主要功能是自动登录多台机器,并执行指定的命令,比如批量抓去shadow.批量获取系统版本等. 界面如下图: 使用方法: 1.输入目标ip.用户名.密码.ssh端口(使用空格或tab键分隔),每行一个目标. 2.设置线程数(如果不设置默认为5). 3.选择输出,默认为右侧输出窗口,可以设置每个ip一个文件,比如抓去shadow,可以把每个ip的执行结果保存到一个txt文件放在当前目录下. 4.点击执行即可. 最新版本下载地址:http://pan.baidu.com/

Source Insight 中使用 AStyle 代码格式工具

Source Insight 中使用 AStyle 代码格式工具 彭会锋 2015-05-19 23:26:32     Source Insight是较好的代码阅读和编辑工具,不过source insight没有集成代码格式化工具:GNU的astyle是一个较好的免费的代码格式化工具,经过它的格式化之后,代码排版会变得很漂亮:Astyle主要作为插件供其他程序调用,具体的使用方法如下: 1 astyle下载地址: http://sourceforge.net/projects/astyle/