使用Python批量压缩tif文件操作步骤
作者:锐多宝的地理空间 时间:2021-03-27 00:04:10
1.前言
我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G。考虑到有限的电脑磁盘空间,我对Tif文件采用了LZW压缩。
2.流程
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.结果展示
首先是四川省的原始文件大小为2.23Gb,压缩后的大小为0.99Gb,压缩了大概一半。
来源:https://blog.csdn.net/weixin_36396470/article/details/120169261
标签:Python,压缩文件
0
投稿
猜你喜欢
mysql 数据库备份的多种实现方式总结
2024-01-18 23:03:25
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2021-10-19 18:40:40
javascript一个无懈可击的实例化XMLHttpRequest的方法
2024-04-16 09:49:19
Tornado实现多进程/多线程的HTTP服务详解
2023-11-19 23:40:20
MySQL两种表存储结构性能比较测试过程
2007-12-09 12:45:00
eslint常见的一些报错及解决方法
2024-05-11 09:09:32
Win10下为VSCode配置LaTex编辑器的方法
2023-08-27 17:20:07
asp.net 防止用户通过后退按钮重复提交表单
2023-07-21 00:03:54
Mysql中实现提取字符串中的数字的自定义函数分享
2024-01-25 10:56:20
Django中的FBV和CBV用法详解
2023-09-15 10:41:06
Python全面解析json数据并保存为csv文件
2021-02-14 03:26:26
layer弹出子iframe层父子页面传值的实现方法
2024-04-19 09:56:10
Python制作进度条的几种方法
2022-03-11 05:36:23
python实现远程通过网络邮件控制计算机重启或关机
2022-04-16 01:05:27
python label与one-hot之间的互相转换方式
2022-01-05 07:09:55
python内存动态分配过程详解
2023-10-02 14:58:46
Python二分法搜索算法实例分析
2023-11-01 13:13:15
python函数常见关键字分享
2022-06-17 04:31:55
python 列表,集合和字典的增删改查
2021-06-20 04:31:37
用Python计算三角函数之atan()方法的使用
2023-06-22 22:26:00