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(minValue) + ',' + str(maxValue) + ',' + 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獲取柵格點和面值的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持python博客。