Beispiel #1
0
        private void 单个ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string     sKMLFile      = @"D:\77211356\GVG\解译后\kml\20150307074534.kml";
            string     sOutPutFolder = @"D:\77211356\GVG\解译后\gdb";
            KMLToLayer pKMLToLayer   = new KMLToLayer();

            pKMLToLayer.in_kml_file   = sKMLFile;
            pKMLToLayer.output_folder = sOutPutFolder;
            IGeoProcessorResult result = new GeoProcessorResultClass();
            Geoprocessor        gp     = new Geoprocessor();

            gp.OverwriteOutput = true;
            try
            {
                // Execute the tool.
                result = (IGeoProcessorResult)gp.Execute(pKMLToLayer, null);;

                // Wait until the execution completes.
                while (result.Status == esriJobStatus.esriJobExecuting)
                {
                    Thread.Sleep(1000);
                }
                // Wait for 1 second.

                // Print geoprocessring messages.
                MessageBox.Show("OK!");
            }

            catch (Exception ex)
            {
                // Print a generic exception message.
                MessageBox.Show(ex.StackTrace);
            }
        }
Beispiel #2
0
        private void kML2SHPBatchToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string sKMLFile = @"D:\77211356\GVG\解译后\kml5";

            List <string> list = FileManage.getAllFileNameFromFolder(sKMLFile, "kml");

            string     sOutPutFolder = @"D:\77211356\GVG\解译后\gdb5";
            KMLToLayer pKMLToLayer   = new KMLToLayer();

            pKMLToLayer.output_folder = sOutPutFolder;
            IGeoProcessorResult result = new GeoProcessorResultClass();
            Geoprocessor        gp     = new Geoprocessor();

            gp.OverwriteOutput = true;
            try
            {
                foreach (var item in list)
                {
                    pKMLToLayer.in_kml_file = item;
                    // Execute the tool.
                    result = (IGeoProcessorResult)gp.Execute(pKMLToLayer, null);;

                    // Wait until the execution completes.
                    while (result.Status == esriJobStatus.esriJobExecuting)
                    {
                        Thread.Sleep(1000);
                    }
                    // Wait for 1 second.
                }
                // Print geoprocessring messages.
                MessageBox.Show("OK!");
            }

            catch (Exception ex)
            {
                // Print a generic exception message.
                MessageBox.Show(ex.StackTrace);
            }
        }
        /// <summary>
        /// 批量KML2SHP进行转换
        /// </summary>
        /// <param name="sKMLPath"></param>
        /// <param name="sSHPPath"></param>
        public static void DoKML2SHP(string sKMLPath, string sOutPutFolder)
        {
            RichTextBox rtb = Application.OpenForms["FrmKML2SHP"].Controls["richTxt_message"] as RichTextBox;
            rtb.Text = "正在处理中,请稍候……\n";
            //frm.richTxt_message.AppendText("开始处理……");
            //获取所有KML文件
            List<string> list = FileManage.getAllFileNameFromFolder(sKMLPath, ".kml");
            //初始化KML转图层类
            KMLToLayer pKMLToLayer = new KMLToLayer();
            //定义输出文件夹
            string sGDBPath=sOutPutFolder+@"\KMLGDB";
            pKMLToLayer.output_folder = sGDBPath;
            //初始化地理处理结果类
            IGeoProcessorResult result = new GeoProcessorResultClass();
            //初始化地理处理类
            Geoprocessor gp = new Geoprocessor();
            //设置可覆盖
            gp.OverwriteOutput = true;
            rtb.AppendText("\n建立GDB文件夹并将KML转为GDB文件数据库及图层文件……\n");
            try
            {
                foreach (var item in list)
                {
                    pKMLToLayer.in_kml_file = item;
                    // Execute the tool.
                    result = (IGeoProcessorResult)gp.Execute(pKMLToLayer, null); ;
                    rtb.AppendText(Path.GetFileName(item) + "的图层文件建立完毕……\n");
                    // Wait until the execution completes.
                    while (result.Status == esriJobStatus.esriJobExecuting)
                        Thread.Sleep(1000);
                    // Wait for 1 second.
                }
                rtb.AppendText("所有图层文件建立完毕……\n\n开始转SHP文件……\n");

                //GDB文件转SHP
                GDP2SHP(sGDBPath, sOutPutFolder, "Polylines");
                // Print geoprocessring messages.
                //MessageBox.Show("OK!");
            }
            catch (Exception ex)
            {
                // Print a generic exception message.
                MessageBox.Show(ex.StackTrace);
            }
        }
Beispiel #4
0
        private void kML2SHPBatchToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string sKMLFile = @"D:\77211356\GVG\�����\kml5";

            List<string> list = FileManage.getAllFileNameFromFolder(sKMLFile,"kml");

            string sOutPutFolder = @"D:\77211356\GVG\�����\gdb5";
            KMLToLayer pKMLToLayer = new KMLToLayer();

            pKMLToLayer.output_folder = sOutPutFolder;
            IGeoProcessorResult result = new GeoProcessorResultClass();
            Geoprocessor gp = new Geoprocessor();
            gp.OverwriteOutput = true;
            try
            {
                foreach (var item in list)
                {
                    pKMLToLayer.in_kml_file = item;
                    // Execute the tool.
                    result = (IGeoProcessorResult)gp.Execute(pKMLToLayer, null); ;

                    // Wait until the execution completes.
                    while (result.Status == esriJobStatus.esriJobExecuting)
                    Thread.Sleep(1000);
                    // Wait for 1 second.
                }
                // Print geoprocessring messages.
                MessageBox.Show("OK!");
            }

            catch (Exception ex)
            {
                // Print a generic exception message.
                MessageBox.Show(ex.StackTrace);

            }
        }
Beispiel #5
0
        private void ����ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string sKMLFile = @"D:\77211356\GVG\�����\kml\20150307074534.kml";
            string sOutPutFolder = @"D:\77211356\GVG\�����\gdb";
            KMLToLayer pKMLToLayer = new KMLToLayer();
            pKMLToLayer.in_kml_file = sKMLFile;
            pKMLToLayer.output_folder = sOutPutFolder;
            IGeoProcessorResult result = new GeoProcessorResultClass();
            Geoprocessor gp = new Geoprocessor();
            gp.OverwriteOutput = true;
            try
            {
                // Execute the tool.
                result = (IGeoProcessorResult)gp.Execute(pKMLToLayer, null); ;

                // Wait until the execution completes.
                while (result.Status == esriJobStatus.esriJobExecuting)
                    Thread.Sleep(1000);
                // Wait for 1 second.

                // Print geoprocessring messages.
                MessageBox.Show("OK!");
            }

            catch (Exception ex)
            {
                // Print a generic exception message.
                MessageBox.Show(ex.StackTrace);

            }
        }