1
private
void
menuAddShp_Click(
object
sender, EventArgs e)
2 {
3 // 前两行代码用来定义一个工作空间,可以简单理解为将文件输入输出定位到该文件夹下
4 IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
5 IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile( @" D:\GIS-Data " , 0 );
6 // 定义特征工作空间(其实和工作空间的差别只是AE类的组织的原因,你甚至可以理解成它们是一样的),将工作空间类型强制转化到特征工作空间
7 IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
8 // 打开特征集,其实特征集仍然只是AE对象组织的一种定义,可以简单理解为就是shape文件中空间和属性数据的转化形式
9 IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass( " continent.shp " );
10 IFeatureLayer pFLayer = new FeatureLayerClass(); // 定义特征图层,就是GIS里面图层的概念
11 pFLayer.FeatureClass = pFC; // 设置图层的特征集为刚才的特征集,这样就可以将特征集中的数据加载到特征图层对象中
12 pFLayer.Name = pFC.AliasName; // 设置图层名
13 ILayer pLayer = pFLayer as ILayer; // 定义图层,并将刚才的特征图层强制转化为图层变量
14 // 下面两行代码是在地图控件中加载图层
15 IMap pMap = axMapControl1.Map;
16 pMap.AddLayer(pLayer);
17 axMapControl1.ActiveView.Refresh(); // 刷新视图,显示加载图层后的结果
18 }
2 {
3 // 前两行代码用来定义一个工作空间,可以简单理解为将文件输入输出定位到该文件夹下
4 IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
5 IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile( @" D:\GIS-Data " , 0 );
6 // 定义特征工作空间(其实和工作空间的差别只是AE类的组织的原因,你甚至可以理解成它们是一样的),将工作空间类型强制转化到特征工作空间
7 IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
8 // 打开特征集,其实特征集仍然只是AE对象组织的一种定义,可以简单理解为就是shape文件中空间和属性数据的转化形式
9 IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass( " continent.shp " );
10 IFeatureLayer pFLayer = new FeatureLayerClass(); // 定义特征图层,就是GIS里面图层的概念
11 pFLayer.FeatureClass = pFC; // 设置图层的特征集为刚才的特征集,这样就可以将特征集中的数据加载到特征图层对象中
12 pFLayer.Name = pFC.AliasName; // 设置图层名
13 ILayer pLayer = pFLayer as ILayer; // 定义图层,并将刚才的特征图层强制转化为图层变量
14 // 下面两行代码是在地图控件中加载图层
15 IMap pMap = axMapControl1.Map;
16 pMap.AddLayer(pLayer);
17 axMapControl1.ActiveView.Refresh(); // 刷新视图,显示加载图层后的结果
18 }