Python 根据经纬度批量裁剪TIFF影像 & ENVI 波段合成

1. Python 根据经纬度批量裁剪tiff影像

根据研究区的经纬度批量裁剪TIFF影像,需要用到arcpy中的Clip_management函数。

Clip_management (in_raster, rectangle, out_raster, {in_template_dataset}, {nodata_value}, {clipping_geometry}, {maintain_clipping_extent})

关于参数的几个特别说明

  1. rectangle 边界框范围的四个坐标:X 最小值、Y 最小值、X 最大值和 Y 最大值,空格分隔。
  2. maintain_clipping_extent 参数
    但在实际使用过程中,如果影像没有包含所要裁剪的范围,选用NO_MAINTAIN_EXTENT时,会将整幅影像输出;选用MAINTAIN_EXTENT时,会输出空白的影像,这些都需要手动删除。(后续再完善判断语句)

官方说明文档

参数详细介绍可参考官方说明文档
ArcMap裁剪说明文档

应用实例

import arcpy
import os
inputPath = r'D:\TIFF'  
outputPath = r'D:\Clip'
dirs = os.listdir(inputPath)  #列出文件夹内的所有文件
for fileName in dirs:
    name, ext = os.path.splitext(fileName)  # 分割文件名和后缀
    if ext == '.tif':
        filePath = inputPath + '\\' + fileName
        outputFile = outputPath + '\\' + name + '_clip.tif'
        arcpy.Clip_management(in_raster=filePath,rectangle="114.1 38.8 114.2 38.9", out_raster=outputFile, maintain_clipping_extent="MAINTAIN_EXTENT")
print(u'Finished!')

2. ENVI波段合成(Layer Stacking)

将上述裁剪后的TIFF影像,选择需要的波段进行波段合成,用到ENVI中的Layer Stacking工具。下例按照时间序列将裁剪后的高分一号近红外波段进行波段叠加。

  1. 在Toolbox搜索打开Layer Stacking工具;
  2. 在①处设置输出坐标系,可根据输入的tiff图层进行选择;
  3. 导入图像Import File,选择要叠加的Band4;
    在这里插入图片描述
  4. 通过Recorder Files拖拽波段可进行波段排序(下图按时间顺序);
    在这里插入图片描述
  5. 选择输出位置,文件命名指定后缀为**.tif**。
  6. 最后,与原始数据像元值对比,核实一下是否操作成功。

3. 可能存在的问题

生成的结果用ENVI打开时,需要选择File > Open As > Optical Sensors > ADS40的方式打开(具体原因还不清楚);用ArcGIS和QGIS可直接正常打开。

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据引用\[2\]中的信息,可以使用arcpy中的Clip_management函数来实现根据经纬度裁剪ENVI影像。该函数的参数中,rectangle表示边界框范围的四个坐标,分别是X最小值、Y最小值、X最大值和Y最大值,用空格分隔。因此,你可以根据需要裁剪经纬度范围,将这四个坐标值填入rectangle参数中,然后指定输入影像路径和输出影像路径,即可实现裁剪操作。 例如,如果你需要裁剪经纬度范围是114.1°至114.2°经度和38.8°至38.9°纬度,你可以将rectangle参数设置为"114.1 38.8 114.2 38.9",然后指定输入影像路径和输出影像路径,调用Clip_management函数即可完成裁剪操作。 请注意,裁剪操作可能需要一些时间,具体取决于影像的大小和计算机的性能。裁剪完成后,你可以在指定的输出影像路径中找到裁剪后的影像文件。 希望这个回答对你有帮助! #### 引用[.reference_title] - *1* [基于ENVI实现栅格遥感影像按图层行列号与像元数量划定矩形研究区域并裁剪](https://blog.csdn.net/zhebushibiaoshifu/article/details/118978851)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python 根据经纬度批量裁剪TIFF影像 & ENVI 波段合成](https://blog.csdn.net/qq_44485671/article/details/129143758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值