ArcGIS Server 动态添加栅格数据

来源:互联网 发布:长隆欢乐世界攻略 知乎 编辑:程序博客网 时间:2024/05/18 09:23

public void AddRasterLayerToMap(string Path,string FileName,IServerContext pMapServerContext)
    {
         IMap pMap;
         IRasterLayer pRasterLayer;
         IWorkspaceFactory pWorkspaceFactory;
         IRasterWorkspace  pRasterWorkspace ;
         IRasterDataset pRasterDataset ;
         IMapServer2  pMapServer ;
         IMapServerObjects2 pMapServerObjects2;
         pWorkspaceFactory = (IWorkspaceFactory)pMapServerContext.CreateObject("esriDataSourcesRaster.RasterWorkspaceFactory");
         pRasterWorkspace = (IRasterWorkspace)pWorkspaceFactory.OpenFromFile(Path, 0);
         pRasterDataset = pRasterWorkspace.OpenRasterDataset(FileName);
         pRasterLayer = (IRasterLayer)pMapServerContext.CreateObject("esriCarto.RasterLayer");
         pRasterLayer.CreateFromDataset(pRasterDataset);
         pMapServerObjects2 = (IMapServerObjects2)pMapServerContext.ServerObject;
         pMapServer = (IMapServer2)pMapServerObjects2;
         pMapServerObjects2.get_Map(pMapServer.DefaultMapName).ClearLayers();
         pMap = pMapServerObjects2.get_Map(pMapServer.DefaultMapName);
         pMap.AddLayer(pRasterLayer);
         pMap.AreaOfInterest = pRasterLayer.AreaOfInterest;
         pMapServerObjects2.RefreshServerObjects();
    }

原创粉丝点击