[Grass-de] Raster-rechnen

Markus Neteler neteler at osgeo.org
Mo Okt 5 08:55:13 CEST 2009


Hallo Martin,

2009/10/4 Martin Schweizer <schweizermartin at students.unibe.ch>:
> Hallo Markus
>
> Vielen Dank für diese Hilfe. Wenn ich das richtig verstehe kann man
> innerhalb der Klammer von eval() sowohl Variablen definieren, wie auch
> Operationen ausführen. Das wird aber irgendwie hier
> (http://grass.itc.it/grass64/manuals/html64_user/r.mapcalc.html) ganz
> anders dargestellt:
>
> "eval([x,y,...,]z)       evaluate values of listed expr, pass results to z"

...eigentlich nicht?

eval(input1, input2, ..., output)

> Nun, ich habe nun mal ein "eval()" in mein Script eingebaut, leider
> funktioniert das ganze noch immer nicht. Ich glaube ein "mapcalc-Profi"
> sieht das Problem wahrscheinlich sofort, aber ich sehe es einfach nicht
> (und ich habe doch einiges herumprobiert... ;-) ). Hier das Script:
>
> r.mapcalc
> eval(y=0, test=(if(Siedlungsflaeche,\e

\e sollte \ sein (ohne Leerzeichen dahinter)

> (if((Eignung42[-1,0])&&(test<5),($y+Eignung42)&&6,test)||\e

Du sagt vorne
test=
aber benutzt test auch in der Formel - wie soll das gehen?

Gruesse
Markus