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

 更新时间:2021年09月09日 09:58:49   作者:锐多宝的地理空间  
Tif文件是栅格数据最常用的一种格式。图像数据区以位图的方式进行数据的表示。因此Tif文件可以进行压缩,常用的压缩方式有LZW、RAW、RLE、CCITT等

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,压缩了大概一半。

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

相关文章

  • python批量复制图片到另一个文件夹

    python批量复制图片到另一个文件夹

    这篇文章主要为大家详细介绍了python批量复制图片到另一个文件夹,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程

    最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程

    这篇文章涵盖了最新版PyCharm安装教程,最新版PyCharm永久激活码教程,PyCharm官方中文(汉化)版安装教程图文并茂非常详细,需要的朋友可以参考下
    2020-11-11
  • python dataframe获得指定行列简单例子

    python dataframe获得指定行列简单例子

    在DataFrame中取特定行列的数据是一个常见的操作,这篇文章主要给大家介绍了关于python dataframe获得指定行列的简单例子,需要的朋友可以参考下
    2024-03-03
  • Python提取网页中超链接的方法

    Python提取网页中超链接的方法

    很多人在一开始学习Python,会打算用作爬虫开发。既然要做爬虫,首先就要抓取网页,并且从网页中提取出超链接地址。这篇文章给大家分享一个简单的方法,有需要的可以参考借鉴。
    2016-09-09
  • 基于Python实现有趣的象棋游戏

    基于Python实现有趣的象棋游戏

    一直以来,中国象棋都是中华民族的一种象征,当然也是人们最为喜感的一种娱乐方式。这篇文章主要介绍了如何基于Python实现有趣的象棋游戏,感兴趣的可以了解一下
    2023-03-03
  • python模块内置属性概念及实例

    python模块内置属性概念及实例

    在本篇内容里小编给大家分享的是一篇关于python模块内置属性概念及实例内容,有兴趣的朋友们可以学习下。
    2021-02-02
  • python中cv2.projectPoints的用法小结

    python中cv2.projectPoints的用法小结

    这篇文章主要介绍了python中cv2.projectPoints的用法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12
  • python实现多线程的两种方式

    python实现多线程的两种方式

    这篇文章主要为大家详细介绍了python实现多线程的两种方式,感兴趣的朋友可以参考一下
    2016-05-05
  • 基于anaconda下强大的conda命令介绍

    基于anaconda下强大的conda命令介绍

    今天小编就为大家分享一篇基于anaconda下强大的conda命令介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 讲解Python中的递归函数

    讲解Python中的递归函数

    这篇文章主要介绍了讲解Python中的递归函数,递归是学一门编程语言必须掌握的重要特性,需要的朋友可以参考下
    2015-04-04

最新评论