使用Arcpy对gee上得到的数据进行拼接(6)

拼接闫凯教授的LAI数据时的代码(Arcpy)
原因:数据太大,在gee中自动把一张tif给拆成了两张输出到云盘中。
 

# # -*- coding: utf-8 -*-

#  如果是8d  就是前24个字符,如果是半个月的,就是前25个字符了

import arcpy
from arcpy import env
from os import path

# 设置工作空间
env.workspace = r"E:\yankai_LAI_FPAR\500m半月_初始文件\wgs_500m_bimonthly"
outputpath = r"E:\yankai_LAI_FPAR\wgs_500m_bimonthly"
# 获取所有的 GeoTIFF 文件
rasters = arcpy.ListRasters("*", "TIF")

# 存储待拼接的文件名的列表
waiting_tif = list(rasters)
# 禁用金字塔的创建
arcpy.env.pyramid = "NONE"

i = 1
# 循环直到待拼接文件列表为空
while waiting_tif:
    # 获取当前待拼接文件名的前24个字符
    current_file_name = waiting_tif[0]
    prefix = path.splitext(current_file_name)[0][:25]

    # 寻找相同前缀的文件
    matching_files = [tif for tif in waiting_tif if tif.startswith(prefix)]

    # 如果找到了另一个匹配的文件
    if len(matching_files) > 1:
        # 读取当前文件及其地理信息
        current_raster = path.join(env.workspace, matching_files[0])

        # 获取第二个匹配的文件名
        second_matching_file_name = matching_files[1]
        second_raster = path.join(env.workspace, second_matching_file_name)

        # 拼接图像
        output_file_name = prefix + ".tif"
        print("当前拼接的文件为:",[current_raster, second_raster])
        arcpy.MosaicToNewRaster_management([current_raster, second_raster], outputpath, output_file_name ,'',"8_BIT_UNSIGNED","", "2","","")

        # 显示已拼接并保存的文件
        print("已拼接并保存文件:", prefix + ".tif")
        print("当前是第{}张影像".format(i))
        i = i + 1
        # 从待拼接tif中删除已拼接的文件名
        waiting_tif.remove(matching_files[0])
        waiting_tif.remove(matching_files[1])
    else:
        # 如果找不到匹配的文件,显示警告信息
        arcpy.AddWarning("未找到与文件 {} 匹配的文件。".format(current_file_name))

print("所有文件已拼接完成。")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值