private IFeatureClass AddData()
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Shapefiles文件(*.shp)|*.shp|所有文件 (*.*)|*.*";
dlg.DefaultExt = "*.shp";
dlg.Title = "加载数据";
dlg.Multiselect = true;
//定义存放打开 IFeatureClass 的字符串数组
string FullFileName;
if (dlg.ShowDialog() == DialogResult.OK)
{
FullFileName = dlg.FileName; //E:\Work\taihu\data\shape\\taiall_region.shp
string WorkSpacePath = System.IO.Path.GetDirectoryName(FullFileName); //E:\Work\taihu\data\shape
string ShapeFileName = System.IO.Path.GetFileName(FullFileName); //taiall_region.sh
//创建工作空间工厂
IWorkspaceFactory m_WorkspaceFactory = new ShapefileWorkspaceFactoryClass();
//打开工作空间
IWorkspace m_Workspace = m_WorkspaceFactory.OpenFromFile(WorkSpacePath, 0);
IFeatureWorkspace m_FeatureWorkspace = m_Workspace as IFeatureWorkspace;
//打开要素图层
IFeatureClass m_FeatureClass = m_FeatureWorkspace.OpenFeatureClass(ShapeFileName);
//关联图层和要素类
IFeatureLayer m_FeatureLayer = new FeatureLayerClass();
m_FeatureLayer.FeatureClass = m_FeatureClass;
ILayer m_Layer = m_FeatureLayer as ILayer;
//添加到地图控件中
this.MainMap.Map.AddLayer(m_Layer);
MainMap.ActiveView.Extent = MainMap.FullExtent;
MainMap.ActiveView.Refresh();
return m_FeatureClass;
}
else
return null;
}