RSAGA - for Schleife

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
Moritz F.
Beiträge: 21
Registriert: Mo Jan 22, 2018 3:17 pm

RSAGA - for Schleife

Beitrag 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
Moritz F.
Beiträge: 21
Registriert: Mo Jan 22, 2018 3:17 pm

Re: RSAGA - for Schleife

Beitrag 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 :)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: RSAGA - for Schleife

Beitrag 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).
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten