使用 gdalinfo 从栅格中提取栅格属性 table

Extracting raster attribute table from raster using gdalinfo

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

我想提取 .tif 文件的光栅属性 table。在上面的命令中,我能够将信息获取到 _rat 但不确定如何从 _rat 中提取 rat 部分。有什么建议么?

在您的代码中,_rat 是一个有效的字符串 JSON。您可以将 JSON 转换为 python dict,这样您就可以轻松访问元素。 gdalinfo 没有提供完整的栅格属性 table 我记得,但仍然有 band-level 有意义的统计数据。

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']