当前位置: 代码迷 >> GIS >> C# winform (arcgis二次开发有关问题)怎么加载SDE某个数据集中的所有要素类
  详细解决方案

C# winform (arcgis二次开发有关问题)怎么加载SDE某个数据集中的所有要素类

热度:240   发布时间:2016-05-05 06:13:20.0
C# winform (arcgis二次开发问题)如何加载SDE某个数据集中的所有要素类?
本帖最后由 zy186311 于 2014-02-20 10:45:02 编辑
我只实现了加载特定的要素类数据: 
代码如下:
this.axMapControl1.Map.ClearLayers();
            ESRI.ArcGIS.esriSystem.IPropertySet Proset = new ESRI.ArcGIS.esriSystem.PropertySetClass();
            ESRI.ArcGIS.Geodatabase.IWorkspaceFactory Fact;
            ESRI.ArcGIS.Geodatabase.IWorkspace Workspace;
            Proset.SetProperty("Server", "xxxx-PC");//服务器名
            Proset.SetProperty("Instance", "5151/tcp");//实例化端口
            Proset.SetProperty("user", "sde");//SDE 用户名
            Proset.SetProperty("password", "xxx");//密码
            Proset.SetProperty("version", "sde.DEFAULT");//连接版本
            Fact = new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass();//实例化为SDE 工作空间仓库
            Workspace = Fact.Open(Proset, Int32.Parse(this.Handle.ToString()));//填入属性集
            ESRI.ArcGIS.Geodatabase.IFeatureWorkspace FeatureWorkspace;
            FeatureWorkspace = Workspace as ESRI.ArcGIS.Geodatabase.IFeatureWorkspace;//传递给Feature 工作空间
            ESRI.ArcGIS.Geodatabase.IFeatureClass FeatureClass;
            FeatureClass = FeatureWorkspace.OpenFeatureClass("SDE.xxx");//填充所需Feature 集合
            ESRI.ArcGIS.Carto.FeatureLayer FLayer = new ESRI.ArcGIS.Carto.FeatureLayerClass();
            FLayer.FeatureClass = FeatureClass;//将Feature 加载到图层
            axMapControl1.Map.AddLayer(FLayer);//加载图层
            axMapControl1.Update();//更新空白区域
            axMapControl1.Refresh();//刷新地图视窗

如图
现在只实现了特定要素类加载


我想实现:


整个数据集全部加载

求助实现代码
------解决方案--------------------
调用IFeatureWorkspace.OpenFeatureDataset接口获取数据集
  相关解决方案