【了不起的Python】长时间序列(30年)每两组栅格数据对应做减法运算求物候参数

Python语言在ArcGIS软件中发挥着乾坤大挪移的作用,然而很多人并不知道它的厉害之处。今天我们利用Python语言来批处理遥感物候数据,获取物候期的参数。

说明:

(1)Up_Path:始期数据路径变量

(2)Down_Path:末期数据路径变量

(3)outPath:相减输出结果路径变量

完整的Python代码如下:

import arcpy
arcpy.CheckOutExtension("spatial")
arcpy.gp.overwriteOutput=1

Up_Path="G:\\Phenology of 30 Years\\GIMMS 3g\\13Up\\2PointToRaster\\"
Down_Path="G:\\Phenology of 30 Years\\GIMMS 3g\\14Down\\2PointToRaster\\"
OutPath="G:\\Phenology of 30 Years\\GIMMS 3g\\15Length\\1Length\\"
n=1983

for i in range(0,30):
    
    OutName=OutPath+str(n)
    
    a=Up_Path+"p2r_"+str(n)
    b=Down_Path+"p2r_"+str(n)
    
    arcpy.gp.Minus_sa(b, a, OutName)   #栅格相减,其实是字符串对应的数据相减,但是不能直接用“-”来操作字符串
    print(str(n)+" has done")

    n=n+1
    OutName=""

print("All done,Please close!")

注意:

 

(1)以上栅格数据相减调用的是Math下面的Minus函数,操作的是数据是构造的“路径+数据名”形式的字符串,不能直接做减法运算

(2)如果非要做减法运算,可以将“路径+数据名”形式的字符串转换为Raster,即outRa

你可能感兴趣的:(《Python》)