利用arcmap自带python批量将栅格文件镶嵌至新栅格

#注意,虽然utf-8指令可以使python处理中文字符,但是arcmap的python显然不支持
#建议把中文路径改为拼音,做完改回去,也不是很麻烦是吧
#导入os包
import os
# 指定输入数据的路径
inpath = r'C:\Users\mrlon\Desktop\share\province_extract\wuliu\2020'
inpath = inpath.replace('\\', '/')
# 指定输出数据的路径
outpath = r'C:\Users\mrlon\Desktop\share\out\2020'
outpath = outpath.replace('\\', '/')

#反斜杠会被识别为转义字符,换为正斜杠
# 获取当前文件夹下的所有.tif文件
allfiles = os.listdir(inpath)
alltiffiles = []
for eachfile in allfiles:
    if os.path.splitext(eachfile)[1] =='.tif':
        alltiffiles.append(eachfile)
#splittext可以分别出后缀名

#以下除循环控制语句外为ersi提供的标准代码
import arcpy
from arcpy import env
env.workspace = inpath
i=0
while i<len(alltiffiles):
 if(i==20) :
  i=i+1
#我们需要做的就是控制循环即I值,我的文件数量是奇数,而我要做的是每两个做一次镶嵌
#那我就需要一个if排除那个光棍
#下一句代码括号里面的是参数,""代表空,依次为输入栅格,输出文件夹路径,输出文件名
#坐标系(不指定的话用栅格自带的),字符格式(需要多多注意,建议百度或者查看工具帮助选择适合的)
#像元大小(无关紧要),需合成波段数,方法(最大值,平均值之类的),映射模式(无关紧要)
#反斜杠是因为一行太长,用来给代码换行
 arcpy.MosaicToNewRaster_management(alltiffiles[i]+";"+alltiffiles[i+1],outpath, \
                                   (i+1)/2+1, "",\
                                   "16_BIT_SIGNED", "", "1", "MAXIMUM","FIRST")
 i+=2

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值