现在的位置: 首页 > 综合 > 正文

在AE中通过SDE添加图层(转)

2012年04月29日 ⁄ 综合 ⁄ 共 1984字 ⁄ 字号 评论关闭

 

public void AddSDELayer(bool ChkSdeLinkModle)
        {
            
//<

span style="color: #008000;">定义一个属性 
<

;/span>            IPropertySet Propset = new PropertySetClass();
            
if (ChkSdeLinkModle == true// 采用SDE连接 
            {
                
//设置数据库服务器名 
                Propset.SetProperty("SERVER""zj-pc");
                
//设置SDE的端口,这是安装时指定的,默认安装时"port:5151" 
                Propset.SetProperty("INSTANCE""port:5151");
                
//SDE的用户名 
                Propset.SetProperty("USER""sde");
                
//密码 
                Propset.SetProperty("PASSWORD""sde");
                
////设置数据库的名字,只有SQL Server  Informix 数据库才需要设置 
                //Propset.SetProperty("DATABASE", "sde");
                
//SDE的版本,在这为默认版本 
                Propset.SetProperty("VERSION""SDE.DEFAULT");
            }
            
else // 直接连接 
            {
                
//设置数据库服务器名,如果是本机可以用"sde:sqlserver:." 
                Propset.SetProperty("INSTANCE""orcl");
                
//SDE的用户名 
                Propset.SetProperty("USER""sde");
                
//密码 
                Propset.SetProperty("PASSWORD""sde");
                
//设置数据库的名字,只有SQL Server  Informix 数据库才需要设置            
                //Propset.SetProperty ("DATABASE", "sde"); 
                
//SDE的版本,在这为默认版本 
                Propset.SetProperty("VERSION""SDE.DEFAULT");
            }

            IWorkspaceFactory Fact = new SdeWorkspaceFactoryClass();
            IFeatureWorkspace Workspace = (IFeatureWorkspace)Fact.Open(Propset, 0);
            IFeatureClass Fcls 
= Workspace.OpenFeatureClass("SDE.HistoryTrackLine");
            IFeatureLayer Fly 
= new FeatureLayerClass();
            Fly.FeatureClass 
= Fcls;
            IFeatureClass Fcls1 
= Workspace.OpenFeatureClass("SDE.province");
            IFeatureLayer Fly1 
= new FeatureLayerClass();
            Fly1.FeatureClass 
= Fcls1;

            m_mapControl.Map.AddLayer(Fly1);
            m_mapControl.Map.AddLayer(Fly);

            m_mapControl.ActiveView.Refresh();
        } 

抱歉!评论已关闭.