gdal中rasterio用法_GDAL源码剖析(七)之GDAL RasterIO使用说明(续)

本文详细介绍了GDAL RasterBand的RasterIO函数,用于读写图像的特定区域,并解释了如何通过该函数进行图像的重采样。文章通过实例说明了各参数的作用,包括读写标志、图像范围、数据存储以及像元间距等,帮助读者理解如何正确使用RasterIO进行图像处理。
摘要由CSDN通过智能技术生成

之前写了一篇 《GDAL RasterIO使用说明》

http://blog.csdn.net/liminlu0314/article/details/7072224

,很多人对于RasterIO这个函数的用法还是有很多的不明白,可能之前的那篇文章没有写的很清楚,下面再对这个函数进行说明。

在进入主题之前,我们先了解一下图像的基本存储方式。所谓的图像,先用单波段图像说明,图像就是一个很大的二维矩阵,这个矩阵的宽高就是图像的宽高,矩阵里面的元素值就是图像的像元值(这里多说一下,对于DEM数据,很多人问怎么读取DEM的高程值,DEM数据的话,高程值就是像元值)。比如下面的图1所示:这个图像的大小是600×600×3。

85a882f25efbf1912db46a01c1602101.png

图1 测试图像 600×600×3

首先说明一下GDALRasterBand的RasterIO函数,波段类的RasterIO函数相比GDALDataset类的RasterIO函数比较简单,先从这个简单的说起。图像还是以上面的图为例,我们只取第一个波段为例进行说明。第一个波段的图像如下图所示:

b7864d97ffabb3544e75c757cc5d6f47.png

图2 第一波段示例

我们再把GDALRasterBand的RasterIO函数接口拿过来,形式如下:

CPLErr GDALRasterBand::RasterIO(

GDALRWFlag

eRWFlag

,int

nXOff

,int

nYOff

,int

nXSize

,int

nYSize

,void *

pData

,int

nBufXSize

,int

nBufYSize

,

GDALDataType

eBufType

,int

nPixelSpace

,int

nLineSpace

)

第一个参数eRWFlag就是读写标记,用来指定你是读取图像还是写入图像,很简单。

接下来的四个参数是用来指定读写图像的范围的,其中前两个用来说明读取的位置,起始行列号,后两个是读写图像的宽度和高度,比如

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值