年度变更建库软件5.0版本
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.

71 lines
2.6 KiB

6 months ago
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Geometry;
using KGIS.Framework.Maps;
using KGIS.Framework.OpenData.Control;
using KGIS.Framework.OpenData.Filter;
using KGIS.Framework.OpenData.InterFace;
using KGIS.Framework.Utils;
using Kingo.Plugin.BGResultManager.ViewModel;
using Kingo.PluginServiceInterface;
using System.Collections.Generic;
using System.Windows;
namespace Kingo.Plugin.BGResultManager.View
{
/// <summary>
/// FrmBGDataImport.xaml 的交互逻辑
/// </summary>
public partial class FrmBGDataImport : BaseWindow
{
private IGeometry _SelectedGeo { get; set; }
public FrmBGDataImport()
{
InitializeComponent();
if ((MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo).ProjSuffix == ".KBG")
{
DataContext = new ImportBGDataViewModel(this);
}
}
private void BtnSelectedFWData_Click(object sender, RoutedEventArgs e)
{
// 获取源数据
OpenDataDialog pDialog = new OpenDataDialog();
ISpatialDataObjectFilter pOFilter;
pOFilter = new FilterFeatureDatasetsAndFeatureClasses();
pDialog.AddFilter(pOFilter, true);
pDialog.Title = "选择划入范围数据";
pDialog.AllowMultiSelect = false;
pDialog.RestoreLocation = true;
pDialog.StartLocation = pDialog.FinalLocation;
if (pDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK && pDialog.Selection.Count > 0)
{
List<ISpatialDataObject> distObj = pDialog.Selection;
foreach (var obj in distObj)
{
if (obj.DatasetType == esriDatasetType.esriDTFeatureClass)
{
IFeatureClass fc = (obj.DatasetName as IName).Open() as IFeatureClass;
if (fc != null)
{
IFeatureCursor cur = fc.Search(null, true);
IFeature f = null;
while ((f = cur.NextFeature()) != null)
{
_SelectedGeo = f.ShapeCopy;
break;
}
}
this.btnSelectedFWPath.EditValue = obj.FullName;
}
}
}
}
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
Close();
}
}
}