Python GDAL support bigtiff

Code:

Method1

from osgeo import gdal

#  get raster datasource
src_ds = gdal.Open("bigtif larger than 4 GB.tif")
print (src_ds)

# read raster bands
print "[ RASTER BAND COUNT ]: ", src_ds.RasterCount
for band in range( src_ds.RasterCount ):
    band += 1
    print "[ GETTING BAND ]: ", band
    srcband = src_ds.GetRasterBand(band)
    if srcband is None:
        continue

Method2

You can read the data as Array with: 

data = src_ds.ReadAsArray()

And then pass it on the your favourite plotting library.

Alternatively you could simply output to a more common 'picture' format (PNG for example), and use any viewer you like to display the result. 

vmin = 0 # minimum value in your data (will be black in the output) 
vmax = 1 # minimum value in your data (will be white in the output) 
ds = gdal.Translate('fused.png', 'fused.tif', format='PNG', outputType=gdal.GDT_Byte, scaleParams=[[vmin,vmax]]) 
ds = None

The scaling is necessary to convert your data values to the 8-bit range (0-255) which commonly used for pictures.

Requiremennts:

gdal 2.2.4 +

libtiff 4.0.9 +

Using conda:

conda search gdal

conda install gdal=2.2.4

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GDAL (Geospatial Data Abstraction Library)是一个在GIS领域非常流行的开源库,用于读写几乎所有的栅格和矢量数据格式。在这其中,GDAL也支持读取BigTIFF格式的栅格数据。 BigTIFF是一种扩展了TIFF(Tagged Image File Format)格式的大型栅格数据格式,用于存储高分辨率、多波段的卫星遥感影像等大型栅格数据。正常的TIFF格式规定了文件的大小不超过4GB,而BigTIFF则支持存储超出4GB的数据,使得对于大型栅格数据集的读取和处理成为可能。 要使用GDAL读取BigTIFF,需要安装GDAL库,并且使用GDAL提供的命令行工具或API接口进行文件读取。可以直接使用gdalinfo命令查看BigTIFF文件的相关信息: ```gdalinfo filename.tif``` 其中,filename.tif就是要查看的BigTIFF文件的名称。可以在命令行中看到该文件的基本信息,包括数据类型、地理坐标等信息。如果要在代码中使用GDAL库读取BigTIFF,则需要根据GDAL提供的API进行编程操作。 总之,GDAL为读取BigTIFF格式的栅格数据提供了底层支持,通过它可以方便地获取地图数据中的地理信息,进行地图数据的预处理、图像处理和应用开发。 ### 回答2: GDAL是一个用于读取和写入各种GIS格式文件的开源库。当需要读取大于4GB大小的TIFF格式文件时,需要用到GDAL读取BigTIFF。 首先,确保已经安装了最新版本的GDAL库。然后,使用以下Python代码来读取BigTIFF文件: ```python import gdal #打开BigTIFF文件 dataset = gdal.Open('bigtiff_file.tif', gdal.GA_ReadOnly) #获取文件信息 cols = dataset.RasterXSize rows = dataset.RasterYSize bands = dataset.RasterCount print("图像尺寸:{} x {}, 波段数:{}".format(cols, rows, bands)) #读取数据 band = dataset.GetRasterBand(1) data = band.ReadAsArray(0, 0, cols, rows) #释放资源 dataset = None ``` 此代码打开名为“bigtiff_file.tif”的文件,并打印出图像的尺寸和波段信息。然后,它读取第一个波段的数据,并将其存储在一个名为“data”的数组中。最后,它释放了所有资源。 需要注意的是,由于BigTIFF文件的尺寸巨大,读取和处理数据时需要充分利用计算机的内存和处理能力。建议使用64位的Python版本和大容量的计算机硬件。 ### 回答3: GDAL(Geospatial Data Abstraction Library)是一个在操作各种格式的遥感数据时常用的软件库。当遇到Bigtiff格式时,我们可以使用GDAL来轻松读取数据。 要使用GDAL读取Bigtiff格式的数据,我们可以按照以下步骤进行操作: 1. 安装GDAL。可以从官方网站下载适用于不同操作系统的安装程序或源代码。安装后,在命令行中输入“gdalinfo”可以检查是否安装成功。 2. 准备Bigtiff格式的文件。确保文件名称符合规范,并且文件中包含合法的数据。如果文件过大,可能需要额外的软件支持。 3. 在命令行中输入“gdal_translate filename outputname”命令,将Bigtiff格式的文件转换为GDAL支持的格式,比如GeoTIFF格式。 4. 在代码中使用GDAL的相关函数读取数据。比如使用GDALOpen函数打开已经转换为GeoTIFF格式的文件,使用GDALReadBlock函数读取数据块等。 总的来说,GDAL是一个非常强大和灵活的工具,可以轻松地读取各种遥感数据格式,包括Bigtiff。通过上述步骤,我们可以用GDAL读取Bigtiff文件,并进行必要的数据处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值