请问如何在C# ArcEngine开发中调用GP工具处理后将数据保存到到任意位置?并读取?

本人是刚毕业的学生,现在在边学边做Engine的开发,下面的代码是调用GP的Dissolve工具,请问怎么把这是数据保存到任意位置任意名称?(还有就是我这段代码之前能运行,后来不知道不小心改什么地方了,“gp.Execute(dissolve, null);”这句会说没有正确的返回值之类的话),还有个问题,就是求大神们推荐几本好书,关于Arcgis二次开发的.NET的,现在手上只有一本牟乃夏的那个,感觉不够用,,,,,
Geoprocessor gp = new Geoprocessor();  
gp.OverwriteOutput = true;    
object sev = null;      
ESRI.ArcGIS.DataManagementTools.Dissolve dissolve = new ESRI.ArcGIS.DataManagementTools.Dissolve();    
IFeatureLayer featureLayer = inGeodataset as IFeatureLayer;     
dissolve.in_features = featureLayer;    
dissolve.out_feature_class ="E:\\dissolve.shp";     
dissolve.multi_part = "SINGLE_PART";          
gp.Execute(dissolve, null);         
this.axMapControl1.AddShapeFile(@"E:\\","dissolve.shp");
this.axMapControl1.MoveLayerTo(1, 0);
已邀请:

朱新颖

赞同来自: jim61zhang GIS知乎 邓昊键

1,dissolve.out_feature_class ="E:\\dissolve.shp";     即存储输出要素类的位置和名称,这里是可以随意设置的,可以保存为shp,FileGDB,MDB,或者SDE中,直接使用绝对路径即可。读取的话直接构建相应的WorkspaceFactory,获取IWorkspace,直接使用IFeatureWorksapce.OpenFeatureClass()即可。另外,GP工具的输入输出参数推荐都使用绝对路径形式,比如您的输入dissolve.in_features = featureLayer;最好赋予该要素类的绝对路径;因为传人AO对象不稳定,易出错。
2,最好的书籍就是AO的帮助文档,里面描述的很清楚,还有很多示例代码和概念讲解,参考:
http://resources.arcgis.com/en ... 0000/

要回复问题请先登录注册