2017-02-04 133 views
0
_rat = subprocess.check_output('gdalinfo -json ' + dataset_uri, shell=True) 

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

回答

1

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

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

thanks @Logan!这工作。你可以像这样得到栅格属性表:'data ['rat']'。 gdalinfo的最新版本具有此功能 – user308827

+0

请注意,您可以使用'gdal.Info'的GDAL 2.1查看http://gdal.org/python/的语法,同时查看'gdal。,InfoOptions',避免使用子进程呼叫。 – Benjamin