1.前言
我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G。考虑到有限的电脑磁盘空间,我对Tif文件采用了LZW压缩。
2.流程
3.批量压缩代码
#文件夹中每个文件都进行压缩# -*- coding: utf-8 -*-import rasterio as rioimport rasterioimport osfrom 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.profileprint(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)
4.结果展示
首先是四川省的原始文件大小为2.23Gb,压缩后的大小为0.99Gb,压缩了大概一半。
以上就是使用Python批量压缩tif文件操作步骤的详细内容,更多关于Python批量压缩文件的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- python 批量解压压缩文件的实例代码
- python 无损批量压缩图片(支持保留图片信息)的示例
- python 批量压缩图片的脚本
- python压缩文件夹内所有文件为zip文件的方法
- Python实现文件压缩和解压的示例代码