森林草原湿地荒漠调查
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

86 lines
3.1 KiB

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
{
/// <summary>
/// 图层数据导出(Shape,GDB,MDB) 的交互逻辑
/// </summary>
public partial class FrmDataExport : BaseWindow
{
private IFeatureLayer sFeatureLayer;
public FrmDataExport(IFeatureLayer pFeatureLayer)
{
InitializeComponent();
sFeatureLayer = pFeatureLayer;
}
/// <summary>
/// 选择输出路径
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
}
}