2016-03-07 1 views
0

У меня есть 3652 карты в pcraster карта типа стека для ежедневного значения осадковУсреднения суточных осадков pcraster карты стек в течение 10 лет данных с питоном

pptn0000.001 
pptn0000.002 
... 
pptn0003.652 

Я понимаю, что есть команда pcrcalc но я недостающие примеры для выполнения математической операции на этом типе карты. Как я могу усреднять эти карты в python и иметь одну растровую карту в качестве вывода? Спасибо

ответ

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') 
+0

спасибо @Raf Я считаю, что это действительно полезно, и мне удаётся работать с ним для моих оценок пополнения, спасибо, спасибо – bayu

 Смежные вопросы

  • Нет связанных вопросов^_^