免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1400|回复: 0
收起左侧

[二次开发] AE中C#语言实现栅格图层属性表浏览

[复制链接]

5

主题

383

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
50
发表于 2015-10-29 16:49 | 显示全部楼层 |阅读模式
30铜板

            //栅格图层属性表浏览 ,为什么红字体处说我没引入实例啊

IWorkspaceFactory rasterWorkspaceFactory = new RasterWorkspaceFactoryClass();
            IRasterWorkspace rasterWorkspace = (IRasterWorkspace)rasterWorkspaceFactory.OpenFromFile(@"E:\gis", 0);
            IRasterDataset rasterDataset = rasterWorkspace.OpenRasterDataset("栅格图");

            IRasterLayer rasterLayer = new RasterLayerClass();
            rasterLayer.CreateFromDataset(rasterDataset);
            m_mapControl.AddLayer(rasterLayer, 0);

            IRaster pRaster = rasterLayer.Raster;
            IRasterProps pProp = pRaster as IRasterProps;
            pProp.PixelType = rstPixelType.PT_LONG;
            if (pProp.PixelType == rstPixelType.PT_LONG)
            {
                IRasterBandCollection pBcol = pRaster as IRasterBandCollection;
                IRasterBand pBand = pBcol.Item(0);
                ITable pRTable = pBand.AttributeTable;

                DataTable pTable = new DataTable();
                for (int i = 0; i < pRTable.Fields.FieldCount; i++)
                    pTable.Columns.Add(pRTable.Fields.get_Field(i).Name);


                ICursor pCursor = pRTable.Search(null, false);
                IRow pRrow = pCursor.NextRow();
                while (pRrow != null)
                {
                    DataRow pRow = pTable.NewRow();
                    for (int i = 0; i < pRrow.Fields.FieldCount; i++)
                    {
                        pRow = pRrow.get_Value(i).ToString();
                    }
                    pTable.Rows.Add(pRow);
                    pRrow = pCursor.NextRow();
                }
file:///D:\qq\490282060\Image\C2C\KUJZODE@)Q_FC]DKWJ~0H%O.pngfile:///D:\qq\490282060\Image\C2C\KUJZODE@)Q_FC]DKWJ~0H%O.png

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表