Questo è il comando t.rast.mapcalcgrass che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
t.rast.mapcalc - Esegue espressioni mapcalc spazio-temporali su mappe campionate temporalmente
di set di dati raster spazio-temporali.
PAROLE CHIAVE
temporale, algebra, raster, tempo
SINOSSI
t.rast.mapcalc
t.rast.mapcalc --Aiuto
t.rast.mapcalc [-ns] Ingressi=Nome[,Nome,...] espressione=stringa [metodo=Nome[,Nome,...]]
produzione=Nome nome di base=nome di base [nprocs=numero intero] [--sovrascrivere] [--Aiuto] [--verboso]
[--silenzioso] [--ui]
Bandiere:
-n
Registra mappe nulle
-s
Verifica sovrapposizione spaziale
--sovrascrivi
Consenti ai file di output di sovrascrivere i file esistenti
--Aiuto
Riepilogo utilizzo stampa
--verboso
Uscita modulo dettagliata
--silenzioso
Uscita modulo silenzioso
--ui
Forza l'avvio della finestra di dialogo GUI
parametri:
Ingressi=nome[,nome,...] [necessario]
Nome dei set di dati raster spazio-tempo di input
espressione=stringa [necessario]
Espressione mapcalc spazio-temporale
metodo=nome[,nome,...]
Il metodo da utilizzare per campionare il set di dati di input
Opzioni: avviare, durante, sovrapposizione, contenere, pari, segue, precede
Predefinito: pari
produzione=Nome [necessario]
Nome del set di dati raster spazio-tempo di output
nome di base=nome di base [necessario]
Nome base per le mappe raster di output
Verrà allegato un suffisso numerico separato da un carattere di sottolineatura per creare un unico
identificatore
nprocs=numero intero
Numero di processi r.mapcalc da eseguire in parallelo
Predefinito: 1
DESCRIZIONE
t.rast.mapcalc svolge spazio-temporale mapcalc espressioni su mappe di campionate temporalmente
set di dati raster spazio-temporali (STRDS). Operatori spaziali e temporali e variabili interne
sono disponibili nella stringa di espressione. La descrizione degli operatori spaziali,
funzioni e variabili interne è disponibile nella pagina di manuale di r.mapcalc. Il temporale
funzioni sono descritte in dettaglio di seguito.
Questo modulo prevede diversi parametri. Tutti i set di dati raster spazio-temporali a cui si fa riferimento
nella mapcalc espressione deve essere elencato nel ingresso opzione. Il prima di tutto raster spazio-temporale
il set di dati che è elencato come input verrà utilizzato per campionare temporaneamente tutti gli altri spazio-tempo
set di dati raster. Il metodo di campionamento temporale può essere scelto utilizzando il metodo opzione. Il
l'ordine degli STRDS nell'espressione mapcalc può essere diverso dall'ordine dei
STRDS nell'opzione di input. Il set di dati raster spazio-temporali risultante deve essere specificato in
, il produzione opzione insieme al base nome delle mappe raster generate che sono registrate
nelle STRDS risultanti. Le mappe vuote risultanti dal calcolo della mappa non vengono registrate da
predefinito. Questo comportamento può essere modificato con il -n bandiera. La bandiera -s può essere utilizzato per assicurare
che vengano elaborate solo le mappe relative allo spazio negli STRDS. Relativo allo spazio significa che
mappe temporalmente correlate si sovrappongono nella loro estensione spaziale.
Il modulo t.rast.mapcalc supporta l'elaborazione parallela. L'opzione nprocs specifica il
numero di processi che possono essere avviati in parallelo.
È necessario fornire un'espressione mapcalc per elaborare le mappe campionate temporali. Temporale
variabili interne sono disponibili in aggiunta al r.mapcalc operatori spaziali e
funzioni:
Variabili interne supportate per il tempo relativo e assoluto:
· td() - Questa variabile interna rappresenta la dimensione del tempo di campionamento corrente
intervallo in giorni e frazione di giorni per il tempo assoluto, e in unità relative in
caso di tempo relativo.
· Ora di inizio() - Questa variabile interna rappresenta la differenza di tempo tra il
l'ora di inizio del set di dati raster spazio temporale campione e l'ora di inizio del
intervallo di campionamento o istanza corrente. Il tempo è misurato in giorni e frazione di
giorni per il tempo assoluto e in unità relative in caso di tempo relativo.
· Tempo scaduto() - Questa variabile interna rappresenta la differenza di tempo tra il
ora di inizio del set di dati raster spazio temporale campione e l'ora di fine della corrente
intervallo di campionamento. Il tempo è misurato in giorni e frazione di giorni per assoluto
tempo, e in unità relative in caso di tempo relativo. Il end_time() sarà
rappresentato da null() nel caso di un'istanza temporale.
Variabili interne supportate per il tempo assoluto dell'intervallo di campionamento corrente o dell'istanza:
· start_doy() - Giorno dell'anno (doy) dall'ora di inizio [1 - 366]
· start_dow() - Giorno della settimana (dow) dall'ora di inizio [1 - 7], l'inizio della settimana
è lunedì == 1
· inizio_anno() - L'anno dell'ora di inizio [0 - 9999]
· inizio_mese() - Il mese dell'ora di inizio [1 - 12]
· inizio_settimana() - Settimana dell'anno dell'ora di inizio [1 - 54]
· inizio_giorno() - Giorno del mese dall'ora di inizio [1 - 31]
· inizio_ora() - L'ora dell'ora di inizio [0 - 23]
· inizio_minuto() - Il minuto dell'ora di inizio [0 - 59]
· inizio_secondo() - Il secondo dell'ora di inizio [0 - 59]
· fine_doy() - Giorno dell'anno (doy) dall'ora di fine [1 - 366]
· fine_fine() - Giorno della settimana (dow) dall'ora di fine [1 - 7], l'inizio della settimana è
lunedì == 1
· fine_anno() - L'anno dell'ora di fine [0 - 9999]
· fine_mese() - Il mese dell'ora di fine [1 - 12]
· end_woy () - Settimana dell'anno (woy) dell'ora di fine [1 - 54]
· fine giornata() - Giorno del mese dall'ora di inizio [1 - 31]
· fine_ora() - L'ora della fine [0 - 23]
· fine_minuto() - Il minuto dell'ora di fine [0 - 59]
· fine_secondo() - Il secondo dell'ora di fine [0 - 59]
. fine_* le funzioni sono rappresentate dalle variabili interne null() in caso di tempo
le istanze.
NOTE
Parleremo del lavoro interno di t.rast.mapcalc con un esempio. Immagina di averne due
STRDS come input, ciascuno con granularità mensile. Il primo A dispone di 6 mappe raster (a3 ...
a8) con un arco temporale da marzo ad agosto. Il secondo STRDS B ha 12 mappe raster (b1
...b12) da gennaio a dicembre. Il valore delle mappe raster è il numero di
il mese dall'ora di inizio dell'intervallo. Set di dati A verrà utilizzato per campionare il set di dati B a
creare un set di dati C. Vogliamo aggiungere tutte le mappe con la stessa data e ora se il mese del
l'ora di inizio è maggio o giugno, altrimenti moltiplichiamo le mappe. Il comando apparirà come
segue:
t.rast.mapcalc input=A,B output=C basename=c metodo=uguale \
espressione="if(inizio_mese() == 5 || inizio_mese() == 6, (A + B), (A * B))"
Le mappe raster risultanti nel set di dati C possono essere elencate con t.rast.list:
nome start_time min max
c_1 2001-03-01 00:00:00 9.0 9.0
c_2 2001-04-01 00:00:00 16.0 16.0
c_3 2001-05-01 00:00:00 10.0 10.0
c_4 2001-06-01 00:00:00 12.0 12.0
c_5 2001-07-01 00:00:00 49.0 49.0
c_6 2001-08-01 00:00:00 64.0 64.0
Internamente verrà analizzata l'espressione spazio-temporale per ogni intervallo di tempo del
set di dati campione A, le funzioni temporali saranno sostituite da valori numerici, i nomi
dei dataset raster spazio-temporali saranno sostituiti dalle corrispondenti mappe raster. Il
l'espressione finale sarà passata a r.mapcalc, risultando in 6 esecuzioni:
r.mapcalc espressione="c_1 = if(3 == 5 || 3 == 6, (a3 + b3), (a3 * b3))"
r.mapcalc espressione="c_2 = if(4 == 5 || 4 == 6, (a4 + b4), (a4 * b4))"
r.mapcalc espressione="c_3 = if(5 == 5 || 5 == 6, (a5 + b5), (a5 * b5))"
r.mapcalc espressione="c_4 = if(6 == 5 || 6 == 6, (a6 + b6), (a6 * b6))"
r.mapcalc espressione="c_5 = if(7 == 5 || 7 == 6, (a7 + b7), (a7 * b7))"
r.mapcalc espressione="c_6 = if(8 == 5 || 8 == 6, (a8 + b8), (a8 * b8))"
ESEMPIO
Il seguente comando sta creando un nuovo set di dati spazio-temporali raster dove in gennaio
le mappe sono se la temperatura è maggiore di 0 imposta null altrimenti imposta il
valore originale. Gli altri mesi vengono copiati come l'originale.
t.rast.mapcalc input=tempmean_monthly output=gennaio_sotto_0 basename=gennaio_sotto_0 \
expression="if(start_month() == 1 && tempmean_monthly > 0, null(), tempmean_monthly)"
# stampa dei valori minimi o massimi solo per gennaio
t.rast.list gennaio_sotto_0 colonne=nome,ora_inizio,min,max | grep 01-01
nome|ora_inizio|min|max
january_under_0_01|2009-01-01 00:00:00|-3.380823|-7e-06
january_under_0_13|2010-01-01 00:00:00|-5.266929|-0.000154
january_under_0_25|2011-01-01 00:00:00|-4.968747|-6.1e-05
january_under_0_37|2012-01-01 00:00:00|-0.534994|-0.014581
# questi sono i dati originali, puoi vedere che il massimo è diverso
t.rast.list tempmean_monthly columns=nome,ora_inizio,min,max | grep 01-01
2009_01_tempmean|2009-01-01 00:00:00|-3.380823|7.426054
2010_01_tempmean|2010-01-01 00:00:00|-5.266929|5.71131
2011_01_tempmean|2011-01-01 00:00:00|-4.968747|4.967295
2012_01_tempmean|2012-01-01 00:00:00|-0.534994|9.69511
Usa t.rast.mapcalcgrass online utilizzando i servizi onworks.net