使用地理处理工具

链接:https://www.jianshu.com/p/16a4950fec55
来源:简书

  • 问题

  如何调用GP工具。

  • 解决方案

  执行IGeoProcessor.Execute方法调用GP工具。

            IGeoProcessor pGeoProcessor = new GeoProcessorClass();
            IVariantArray pVariantArray = new VarArrayClass();
            object varParr = "'" + var1 + "'#;'" + var2 + "'#;";
            pVariantArray.Add(varParr);
            pVariantArray.Add(varResult);

            IGeoProcessorResult pGeoProcessorResult = pGeoProcessor.Execute(toolname_toolalias,         
            pVariantArray, null);
  • 讨论

  执行工具时,传入的第一个参数Name为工具的语法名称,具体可以打开该工具的Tool Help,Synatx关键字下面显示的即为工具的语法名称。 如:

Syntax
Intersect_analysis (in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {output_type})

Intersect_analysis 就是工具语法名称。in_features建议使用数据的绝对路径,如:

@"E:\work\vm_src\10.3\440784db.mdb\KJSJ\ZDJBXX_DB #;C:\Users\Xinying\AppData\Roaming\ESRI\Desktop10.3\ArcCatalog\Connection to 192.168.1.1.sde\SDE.ZDJBXX_DB #"

SDE中的绝对路劲为.sde连接文件的绝对路径+要素类名称,在ArcObjects中可用IWorkspaceFactory.Create()方法创建SDE文件。另外,可在ArcGIS Desktop中执行该工具,在消息中可以查看参数的写法。

  工具执行成功的消息可通过pGeoProcessorResult查看,如果执行失败可能过pGeoProcessor.GetReturnMessages()获取详细报错信息。

  • See Also

  How to run a geoprocessing tool
  How to get returned messages

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章