/// <summary> /// 追加要素 /// </summary> /// <param name="inputFC"></param> /// <param name="outputFC"></param> /// <param name="fieldPair"></param> /// <param name="msgLog"></param> /// <returns></returns> public static bool GPAppend(ESRI.ArcGIS.Geodatabase.IFeatureClass inputFC, ESRI.ArcGIS.Geodatabase.IFeatureClass outputFC, string fieldPair, out string msgLog) { msgLog = string.Empty; try { ESRI.ArcGIS.DataManagementTools.Append pAppend = new ESRI.ArcGIS.DataManagementTools.Append(); gp.OverwriteOutput = false; pAppend.inputs = inputFC; pAppend.target = outputFC; pAppend.schema_type = "NO_TEST"; pAppend.field_mapping = GetGPFieldMapping(inputFC, outputFC, fieldPair); gp.Execute(pAppend, null); if (!ReturnErrMessage(gp, ref msgLog)) { return(false); } } catch (Exception) { ReturnErrMessage(gp, ref msgLog); return(false); } msgLog = ""; return(true); }
public void Excute(object inputFeatureClass, object targetFeatureClass) { try { Geoprocessor gp = new Geoprocessor(); ESRI.ArcGIS.DataManagementTools.Append appendTool = new ESRI.ArcGIS.DataManagementTools.Append(); //IVariantArray param = new VarArrayClass(); gp.SetEnvironmentValue("workspace", this._environment); appendTool.inputs = inputFeatureClass; appendTool.target = targetFeatureClass; //appendTool.out_feature_class = string.Format("{0}{1}", this._temFullPath, out_feature);//"C:\\tayninh\\temp\\tempmdb.mdb\\" + out_feature; runTool(gp, appendTool, null); } catch (Exception err) { MessageBox.Show("loi append: " + err.ToString()); } }
/// <summary> /// SHP合并append /// </summary> /// <param name="sSHPPath"></param> /// <param name="sOutPutFolder"></param> public static void DoSHPAppend(string sSHPPath, string sOutPutFolder) { RichTextBox rtb = Application.OpenForms["FrmSHPAppend"].Controls["richTxt_message"] as RichTextBox; rtb.Text = "正在处理中,请稍候……\n"; //frm.richTxt_message.AppendText("开始处理……"); //获取所有KML文件 List<string> list = FileManage.getAllFileNameFromFolder(sSHPPath, ".shp"); int nInput = list.Count; string sInputSHPs=""; for (int i = 1; i < nInput-1; i++) { sInputSHPs += list[i] + ";"; } //初始化地理处理类 Geoprocessor gp = new Geoprocessor(); //设置可覆盖 gp.OverwriteOutput = true; rtb.AppendText("\n开始合并……\n"); ESRI.ArcGIS.DataManagementTools.Append append = new ESRI.ArcGIS.DataManagementTools.Append(); append.inputs = sInputSHPs; append.target = list[0]; append.schema_type = "TEST"; RunTool(gp,append,null); rtb.AppendText("完成……\n"); rtb.AppendText("合并后的数据名称为输出文件夹第一个SHP文件即:"+Path.GetFileName(list[0])); #region 删除除合并后的SHP之外的其他SHP,此处需要用SHP文件命名空间要素删除来执行,因为一个SHP文件由6个文件构成 //List<string> deleteList = new List<string>(); ////重新构建list,不包括合并后的SHP //foreach (var item in list) //{ // if (!item.Equals(list[0])) // { // deleteList.Add(item); // } //} ////文件删除 //FileManage.DeteleFiles(deleteList); #endregion }