【技术类】如何获取镶嵌数据集中每一个栅格数据的物理路径

有用户问过这样一个问题,如何获取镶嵌数据集中的某一个栅格数据的物理路径也就是原来的路径,我获取了每一个栅格数据然后用工作空间的路径+栅格数据的名称,但是这个得到的结果是不正确的,这周向esri的smirith请教后才恍然大悟,,看来我对镶嵌数据集的理解还不够深刻。

    因为遇到过,所以铭记自信;又因为解决了,所以分享,感谢smrithi的指导

 

    private void button2_Click(object sender, EventArgs e)
        {
            IWorkspace pFileWs = GetSDEWorkspace("E:\\影像\\Geodatabase.gdb");

            IMosaicDataset pMosaic = OpenMosaicDataset(pFileWs, "test1");

                      ITable pTable = pMosaic.Catalog as ITable;


             int i = pTable.FindField("RASTER");

                ICursor pCursor = pTable.Search(null, false);

                IRow pRow = pCursor.NextRow();

            
                while (pRow != null)
                {

                    IRasterCatalogItem pRasterCatalogItem = (IRasterCatalogItem)pRow;

 

                    IRasterDataset pRasterdataset = pRasterCatalogItem.RasterDataset;

                //每一个item不是Raseter所以我用工作空间路径+栅格名称是错误的,用了这个接口就正确了
                    IFunctionRasterDataset pFunctionRD = pRasterdataset as IFunctionRasterDataset;

                    IArray pArray = pFunctionRD.MemberRasterDatasets;

                    for (int n = 0; n < pArray.Count; n++)
                    {
                        IRasterDataset pFunRst= pArray.get_Element(n) as IRasterDataset;
                        string sName = pFunRst.CompleteName;

                    }

                    IDataset pDs = pRasterdataset as IDataset;

                    string s = pDs.Workspace.PathName;

                    pRow = pCursor.NextRow();
                }
        }



注:

Smrithi为Esri美国负责Raster Type扩展的开发人员

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值