/// <summary> /// mapinfo格式转mdb(包括mif,tab) /// </summary> /// <param name="strMapInfoFilePath">mapinfo数据所在的文件夹(批量转换)或者mapinfo数据文件路径(单个转换)</param> /// <param name="strMDBPath">输出mdb的完整路径</param> /// <returns></returns> private bool MapInfoToMDB(string strMapInfoFilePath, string strMDBPath) { try { if (strMapInfoFilePath == "" || strMDBPath == "") { return(false); } Geoprocessor geoprocessor = new Geoprocessor(); QuickImport conversion = new QuickImport(); //有扩展名,表示为单个文件 if (System.IO.Path.HasExtension(strMapInfoFilePath)) { conversion.Input = strMapInfoFilePath; } else { //否则为批量文件 conversion.Input = "MAPINFO," + strMapInfoFilePath + "\\*.*,\"RUNTIME_MACROS,\"\"FME_TABLE_PASSWORD,,_MERGE_SCHEMAS,YES\"\",META_MACROS,\"\"SourceFME_TABLE_PASSWORD,\"\",METAFILE,MAPINFO,COORDSYS,,IDLIST,,__FME_DATASET_IS_SOURCE__,true\""; } conversion.Output = strMDBPath; return(RunTool(geoprocessor, conversion, null)); } catch (Exception ex) { On_ProgressFinish(this, "转换过程中出现异常,转换结束,错误原因:" + ex.Message); } return(false); }
/// <summary> /// mapinfo格式转mdb(包括mif,tab) /// </summary> /// <param name="strMapInfoFilePath">mapinfo数据所在的文件夹(批量转换)或者mapinfo数据文件路径(单个转换)</param> /// <param name="strMDBPath">输出mdb的完整路径</param> /// <returns></returns> private bool MapInfoToMDB(string strMapInfoFilePath,string strMDBPath) { try { if (strMapInfoFilePath == "" || strMDBPath == "") return false; Geoprocessor geoprocessor = new Geoprocessor(); QuickImport conversion = new QuickImport(); //有扩展名,表示为单个文件 if (System.IO.Path.HasExtension(strMapInfoFilePath)) { conversion.Input = strMapInfoFilePath; } else { //否则为批量文件 conversion.Input = "MAPINFO," + strMapInfoFilePath + "\\*.*,\"RUNTIME_MACROS,\"\"FME_TABLE_PASSWORD,,_MERGE_SCHEMAS,YES\"\",META_MACROS,\"\"SourceFME_TABLE_PASSWORD,\"\",METAFILE,MAPINFO,COORDSYS,,IDLIST,,__FME_DATASET_IS_SOURCE__,true\""; } conversion.Output = strMDBPath; return RunTool(geoprocessor, conversion, null); } catch (Exception ex) { On_ProgressFinish(this, "转换过程中出现异常,转换结束,错误原因:" + ex.Message); } return false; }
/// <summary> /// E00转mdb /// </summary> /// <param name="strE00Files">文件路径集合</param> /// <param name="strMDBPath">mdb文件路径</param> /// <returns></returns> private bool E00toMDB(List <string> strE00Files, string strMDBPath) { if (strE00Files == null || strE00Files.Count == 0) { return(false); } if (strE00Files.Count == 1) { return(E00toMDB(strE00Files[0], strMDBPath)); } ///转换输入参数 string strInput = "E00," + strE00Files[0] + "," + "\"RUNTIME_MACROS,\"\"_TEXT_CURVE," + "FOLLOW,INCLUDE_BND,NO,INCLUDE_TIC,NO,GENERATE_NODE_FEATURES,YES," + "_EXTRA_DATASETS,"; ///构造源e00文件集合语句 for (int i = 1; i < strE00Files.Count; i++) { strInput += strE00Files[i] + ","; } strInput += "_MERGE_SCHEMAS,YES\"\",META_MACROS,\"\"Source_TEXT_CURVE," + "FOLLOW,SourceINCLUDE_BND,NO,SourceINCLUDE_TIC,NO," + "SourceGENERATE_NODE_FEATURES,YES\"\",METAFILE,E00,COORDSYS,," + "IDLIST,,__FME_DATASET_IS_SOURCE__,true\""; ///执行转换 Geoprocessor geoprocessor = new Geoprocessor(); QuickImport converion = new QuickImport(); converion.Input = strInput; converion.Output = strMDBPath; return(RunTool(geoprocessor, converion, null)); }
private void Execute() { progressBar1.Invoke(new Action(progressBar1.Show)); progressBar1.Invoke(new Action(progressBar1.Start)); if (QI == null) { QI = new QuickImport(); QI.ExecuteCompleted += new EventHandler(QI_ExecuteCompleted); } QI.Source = textBoxEx1.Text; QI.Destination = textBoxEx2.Text + "\\" + Path.GetFileNameWithoutExtension(textBoxEx1.Text) + ".gdb"; try { QI.Execute(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { Invoke(new Action <bool>(enabled => { button1.Enabled = enabled; }), true); Invoke(new Action <bool>(enabled => { ControlBox = enabled; }), true); progressBar1.Invoke(new Action(progressBar1.Stop)); progressBar1.Invoke(new Action(progressBar1.Hide)); } }
/// <summary> /// E00转mdb /// </summary> /// <param name="strE00Files">文件路径集合</param> /// <param name="strMDBPath">mdb文件路径</param> /// <returns></returns> private bool E00toMDB(string strE00File, string strMDBPath) { try { Geoprocessor geoprocessor = new Geoprocessor(); QuickImport converion = new QuickImport(); converion.Input = strE00File; converion.Output = strMDBPath; return(RunTool(geoprocessor, converion, null)); } catch (System.Exception e) { On_ProgressFinish(this, "转换过程中出现异常,转换结束,错误原因:" + e.Message); return(false); } }
/// <summary> /// E00转mdb /// </summary> /// <param name="strE00Files">文件路径集合</param> /// <param name="strMDBPath">mdb文件路径</param> /// <returns></returns> private bool E00toMDB(List<string> strE00Files, string strMDBPath) { if (strE00Files == null || strE00Files.Count == 0) return false; if (strE00Files.Count == 1) return E00toMDB(strE00Files[0],strMDBPath); ///转换输入参数 string strInput = "E00,"+strE00Files[0]+","+"\"RUNTIME_MACROS,\"\"_TEXT_CURVE," +"FOLLOW,INCLUDE_BND,NO,INCLUDE_TIC,NO,GENERATE_NODE_FEATURES,YES," +"_EXTRA_DATASETS,"; ///构造源e00文件集合语句 for (int i = 1; i < strE00Files.Count;i++ ) { strInput += strE00Files[i] + ","; } strInput += "_MERGE_SCHEMAS,YES\"\",META_MACROS,\"\"Source_TEXT_CURVE," +"FOLLOW,SourceINCLUDE_BND,NO,SourceINCLUDE_TIC,NO," +"SourceGENERATE_NODE_FEATURES,YES\"\",METAFILE,E00,COORDSYS,," +"IDLIST,,__FME_DATASET_IS_SOURCE__,true\""; ///执行转换 Geoprocessor geoprocessor = new Geoprocessor(); QuickImport converion = new QuickImport(); converion.Input = strInput; converion.Output = strMDBPath; return RunTool(geoprocessor, converion, null); }
/// <summary> /// E00转mdb /// </summary> /// <param name="strE00Files">文件路径集合</param> /// <param name="strMDBPath">mdb文件路径</param> /// <returns></returns> private bool E00toMDB(string strE00File, string strMDBPath) { try { Geoprocessor geoprocessor = new Geoprocessor(); QuickImport converion = new QuickImport(); converion.Input = strE00File; converion.Output = strMDBPath; return RunTool(geoprocessor, converion, null); } catch (System.Exception e) { On_ProgressFinish(this, "转换过程中出现异常,转换结束,错误原因:"+e.Message); return false; } }