1. 程式人生 > 程式設計 >python獲取柵格點和麵值的實現

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')
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獲取柵格點和麵值的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。