天天天晴 2014-07-31 03:23 采纳率: 0%
浏览 2981

C#调用ArcEngine的Geoprocessor工具消除图斑

ArcEngine调用Geoprocessor工具SelectLayerByAttribute选择面积小于500的图斑,可以正常运行

Geoprocessor GP = new Geoprocessor();
g.OverwriteOutput = true;

SelectLayerByAttribute SelectByAttribute = new SelectLayerByAttribute();
ILayer featureLayer = axMapControl1.get_Layer(0);
SelectByAttribute.in_layer_or_view = featureLayer;
SelectByAttribute.selection_type = "NEW_SELECTION";
SelectByAttribute.where_clause = "AREA <500";
g.Execute(SelectByAttribute,null);

选择图斑之后,调用Eliminate消除图斑

String output = @"C:\Users\zc\Documents\ArcGIS\Default.gdb\soils_Eliminate4";

Eliminate eliminate = new Eliminate();
eliminate.in_features = featureLayer;
eliminate.out_feature_class = output;

g.Execute(eliminate, null);

出现错误,错误提示
Message "对 COM 组件的调用返回了错误 HRESULT E_FAIL。"

StackTrace " 在 ESRI.ArcGIS.Geoprocessing.GeoProcessorClass.Execute(String Name, IVariantArray ipValues, ITrackCancel pTrackCancel)
在 ESRI.ArcGIS.Geoprocessor.Geoprocessor.ExecuteInner(IGPProcess process, ITrackCancel trackCancel, IGeoProcessor igp, IVariantArray iva)
在 ESRI.ArcGIS.Geoprocessor.Geoprocessor.Execute(IGPProcess process, ITrackCancel trackCancel)
在 stretch.Form1.button2_Click(Object sender, EventArgs e) 位置 D:\stretch\stretch\Form1.cs:行号 94"
网上关于这方面的资料很少,应该是eliminate的参数有错误,arcengine帮助文档给的参数类型是“object”,不清楚到底是什么类型的参数,有做过这方面的前辈指点一下吗?

  • 写回答

2条回答 默认 最新

  • bagyifkchen 2016-03-10 09:36
    关注

    大神 这个问题解决了吗 我调用平滑面的GP工具报 "对 COM 组件的调用返回了错误 HRESULT E_FAIL 这个错误,调用裁切GP工具都没有问题,调用方法是一样的,这是为什么呢

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘