Python 使用gdalinfo从光栅中提取光栅属性表

Python 使用gdalinfo从光栅中提取光栅属性表,python,gdal,Python,Gdal,我想提取.tif文件的光栅属性表。在上面的命令中,我可以将信息输入到_rat中,但不确定如何从_rat中提取rat部分。有什么建议吗 在代码中,rat是一个有效的JSON字符串。您可以将JSON转换为python dict,以便轻松访问元素。我记得gdalinfo没有提供完整的光栅属性表,但仍然有有有意义的波段级统计数据 _rat = subprocess.check_output('gdalinfo -json ' + dataset_uri, shell=True) 谢谢@Logan!这很

我想提取.tif文件的光栅属性表。在上面的命令中,我可以将信息输入到_rat中,但不确定如何从_rat中提取rat部分。有什么建议吗

在代码中,rat是一个有效的JSON字符串。您可以将JSON转换为python dict,以便轻松访问元素。我记得gdalinfo没有提供完整的光栅属性表,但仍然有有有意义的波段级统计数据

_rat = subprocess.check_output('gdalinfo -json ' + dataset_uri, shell=True)

谢谢@Logan!这很有效。您可以像这样获得光栅属性表:data['rat']。最新版本的gdalinfo具有此功能注意:在GDAL 2.1中,您可以使用GDAL.Info。有关语法,请参阅GDAL.,InfoOptions以及避免子流程调用。
import json
import subprocess

dataset_uri = 'input.tif'
_rat = subprocess.check_output('gdalinfo -json ' + dataset_uri, shell=True)
data = json.loads(_rat) # load json string into dictionary
print data

# to get band-level data
bands = data['bands']