AE遍历某个范围内的栅格值(高程值)

IRasterLayer pDEMRLayer = axMapControl1.get_Layer(1) as IRasterLayer;
IRaster pDEMR = pDEMRLayer.Raster;
IRasterProps pRasterProps = (IRasterProps)(pDEMRLayer.Raster);
//存储每个栅格的X坐标和Y坐标
double blockX = pRasterProps.MeanCellSize().X;
double blockY = pRasterProps.MeanCellSize().Y;
//栅格数据左上角栅格的空间坐标
double Xm = pRasterProps.Extent.XMin + blockX / 2;
double Ym = pRasterProps.Extent.YMin + blockX / 2;
int dHeight = pRasterProps.Height;//当前栅格数据集的行数
int dWidth = pRasterProps.Width; //当前栅格数据集的列数
IPnt pnt = new PntClass();
 //读取栅格信息
pnt.SetCoords(0, 0);//0,0取值窗口的起始位置在原栅格数据上的位置
IPnt pntSize = new PntClass();
pntSize.SetCoords(dWidth, dHeight);//设置取值窗口的行列,注意这里是先列后行
IPixelBlock pixelBlock = pDEMR.CreatePixelBlock(pntSize);//生成像素块
pDEMR.Read(pnt, pixelBlock);
List<IPoint> depthList = new List<IPoint>(); 
for (int i = 0; i < dHeight; i++)
     for (int j = 0; j < dWidth; j++)
     {
         object obj = Convert.ToDouble(pixelBlock.GetVal(0, i, j));
     }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值