Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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;
        }
Пример #3
0
        /// <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));
        }
Пример #4
0
 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));
     }
 }
Пример #5
0
 /// <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);
     }
 }
Пример #6
0
        /// <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);
        }
Пример #7
0
 /// <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;
     }
 }