ArcGIS Engine开发之旅07---文件地理数据库、个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 、打开栅格数据

对文件地理数据库、个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 

1.打开栅格数据 

要打开一个栅格数据,这个有点类似我们打开 FeatureClass 一样,先要获取工作空间,只不过我们过于要素类的时候需要 IFeatureWorkspace,而栅格数据则需要 IRasterWorkspace,示例如下:

 IRasterWorkspace GetRasterWorkspace(string pWsName) 
        {              
            try 
            { 
                IWorkspaceFactory pWorkFact = new RasterWorkspaceFactoryClass(); 
                return pWorkFact.OpenFromFile(pWsName, 0) as IRasterWorkspace;             
            } 
            catch (Exception ex) 
            { 
                return null; 
            } 
        }   
         IRasterDataset OpenFileRasterDataset(string pFolderName, string pFileName)         
        { 
             
            IRasterWorkspace pRasterWorkspace = GetRasterWorkspace(pFolderName);  
            IRasterDataset pRasterDataset = pRasterWorkspace.OpenRasterDataset(pFileName);            
            return pRasterDataset; 
        } 

注意当访问的栅格数据是存在SDE中,文件数据库中或者个人数据库中,应该使用IRasterWorkspaceEx接口
IRasterWorkspace 与 IRasterWorkspaceEx 的区别
1) IRasterWorkspace 主要是用来读取以文件格式存储在本地的栅格数据
2) IRasteWorkspaceEx 接口主要是用来读取 GeoDatabase 中的栅格数据集和栅格目录,如下示例:

 IRasterDataset OpenGDBRasterDataset(IRasterWorkspaceEx pRasterWorkspaceEx, string pDatasetName) 
        { 
            //打开存放在数据库中的栅格数据 
            return pRasterWorkspaceEx.OpenRasterDataset(pDatasetName); 
        }

 

posted @ 2016-08-03 16:45  虚-染D  阅读(770)  评论(0编辑  收藏  举报