python獲取柵格點和面值的實現
1、獲取指定位置的點值:
OutputFile = open(statisticResultTXT, ’w’) cellvalue=arcpy.GetCellValue_management(inputfilepath+filenname+'.tif',staionXY, '1')OutputFile.write(stationID+'_'+filenname+''+str(cellvalue)+’n’)OutputFile.close()
2、獲取區域的均值極值
utputFile = open(statisticResult, ’w’) env.workspace = (’E:loessplateauET_Splineextract_year’)rlist = arcpy.ListRasters(’*’,’tif’)for file in rlist: minValueInfo= arcpy.GetRasterProperties_management(file,’MINIMUM’)minValue = minValueInfo.getOutput(0)maxValueInfo = arcpy.GetRasterProperties_management(file,’MAXIMUM’)maxValue = maxValueInfo.getOutput(0)meanValueInfo = arcpy.GetRasterProperties_management(file,’MEAN’)meanValue = meanValueInfo.getOutput(0)print file + ’,’ + str(minValue) + ’,’ + str(maxValue) + ’,’ + str(meanValue) +’n’OutputFile.write(file + ’,’ + str(minValue) + ’,’ + str(maxValue) + ’,’ + str(meanValue) +’n’)OutputFile.close()
補充知識:python_計算格點數據降水變化斜率
我就廢話不多說了,還是直接看代碼吧!
import numpy as npimport pandas as pdimport codecs path=r’C:try.csv’ #讀取格點數據CSVdata=pd.read_csv(path,encoding=’gbk’)outpath=r’C:rate.csv’#新建存放斜率的CSVfile_csv = codecs.open(outpath,’w+’,’utf-8’) #打開方式data1=data.T #轉置n=80 #格點數m=17 #年數sl=[] #空列表for i in list(range(0,80)):#循環計算80個格點的變化斜率 print (i) sp=[] y=data1[i] y=y.values for k in range(0,m-1): for j in range(k+1,m): print(k,j) s=(y[j]-y[k])/(j-k) #計算斜率 sp.append(s) sl.append(np.median(sp)) slop= pd.DataFrame(sl)slop.to_csv(outpath,header=[’slop’]) #將SLOP寫入CSV
以上這篇python獲取柵格點和面值的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: