(四十)arcpy开发&多幅影像批量拼接

今天我们来学习一下,使用arcpy实现多幅影像批量拼接。首先在这里,大家需要知道使用python的for循环,与数组的遍历。在python有这样的遍历的方式。

方式一:

whu_gis = ["大地测量","摄影测量","地理信息系统"]
for itemGis in whu_gis:
    print itemGis

#****运行结果*****
#大地测量
#摄影测量
#地理信息系统

方式二:

whu_gis = ["大地测量","摄影测量","地理信息系统"]
for i in range(0, len(whu_gis)):
    print i, whu_gis[i]

#运行结果如下
#0 大地测量
#1 摄影测量
#2 地理信息系统

 

而现在,我们需要来使用第二种方式,来读取工作空间下的所有的tif文件。即我们指定的目录下文件路径。在 rasters = arcpy.ListRasters("*", 'tif')语句中,即为我们使用的获取目录下的所有的tif文件文件。通过打debug,我们可以看到,得到这样的文件。

最后,将数据以"00101.t..tif;00201.t..tif;00301.t..tif;"方式,拼接起来。最后,我们使用了如下的代码来实现了。


#encoding:utf-8
import arcpy
import os


arcpy.env.overwriteOutput = True
try:
    arcpy.env.workspace = r'D:\Data\Demo\OutPut'
    output_location = "C:/Users/qin/Desktop/shp"
    coordinate_system_for_the_raster = "#"
    rasters = arcpy.ListRasters("*", 'tif')
    tifName="test"
    strList=''

    for i in range(0, len(rasters)):
        strList+=rasters[i]
        strList+=";"

    arcpy.MosaicToNewRaster_management(strList, output_location, tifName + ".tif", coordinate_system_for_the_raster, "8_BIT_UNSIGNED", "", "1", "LAST", "FIRST")
    print "finished"

except Exception as e:
    print(e)

来看一下,我们实现的结果文件。是我们创建的test.tif文件。



                            更多内容,请微信扫二维码关注公众号,或者加入arcpy开发qq学习群:487352121

                                                                      

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yGIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值