python获取栅格点和面值的实现

时间:2021-05-23

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 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获取栅格点和面值的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章