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); } }
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); } }
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); } }
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); } }