(一)Arcpy栅格计算之回归分析—slope的计算
其中RLSTi是每个栅格的RLST值,n(在本研究中取10)是时间跨度,i是时间单位,范围为1至10。
代码示例
代码如下(示例):
# -*- coding: UTF-8 -*-
# -*- coding: utf-8 -*-
import arcpy
import os
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension("ImageAnalyst") #检查许可
arcpy.CheckOutExtension('Spatial')
# 输入路径 应该注意,中文路径,会导致读不出文件
env.workspace = r"G:\GISfinal\LST\yearRLST" #数据存放目录
# 输出路径
outws = r"G:\GISfinal\LST\yearRLST\huigui"
# 读取所有tif文件
rasters = arcpy.ListRasters("*","tif")
# 左子式和右子式的初始化
left = Raster(rasters[0])
right = Raster(rasters[0])
# 进行公式计算 Plus为加,Minus为减,Times为乘,Divide为除,
for i in range(1, len(rasters)):
print rasters[i]
ras1 = Raster(rasters[i])
left = Plus(left, Times(i+1, rasters[i]))
right = Plus(right, rasters[i])
# 本例中n为10, i为1到10
left = Times(10, left)
right = Times(55, right)
sum =Divide(Minus(left, right), 825)
# 存储文件
outname = 'slope_RLST.tif'
out_file = os.path.join(outws, outname)
sum.save(out_file)
print " ---- oover! ---- "