[GRASS-user] rgrass7 syntax for passing a command

Blumentrath, Stefan Stefan.Blumentrath at nina.no
Fri Apr 29 00:58:45 PDT 2016


Hi again,

On a second look I tried:

execGRASS("v.in.ascii", flags="n", input="-", output=" outlet1", Sys_input="636645|218835")

That worked for me on Ubuntu...

Cheers
Stefan

-----Original Message-----
From: grass-user [mailto:grass-user-bounces at lists.osgeo.org] On Behalf Of Roger Bivand
Sent: 29. april 2016 09:18
To: grass-user at lists.osgeo.org
Subject: Re: [GRASS-user] rgrass7 syntax for passing a command

Simply, don't.

execGRASS() is for executing single GRASS commands, not a drop-in replacement for bash.

Try something like creating the point in R with the correct projection, and write that vector object to your mapset:

library(sp)
library(rgrass7)
pt <- SpatialPointsDataFrame(matrix(c(636645, 218835), ncol=2),
  proj4string=CRS(paste(execGRASS("g.proj", flags="j", intern=TRUE), collapse=" ")),
  data=data.frame(x=1))
writeVECT(pt, "outlet")

You could create a temporary text file to read in:

tf <- tempfile()
writeLines("636645, 218835", tf)
execGRASS("v.in.ascii", input=tf, output="outlet1", separator=",",
flags="n")

which is closer to your script but less natural.

Yes, grass-stats is a more appropriate list.
 
Roger




-----
Roger Bivand
NHH Norwegian School of Economics, Bergen, Norway
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/rgrass7-syntax-for-passing-a-command-tp5263330p5263427.html
Sent from the Grass - Users mailing list archive at Nabble.com.
_______________________________________________
grass-user mailing list
grass-user at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


More information about the grass-user mailing list