python獲取柵格點和麵值的實現
阿新 • • 發佈:2020-03-11
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:\loessplateau\ET_Spline\extract_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(meanValue) +'\n') OutputFile.close()
補充知識:python_計算格點資料降水變化斜率
我就廢話不多說了,還是直接看程式碼吧!
import numpy as np import pandas as pd import codecs path=r'C:\try.csv' #讀取格點資料CSV data=pd.read_csv(path,encoding='gbk') outpath=r'C:\rate.csv'#新建存放斜率的CSV file_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獲取柵格點和麵值的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。