批量裁剪遥感数据

import os
import rasterio
from rasterio.windows import Window

# 复制一个文件夹下的所有文件夹名称到另一个文件夹中
# def copy_folder_name(src_folder, dest_folder):
#     src_folder_names = os.listdir(src_folder)
#     for name in src_folder_names:
#
#         dest_folder_name = os.path.join(dest_folder, name)
#         if not os.path.exists(dest_folder_name):
#             os.mkdir(dest_folder_name)
#     print("Folder name copied successfully!")

if __name__ == '__main__':
    #把文件夹名字先复制过去
    src_folder = 'D:\STFdata\CIA_tiff'
    dest_folder = 'D:\STFdata\CIA_tiff_cropping'
    src_folder_names = os.listdir(src_folder)
    for name in src_folder_names:
        dest_folder_name = os.path.join(dest_folder, name)
        if not os.path.exists(dest_folder_name):
            os.mkdir(dest_folder_name)
    print("Folder name copied successfully!")

    for name in src_folder_names:
        full_name = os.path.join(src_folder, name)
        file_names = os.listdir(full_name)
        for file_name in file_names:
            img = rasterio.open(os.path.join(full_name, file_name))
            w = rasterio.windows.Window(100, 100, 1200, 2000)
            cropped_image = img.read(window=w)
            profile = img.profile
            profile.update(width=1200, height=2000)
            dst = rasterio.open(os.path.join(dest_folder, name, file_name), 'w', **profile)
            dst.write(cropped_image)
            dst.close()
            img.close()


    # img=rasterio.open('D:\\STFdata\\CIA_tiff\\2001_281_08oct\\L71093084_08420011007_HRF_modtran_surf_ref_agd66.tif')
    # print(img.profile)

丢硬盘后遗症。

rasterio.windows.Window 是一个用于创建矩形窗口的类,可以用来截取或处理栅格数据中的一部分。其函数参数解释如下:

  • col_off: 窗口左侧列的偏移量(通过列号进行计数)。
  • row_off: 窗口顶部行的偏移量(通过行号进行计数)。
  • width: 窗口的宽度(以列数计算)。
  • height: 窗口的高度(以行数计算)。

这些参数共同定义了一个矩形窗口,其左上角位于 (col_off, row_off) 像素处,右下角位于 (col_off+width-1, row_off+height-1) 像素处。可以使用该窗口对栅格数据进行切割、裁剪或提取感兴趣的区域等操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值