[GRASS-de] Fragen zu r.mapcalc

Markus Neteler neteler at itc.it
Fr Okt 10 17:22:41 CEST 2003


On Thu, Oct 09, 2003 at 10:21:53AM +0200, Thomas Zimmermann wrote:
> 
> Hallo Grass-User!
> 
> Ich hätte da mal ein paar Fragen zu r.mapcalc, zu denen ich in keinem der
> Online-Beschreibungen Antworten fand.
> 
> 1.: Wie kann man eine Rasterzelle durch ihre geogr. Länge bzw. Breite
> genau definieren, oder wie kann man diesen Wert in eine Formel mit
> einbauen?
>        
> zB: 
> r.mapcalc>neuekarte=karte.r*("geographische Breite von")vegetation.r
> 
> "neuekarte=100+row()+col()" macht sowas ja für "y/x", wie aber bei Longitude/Latitude?

 ewres()                current east-west resolution
 nsres()                current north-south resolution

        
> Konkret geht es u.A. darum, die geographische Entfernung zweier Punkte in
> units zu messen.

Das geht nicht mit r.mapcalc, sondern mit r.what, r.distance oder anderen
Kommandos (vermutlich asl Script-Loesung).
 
 
> 2.,und die wichtigste Frage: Kann man bei Nachbarschaftsbeziehungen die
> Pixelangaben durch Parameter ersetzen?  Es soll beliebig weit in eine
> Richtung gesucht werden, um die genau nächste Rasterzelle zu finden, die
> eine bestimmte Bedingung erfüllt.
> 
> (Hier: "0", und linker nachbar:"1" ZB.:
> 
>      r.mapcalc> neuekarte = eval (if((test.r>test.r[0,-1]),"a",null()),a=min(if((test.r<test.r[b,c]),abs(formel),null()),b=n*0.5,c=n*0.5,0<=n<=1000) #oder so ähnlich.
> 
> Ist dazu dieses "x()" und "y()" irgendwie geeignet? Hab sonst keine Anleitung gefunden. 

Man kann Variablen in einem Script benutzen, vorher ausrechnen, Variable(n)
setzen und dann r.mapcalc nehmen.
Schau mal in die existierenden Scripte unter
/usr/local/grass5/scripts/
fuer Inspirationen.

> Gibt`s bei 1000 auch einen Wert für 'Unendlich'? Es soll eben beliebig
> weit bis zum Ende der Rasterkarte abgefahren und geprüft werden. Das
> Verhältnis von n=a+b stellt hierbei einfach den "Winkel" dar, der hier
> (0,5:0,5) 45 Grad betragen würde.

Das klingt mir eher nach 
http://grass.itc.it/gdp/html_grass5/html/r.transect.html
http://grass.itc.it/gdp/html_grass5/html/r.profile.html
http://grass.itc.it/gdp/html_grass5/html/m.cogo.html
(letzteres muss man evtl selbst kompilieren: src/misc/m.cogo/)

> 
> 3.Kann man auch das Erstellungsdatum eines Bildes in die Rechnung
> integrieren?

Inwiefern? r.info gibt das Datum aus:

r.info ndvi | grep Date
 | Layer:    ndvi                           Date: Thu Oct  9 15:32:36 2003 |

 
> Gruß, und Danke für alle Antworten, auch wenn was oben so nicht geht!

Ganz habe ich es nicht verstanden...

Ciao

 Markus Neteler