RSAGA - for Schleife
Verfasst: Mo Jan 22, 2018 3:38 pm
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
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