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.
70 lines
2.6 KiB
70 lines
2.6 KiB
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(); |
|
} |
|
} |
|
}
|
|
|