• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
bobird的学习笔记
博客园    首页    新随笔    联系   管理    订阅  订阅

ArcServer中如何获取某个图层

// 连接Server
                ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection agsServerConnection =
                    new ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection();
                agsServerConnection.Host = serverName;
                agsServerConnection.Connect();

                // 创建 server context 
                ESRI.ArcGIS.Server.IServerObjectManager serverObjectManager = agsServerConnection.ServerObjectManager;
                serverContext = serverObjectManager.CreateServerContext(serviceName, serverType);

 

                
                //{6CA416B1-E160-11D2-9F4E-00C04F6BC78E} IDataLayer
                //{40A9E885-5533-11d0-98BE-00805F7CED21} IFeatureLayer
                //{E156D7E5-22AF-11D3-9F99-00C04F6BC78E} IGeoFeatureLayer
                //{34B2EF81-F4AC-11D1-A245-080009B6F22B} IGraphicsLayer
                //{5CEAE408-4C0A-437F-9DB3-054D83919850} IFDOGraphicsLayer
                //{0C22A4C7-DAFD-11D2-9F46-00C04F6BC78E} ICoverageAnnotationLayer
                //{EDAD6644-1810-11D1-86AE-0000F8751720} IGroupLayer
                //{D02371C7-35F7-11D2-B1F2-00C04F8EDEFF} IRasterLayer

                
                ESRI.ArcGIS.Carto.IMapServer mapServer = serverContext.ServerObject as ESRI.ArcGIS.Carto.IMapServer;
                ESRI.ArcGIS.Carto.IMapServerObjects mapServerObjects = mapServer as ESRI.ArcGIS.Carto.IMapServerObjects;

                //获取地图
                ESRI.ArcGIS.Carto.IMap aoMap = mapServerObjects.get_Map(mapServer.DefaultMapName);
               
                // 获取图层
                UID featurelayerUID=new UIDClass ();
                featurelayerUID.Value ="{40A9E885-5533-11d0-98BE-00805F7CED21}";

                ESRI.ArcGIS.Carto.IEnumLayer enumLayer = aoMap.get_Layers(featurelayerUID, true);
                enumLayer.Reset();
                ESRI.ArcGIS.Carto.ILayer aoLayer = enumLayer.Next();

                ESRI.ArcGIS.Carto.IFeatureLayer aoFeatureLayer = null;
                while (aoLayer != null)
                {
                    if (aoLayer.Name == layerName)
                    {
                        aoFeatureLayer = aoLayer as ESRI.ArcGIS.Carto.IFeatureLayer;
                        break;
                    }
                    aoLayer = enumLayer.Next();
                }
ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = aoFeatureLayer.FeatureClass;
ESRI.ArcGIS.Geodatabase.IFeature feature = featureClass.GetFeature(1);

 

posted on 2013-05-16 08:08  bobird  阅读(347)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3