execGRASS {spgrass6}R Documentation

Run GRASS commands

Description

The functions provide an interface to GRASS commands run through system, based on the values returned by the --interface description flag using XML parsing.

Usage

execGRASS(cmd, flags = NULL, parameters = NULL, intern = FALSE, ignore.stderr = FALSE)
doGRASS(cmd, flags = NULL, parameters = NULL)
parseGRASS(cmd)
## S3 method for class 'GRASS_interface_desc':
print(x, ...)

Arguments

cmd GRASS command name
flags character vector of GRASS command flags
parameters list of GRASS command parameters
intern a logical (not 'NA') which indicates whether to make the output of the command an R object. Not available unless 'popen' is supported on the platform
ignore.stderr a logical indicating whether error messages written to 'stderr' should be ignored
x object to be printed
... other arguments to print method

Details

parseGRASS checks to see whether the GRASS command has been parsed already and cached in this session; if not, it reads the interface description, parses it and caches it for future use. doGRASS assembles a proposed GRASS command with flags and parameters as a string, wrapping parseGRASS, and execGRASS is a wrapper for doGRASS, running the command through system. The command string is termed proposed, because not all of the particular needs of commands are provided by the interface description, and no check is made for the existence of input objects. Support for multiple parameter values added with help from Patrick Caldon.

Value

parseGRASS returns a GRASS_interface_desc object, doGRASS returns a character string with a proposed GRASS command, and execGRASS returns what system returns, particularly depending on the intern argument.

Author(s)

Roger S. Bivand, e-mail: Roger.Bivand@nhh.no

See Also

system

Examples

if (nchar(Sys.getenv("GISRC")) > 0) {
  print(parseGRASS("r.slope.aspect"))
  pars <- list(elevation="elevation.dem", slope="slope", aspect="aspect")
  doGRASS("r.slope.aspect", flags=c("overwrite"), parameters=pars)
  print(parseGRASS("r.buffer"))
  pars <- list(input="bugsites", output="bmap", distances=seq(1000,15000,1000))
  doGRASS("r.buffer", flags=c("overwrite"), parameters=pars)
}

[Package spgrass6 version 0.6-6 Index]