天天看点

GDAL从二进制数据流中构造数据集

GDAL从二进制数据流中构造数据集的实例

目录

1. 概述

2. 实现

参看《从二进制数据流中构造GDAL可以读取的图像数据》这篇文章。这个问题的内涵在于,处理图像时都会将其读取成宽X高X波段的三维数组的内存Buffer,但是图像文件本身却会被压缩成各种各样的数据类型(jpg、png、tif等)。在某些直接获取到数据流的情况下,可以直接在内存中构建GDAL数据集并进行读写操作,这样就可以避免磁盘IO的性能。

以个人的实际经验来看,有两个地方用到了这个功能:

从远端(Web)访问数据,可以先一次性获取到内存Buffer,然后在内存中构建GDAL数据集。

gltf的bin中内嵌了jpg/png图像文件,可以直接获取二进制文件流,然后在内存中构建GDAL数据集。

按照自己的使用习惯,试用了一下《从二进制数据流中构造GDAL可以读取的图像数据》的例子,基本没什么问题:

读取到的宽、高、波段以及深度:

GDAL从二进制数据流中构造数据集

也可以进行进一步的读写操作。