脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 使用Python批量压缩tif文件操作步骤

使用Python批量压缩tif文件操作步骤

2022-01-04 00:00锐多宝的地理空间 Python

Tif文件是栅格数据最常用的一种格式。图像数据区以位图的方式进行数据的表示。因此Tif文件可以进行压缩,常用的压缩方式有LZW、RAW、RLE、CCITT等

1.前言

我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G。考虑到有限的电脑磁盘空间,我对Tif文件采用了LZW压缩。

 

2.流程

使用Python批量压缩tif文件操作步骤

 

3.批量压缩代码

#文件夹中每个文件都进行压缩
# -*- 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)

 

4.结果展示

使用Python批量压缩tif文件操作步骤

首先是四川省的原始文件大小为2.23Gb,压缩后的大小为0.99Gb,压缩了大概一半。

使用Python批量压缩tif文件操作步骤

以上就是使用Python批量压缩tif文件操作步骤的详细内容,更多关于Python批量压缩文件的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/weixin_36396470/article/details/120169261

延伸 · 阅读

精彩推荐