我在pcraster地图堆栈类型中有3652个地图用于每日降水值
pptn0000.001
pptn0000.002
...
pptn0003.652
我知道有一个pcrcalc命令,但我没有例子对这种类型的地图进行数学运算。 我如何在python中平均这些地图并将一个栅格地图作为输出? 感谢
答案 0 :(得分:1)
嗯,我刚才这样做是为了得到一个气候降水'来自TRMM使命(17年,1998年至2014年)。 Python可以使用pcraster库直接读取栅格地图。例如:
import os
import fnmatch
import subprocess
from os import listdir
from pcraster import *
PrecDaily = '/home/someData/precipitation/pptn'
OutSave = '/home/someData/precipitation/pptn/meanMap'
TypeFile = 'pptn????.???'
os.chdir(PrecDaily)
PrecDailyFiles = []
for iListFile in sorted(os.listdir('.')):
if fnmatch.fnmatch(iListFile, TypeFile):
PrecDailyFiles.append(iListFile)
n=len(PrecDailyFiles)
FirstRasterMap = readmap(PrecDailyFiles[0])
SUM = FirstRasterMap
for iMeanRaster in xrange(1, n):
PCRasterMap = readmap(PrecDailyFiles[iMeanRaster])
SUM = SUM + PCRasterMap
MEAN = SUM/n
os.chdir(OutSave)
report(MEAN, 'pptn_mean.map')