import arcpy
>>> import arcpy
... import os
... from arcpy.sa import *
... from arcpy import env
... env.workspace='E:\\厦门文件\\Python试验\\TM4'
... TM4list = arcpy.ListRasters()
... for TM4 in TM4list:
... TM4name=TM4[0:5]
... TM4folder = "E:\\Python\\TM4\\"
... TM5folder = "E:\\Python\\TM5\\"
... NDVIfolder = "E:\\Python\\NDVI\\"
... VFCfolder= "E:\\Python\\VFC\\"
... TM4 = arcpy.Raster(TM4folder+TM4)
... TM5 = arcpy.Raster(TM5folder+TM4name+'_T5.tif')
... #算NDVI
... NDVIoutraster=NDVIfolder + TM4name + '_NDVI.tif'
... locals()[TM4name+'_NDVI']=(TM4-TM5)/(TM4+TM5)
... locals()[TM4name+'_NDVI'].save(NDVIoutraster)
... #统计每个NDVI的最大,最小值
... XJzone = "E:\\Python\\shape\\XJzone.shp"
... NDVImaxout = NDVIfolder + TM4name + '_NDVImax.tif'
... locals()[TM4name+'_NDVImax'] = ZonalStatistics(XJzone,"FID", NDVIoutraster, "MAXIMUM")
... locals()[TM4name+'_NDVImax'].save(NDVImaxout)
... NDVIminout = NDVIfolder + TM4name + '_NDVImin.tif'
... locals()[TM4name+'_NDVImin'] = ZonalStatistics(XJzone,"FID", NDVIoutraster, "MINIMUM")
... locals()[TM4name+'_NDVImin'].save(NDVIminout)
... #计算VFC
... NDVImaxfi = arcpy.Raster(NDVIfolder + TM4name + '_NDVImax.tif')
... NDVIminfi = arcpy.Raster(NDVIfolder + TM4name + '_NDVImin.tif')
... VFCoutraster= VFCfolder + TM4name + '_VFC.tif'
... locals()[TM4name+'_VFC']=(NDVIoutraster- NDVIminfi)/(NDVImaxfi-NDVIminfi)
... locals()[TM4name+'_VFC'].save(VFCoutraster)
批量计算NDVI,VFC
3星 · 超过75%的资源 需积分: 48 98 浏览量
2019-07-11
17:22:41
上传
评论 2
收藏 683B 7Z 举报
听风阁主
- 粉丝: 31
- 资源: 1