在對遙感影像進(jìn)行處理的時候,經(jīng)常需要進(jìn)行鑲嵌/拼接,如果導(dǎo)入Arcgis進(jìn)行操作的話,就需要對若干個文件建立柵格文件金字塔,然后才能進(jìn)行操作,這樣的話就會浪費(fèi)很多時間。所以才寫下這個代碼,可供大家參考。
功能:對某個文件夾下所有柵格文件進(jìn)行鑲嵌/拼接,生成一個新的文件。
用法:修改input_folder和output_raster 即可,input為某個文件夾,output為具體文件
import arcpy
import os
# 設(shè)置工作空間和輸入輸出路徑
input_folder = r"#############" # 存放柵格文件的文件夾路徑
output_raster = r"##################/x.tif" # 鑲嵌后的柵格文件路徑
# 設(shè)置環(huán)境
arcpy.env.workspace = input_folder
# 獲取所有柵格文件
raster_list = arcpy.ListRasters()
if not raster_list:
print("未找到柵格文件,請檢查文件夾路徑!")
else:
try:
print("開始鑲嵌柵格文件...")
# 創(chuàng)建鑲嵌列表
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", # 像素類型,根據(jù)需求調(diào)整
cellsize="", # 保持輸入柵格的分辨率
number_of_bands=4, # 波段數(shù)
mosaic_method="BLEND", # 鑲嵌方法,可選 "FIRST", "LAST", "MEAN", "MINIMUM", "MAXIMUM"
mosaic_colormap_mode="MATCH" # 鑲嵌色帶模式
)
print(f"柵格鑲嵌完成!輸出文件路徑:{output_raster}")
except Exception as e:
print(f"鑲嵌過程中出錯: {e}")