Arcgis批量进行影像镶嵌/拼接

在对遥感影像进行处理的时候,经常需要进行镶嵌/拼接,如果导入Arcgis进行操作的话,就需要对若干个文件建立栅格文件金字塔,然后才能进行操作,这样的话就会浪费很多时间。所以才写下这个代码,可供大家参考。

功能:对某个文件夹下所有栅格文件进行镶嵌/拼接,生成一个新的文件。
用法:修改input_folder和output_raster 即可,input为某个文件夹,output为具体文件

import arcpy
import os

# 设置工作空间和输入输出路径
input_folder = r"#############"  # 存放栅格文件的文件夹路径
output_raster = r"##################/x.tif"  # 镶嵌后的栅格文件路径

# 设置环境
arcpy.env.workspace = input_folder

# 获取所有栅格文件
raster_list = arcpy.ListRasters()

if not raster_list:
    print("未找到栅格文件,请检查文件夹路径!")
else:
    try:
        print("开始镶嵌栅格文件...")

        # 创建镶嵌列表
        input_rasters = []
        for raster in raster_list:
            input_rasters.append(raster)

        # 镶嵌栅格
        arcpy.management.MosaicToNewRaster(
            input_rasters=input_rasters,  # 输入栅格文件列表
            output_location=os.path.dirname(output_raster),  # 输出目录
            raster_dataset_name_with_extension=os.path.basename(output_raster),  # 输出栅格名称
            pixel_type="32_BIT_FLOAT",  # 像素类型,根据需求调整
            cellsize="",  # 保持输入栅格的分辨率
            number_of_bands=4,  # 波段数
            mosaic_method="BLEND",  # 镶嵌方法,可选 "FIRST", "LAST", "MEAN", "MINIMUM", "MAXIMUM"
            mosaic_colormap_mode="MATCH"  # 镶嵌色带模式
        )

        print(f"栅格镶嵌完成!输出文件路径:{output_raster}")
    except Exception as e:
        print(f"镶嵌过程中出错: {e}")


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容