[R-sig-Geo] HELP with RPyGeo and RSAGA slope function
Alexander Brenning
brenning at uwaterloo.ca
Mon Mar 2 20:41:44 CET 2009
Dear Gianni,
ArcGIS is not that flexible; it does not allow you to directly create an
ASCII raster as an output of a geoprocessing tool. Try this to create an
ESRI raster "SLOPE" and then convert the result to ASCII:
setwd("C:/work")
env = rpygeo.build.env(overwriteoutput = 1,
workspace = getwd())
rpygeo.geoprocessor(fun = "ASCIIToRaster_conversion",
args = list("DEM.asc","DEM"), env=env)
rpygeo.Slope.sa("DEM","SLOPE",unit="PERCENT_RISE", env=env)
rpygeo.geoprocessor(fun = "RasterToASCII_conversion",
args = list("SLOPE","SLOPE.asc"), env=env)
rpygeo.Delete.management("DEM", env=env)
rpygeo.Delete.management("SLOPE", env=env)
Regarding the (much faster) RSAGA solution, try this:
setwd("C:/work")
rsaga.esri.to.sgrd("DEM")
rsaga.slope("DEM","SLOPErad")
# convert to slope in percent:
rsaga.grid.calculus("SLOPErad","SLOPE", formula="100*tan(a)")
rsaga.sgrd.to.esri("SLOPE", prec = 4)
unlink(c("SLOPErad.*", "SLOPE.?grd", "SLOPE.sdat",
"DEM.?grd", "DEM.sdat"))
I hope this helps...
cheers
Alex
P.S.: You could also you the following call for converting ESRI raster
to ASCII...
rpygeo.RasterToASCII.conversion("C:/work/SLOPE","C:/work/SLOPE.asc")
using the following function that is included in the next release of
RPyGeo (to be available in the next days):
rpygeo.RasterToASCII.conversion = function(in.raster,
out.ascii.file, ...)
{
out.ascii.file = default.file.extension(out.ascii.file, ".asc")
if (!(tolower(get.file.extension(out.ascii.file)) %in% c(".asc",
".txt")))
stop("'out.ascii.file' must have extension '.asc' or '.txt'.\n")
args = list(in.raster, out.ascii.file)
rpygeo.geoprocessor(fun = "RasterToASCII_conversion", args = args,
...)
}
gianni lavaredo wrote:
> Hi All,
>
> I am using Alexander Brenning RPyGeo. I have a DEM.asc (ASCII File format)
> and I wish to obtaion SLOPE (possible always in ascii formta) in percent.
> But I have this problem:
>
> rpygeo.Slope.sa("C:/work/DEM.asc","C:/work/SLOPE.asc",unit=c("PERCENT_RISE"),
> z.factor = 1)
> [1] "Executing: Slope C:/work/DEM.asc C:\\work\\SLOPE.asc PERCENT_RISE
> 1"
> [2] "Start Time: Mon Mar 02 19:03:30
> 2009"
> [3] "Failed to execute. Parameters are not
> valid."
> [4] "Parameter : C:\\work\\SLOPE.asc's extension is invalid for the output
> raster format."
> [5] "Failed to execute
> (Slope)."
> [6] "End Time: Mon Mar 02 19:03:30 2009 (Elapsed Time: 0.00
> seconds)"
>
> I tryed several solutions but nothing. I tryed also with RSAGA but I don't
> understand the right code to have in "percent".
>
>
> Thanks
>
> Gianni.
>
> PS: for Prof. Alexander Brenning. this geoprocessing expression runs in
> RpyGEO
>
> rpygeo.geoprocessing("Intersect_analysis"
> c("C:/work/plots.shp;C:/work/sample.shp", "C:/work/right_sample.shp",
> "ALL"))
> but I need to load the datas from the work folder
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>
--
Alexander Brenning
brenning at uwaterloo.ca - T +1-519-888-4567 ext 35783
Department of Geography and Environmental Management
University of Waterloo
200 University Ave. W - Waterloo, ON - Canada N2L 3G1
http://www.fes.uwaterloo.ca/geography/faculty/brenning/
More information about the R-sig-Geo
mailing list