-
Notifications
You must be signed in to change notification settings - Fork 0
/
get__vegetation_coverage.py
32 lines (25 loc) · 1.08 KB
/
get__vegetation_coverage.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# coding=utf-8
import os
import arcpy
from arcpy.sa import *
from get_confidence import get_confidence
arcpy.CheckOutExtension("spatial") # 检查外部扩展
arcpy.gp.overwriteOutput = 1 # 覆盖之前的文件
dirs = 'D:/Documentation/Project/Grassland ecology/Grassland_ecology/data/conversion/'
out_dir = 'D:/Documentation/Project/Grassland ecology/Grassland_ecology/data/Vegetation_coverage/'
asc_dir = 'D:/Documentation/Project/Grassland ecology/Grassland_ecology/data/gimms_ndvi_qd_1981-2002_exp/'
files = os.listdir(dirs)
for file in files:
if os.path.exists(out_dir + file) == False:
os.mkdir(out_dir + file)
out_path = out_dir + file + os.sep
dir = dirs + file + os.sep
arcpy.env.workspace = dir
rasters = arcpy.ListRasters(raster_type='TIF')
for raster in rasters:
inRaster = Raster(raster)
Min, Max = get_confidence(asc_dir + file + ".asc")
ans = Con(inRaster < Min, 0, Con((inRaster >= Min) & (inRaster <= Max), (inRaster - Min)/(Max - Min), 1))
ans.save(out_path + file + ".tif")
print file + " is done!"
print "OK!"