构建栅格属性表

有时候会遇到将32位栅格数据提取属性表的操作,但是一般此类数据都是浮点型,是无法计算得到属性表的。因此我们可以利用数据管理工具下的:

复制栅格工具,在最下面选择16位即可,看自己数据情况选择signed或者unsigned类型。

 

导出后的数据可以计算属性表,两种方式,一种是利用工具进行;另外一种是右键属性后,找到颜色条显示,默认是拉伸,选择唯一值显示,即可计算属性表,关闭后即可看到属性表。

 *****需要注意的是,你直接转出时,会将你原先的浮点型数据四舍五入处理,因此,如果你需要保留2位小数的话,可以先扩大100倍再进行转换操作。

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于这个问题,我可以给出以下的Python实现思路: 1. 使用Python自带的os模块,遍历指定文件夹下的所有栅格数据文件。 2. 对于每个栅格数据文件,使用GDAL库读取其属性信息。 3. 将属性信息写入到一个输出文件中,可以使用Python的csv模块或者pandas库来实现。 以下是一个示例代码: ```python import os from osgeo import gdal import csv # 指定输入文件夹和输出文件路径 input_folder = "/path/to/folder" output_file = "/path/to/output.csv" # 创建输出文件并写入头 with open(output_file, 'w', newline='') as csvfile: writer = csv.writer(csvfile) writer.writerow(['文件名', '列数', '行数', '波段数', '数据类型']) # 遍历文件夹下的所有文件 for filename in os.listdir(input_folder): if filename.endswith('.tif'): # 只处理.tif文件 filepath = os.path.join(input_folder, filename) try: # 打开栅格数据文件 dataset = gdal.Open(filepath) # 获取属性信息 cols = dataset.RasterXSize rows = dataset.RasterYSize bands = dataset.RasterCount datatype = gdal.GetDataTypeName(dataset.GetRasterBand(1).DataType) # 写入输出文件 with open(output_file, 'a', newline='') as csvfile: writer = csv.writer(csvfile) writer.writerow([filename, cols, rows, bands, datatype]) except: print(f"读取文件 {filename} 失败!") ``` 这段代码会遍历指定文件夹下所有的.tif文件,读取其属性信息,然后将文件名、列数、行数、波段数和数据类型写入到一个输出CSV文件中。您可以根据需要进行一些修改,比如修改输出文件路径、修改头等。希望这个实现思路能对您有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值