这两天,为ArcEngine中的Merge工具的调试伤头脑筋,明明很简单的事情,就是搞不掂儿。今天忽然想到是否是中文的关系,果然,把中文修改成英文成功了。真是快郁闷死了!
public static Boolean Merge(String[] inputs, String output) { Geoprocessor gp = new Geoprocessor(); gp.OverwriteOutput = true; int strSize = inputs.Count(); String tempStr = "\"" + inputs[0] + ""; //注意,参数里面的 \" 即使没有,也可以运行成功。 //同时输入参数可以为多个图层,不限定两个。不想相交 //操作,必须两个图层。一定注意,参数中不能有中文名称 for (int i = 1; i < strSize - 1; i++) { tempStr += ";" + inputs[i] + ""; } tempStr += ";" + inputs[strSize - 1] + "\""; MessageBox.Show("input: " + tempStr); ESRI.ArcGIS.DataManagementTools.Merge merge = new ESRI.ArcGIS.DataManagementTools.Merge(); merge.inputs = tempStr; merge.output = output; try { gp.Execute(merge, null); } catch (COMException e) { string str = ""; for (int i = 0; i < gp.MessageCount; i++) { str += gp.GetMessage(i); } MessageBox.Show(str); return false; } return true; }
作者:
cglnet
本文版权归cglNet和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.