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:\loessplateau\ET_Spline\extract_year') rlist=arcpy.ListRasters('*','tif') forfileinrlist: 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) printfile+','+str(minValue)+','+str(maxValue)+','+str(meanValue)+'\n' OutputFile.write(file+','+str(minValue)+','+str(maxValue)+','+str(meanValue)+'\n') OutputFile.close()
补充知识:python_计算格点数据降水变化斜率
我就废话不多说了,还是直接看代码吧!
importnumpyasnp importpandasaspd importcodecs 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=[]#空列表 foriinlist(range(0,80)):#循环计算80个格点的变化斜率 print(i) sp=[] y=data1[i] y=y.values forkinrange(0,m-1): forjinrange(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获取栅格点和面值的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。