using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geodatabase; using KGIS.Framework.Utils; using KGIS.Framework.Utils.Helper; using System; using System.Windows; using System.Windows.Forms; using KUI.Windows; using Kingo.Plugin.DataLoad.Helper; namespace Kingo.Plugin.DataLoad.View { /// /// 图层数据导出(Shape,GDB,MDB) 的交互逻辑 /// public partial class FrmDataExport : BaseWindow { private IFeatureLayer sFeatureLayer; public FrmDataExport(IFeatureLayer pFeatureLayer) { InitializeComponent(); sFeatureLayer = pFeatureLayer; } /// /// 选择输出路径 /// /// /// private void BtnGDBBaseData_Click(object sender, RoutedEventArgs e) { FolderBrowserDialog dialog = new FolderBrowserDialog(); DialogResult result = dialog.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) cobTextEdit.Text = dialog.SelectedPath; } private void BtnLoad_Click(object sender, RoutedEventArgs e) { try { string savepath = cobTextEdit.Text; string fileName = sFeatureLayer.Name; if (string.IsNullOrWhiteSpace(savepath)) { MessageHelper.ShowError("请选择输出路径!"); return; } if (sFeatureLayer == null) { MessageHelper.ShowError("输出图层不能为空!"); return; } IQueryFilter queryfilter = new QueryFilterClass(); if (rdSha.IsChecked == true) { fileName = sFeatureLayer.FeatureClass.AliasName; if (System.IO.File.Exists(System.IO.Path.Combine(savepath, fileName + ".shp")) || System.IO.File.Exists(System.IO.Path.Combine(savepath, fileName + ".SHP"))) { if (MessageHelper.ShowYesNoAndTips("同名文件已存在是否替换?") != System.Windows.Forms.DialogResult.Yes) { return; } this.ShowLoading("正在进行数据导出........", 0, 0); DLAECommonHelper.DeleteShp(sFeatureLayer.FeatureClass.AliasName, savepath); } DLAECommonHelper.ExportFeaturesToShp(sFeatureLayer.FeatureClass, queryfilter, savepath, fileName); } this.CloseLoading(); MessageHelper.ShowTips("导出成功!"); } catch (Exception ex) { MessageHelper.ShowError("图层数据导出异常:" + ex.Message); PluginServiceInterface.CommonHelper.RecordsErrLog("图层数据导出异常:", ex); } } private void BtnClose_Click(object sender, RoutedEventArgs e) { this.Close(); } } }