Seite 1 von 1

RSAGA - for Schleife

Verfasst: Mo Jan 22, 2018 3:38 pm
von Moritz F.
Hallo liebes Forum,

ich nutze R um darüber SAGA-GIS Prozesse zu automatisieren. Dies anhand von for-Schleifen.
Ich möchte mehrere Grids reinladen und mit diesen Berechnungen durchführen.
Mit der Paste Funktion kann ich mehrere Grids reinladen.

z.B.: beim Reklassifizieren klappt das

for (i in 1:length(Grid))
{rsaga.geoprocessor("grid_tools",15,env=myenv,list(INPUT=paste("C:/Users/Desktop/Projekt//Grid",i,".sgrd",sep=""),RESULT=paste("C:/Users/Desktop/Projekt/Grid",i,sep=""),METHOD=0,OLD=4,NEW=1,SOPERATOR=3,OTHEROPT=TRUE,OTHERS=-99999))
}

Wenn ich aber eine Berechnung durchführen möchte brauche ich zwei verschiedene Grid als Input. Und das ist mein Problem - Wie geht das?
Hier also der Grid Calculator: Berechung Produkt a*b (Grid1*Grid2)

for (i in 1:length(Grid1 und Grid2))
{rsaga.geoprocessor("grid_calculus",1,env=myenv,list(GRIDS=paste("C:/Users/Desktop/Projekt/Grid1 und Grid2",i,".sgrd",sep=""),RESULT=paste("C:/Users/Desktop/Projekt/neuesGrid-Product",c,sep=""),FORMULA="a*b"))
}


Hoffe mir kann jemand weiterhelfen.

MfG

Moritz

Re: RSAGA - for Schleife

Verfasst: Mo Jan 22, 2018 4:00 pm
von Moritz F.
Hallo ich bin es nochmal, eine weitere Frage noch wie kann ich die Schleife dann stoppen, da sie dann weiter springen soll. Das Problem R soll das nur 30mal machen und dann abbrechen. Es läuft momentan noch unendlich weiter. Vielen Dank für die Holfe :)

Re: RSAGA - for Schleife

Verfasst: Mo Jan 22, 2018 6:58 pm
von EDi
Wieso nicht mit R direkt (raster package)? Performanzmäßig gar nicht so schlecht...
1:length(Grid1 und Grid2)
Mit ?expand.grid() ein data.frame mit allen Kombinationen vom Grid1 und Grid2 erstellen und Zielenweise mit for drüberlaufen. (oder nur Zeilen 1:30 falls du was willst).