#文件夹中每个文件都进行压缩
# -*- coding: utf-8 -*-
import rasterio as rio
import rasterio
import os
from tqdm import tqdm
#每个线程选择一个文件夹
Input_path ="输入文件夹"+"\\"
Output_path ="输出文件夹"+"\\"
#文件列表
pathDir= os.listdir(Input_path)
#压缩函数
for i in tqdm(range(len(pathDir))):
# 读入栅格文件
rasterfile = Input_path+"\\"+pathDir[i]
#打开栅格
rasterdata = rio.open(rasterfile)
#读取栅格
rasterdata2= rasterdata.read()
#获取栅格信息
profile = rasterdata.profile
print(profile)
#选择压缩方式
profile.update(
compress='lzw', #压缩方式:rle,lzw等
)
#导出文件路径与名字
out_put_name=Output_path +"RLE"+pathDir[i]
#导出
with rasterio.open(out_put_name, mode='w', **profile) as dst:
dst.write(rasterdata2)