流云飞飞

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

使用GDAL打开裸数据首先需要指定裸数据的大小,即波段数,长度,宽度,以及裸数据之间的排列方式等。我们可以使用GDAL提供的虚拟文件格式来进行对裸数据的读取。

首先,需要创建一个后缀为vrt的xml格式的文件(例如raw.vrt),内容如下:

<VRTDataset rasterXSize="12000" rasterYSize="12000">  
  <VRTRasterBand dataType="Byte" band="1" subClass="VRTRawRasterBand">  
    <SourceFilename relativetoVRT="1">Test.RAW</SourceFilename>  
    <ImageOffset>0</ImageOffset>  
    <PixelOffset>1</PixelOffset>  
    <LineOffset>12000</LineOffset>  
    <ByteOrder>MSB</ByteOrder>  
  </VRTRasterBand>  
</VRTDataset> 

对上面的几个字段做一个简单的说明,如下:

1:图像的大小(宽度和高度),需要在RasterXSize和RasterYSize来指定

2:图像的波段数据类型,用dataType来指定,其中的值可以参考GDALDataType中的定义,波段序号为1,子类是VRTRawRasterBand类型

2.1:该波段的存储数据的文件路径放在节点SourceFilename中

2.2:接下来的三个节点分别是图像偏移量,像元偏移量和行偏移量,这三个值具体可以参考RasterIO函数的说明

2.3:这个参数指定的书Raw数据存储的字节顺序,即低字节优先还是高字节优先,低字节优先一般用在Intel的X86平台上,高字节优先一般用于摩托罗拉或SPARC系统中。

 

使用gdal打开文件,使用用下面的代码

GDALDatasetH hDS= GDALOpen("raw.vrt", GA_ReadOnly);

然后就和普通的图像一样了。

 

 

posted on 2012-12-08 10:24  流云飞飞  阅读(1261)  评论(0)    收藏  举报