python 10 年数据的平均每日降水 pcraster 地图堆栈
Averaging daily precipitation pcraster map stack for 10 years of data with python
我有 3652 张 pcraster 地图堆栈类型的地图用于每日降水值
pptn0000.001
pptn0000.002
...
pptn0003.652
我知道有一个 pcrcalc 命令,但我缺少对此类地图进行数学运算的示例。
我怎样才能对 python 中的这些地图进行平均并得到一个栅格地图作为输出?
谢谢
好吧,我刚才这样做是为了从 TRMM 任务(17 年,1998-2014)中获得 'climatological precipitation'。
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')
我有 3652 张 pcraster 地图堆栈类型的地图用于每日降水值
pptn0000.001
pptn0000.002
...
pptn0003.652
我知道有一个 pcrcalc 命令,但我缺少对此类地图进行数学运算的示例。 我怎样才能对 python 中的这些地图进行平均并得到一个栅格地图作为输出? 谢谢
好吧,我刚才这样做是为了从 TRMM 任务(17 年,1998-2014)中获得 'climatological precipitation'。 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')