Learn R Programming

spgrass6 (version 0.8-9)

initGRASS: Initiate GRASS session

Description

Run GRASS interface in an R session not started within GRASS. In general, most users will use initGRASS in throwaway locations, to use GRASS modules on R objects without the need to define and populate a location. The function initializes environment variables used by GRASS, the .gisrc used by GRASS for further environment variables, and a temporary location.

The locking functions are used internally, but are exposed for experienced R/GRASS scripters needing to use the GRASS module “g.mapset” through initGRASS in an existing GRASS location. In particular, “g.mapset” may leave a .gislock file in the current MAPSET, so it may be important to call unlink_.gislock to clean up before quitting the R session.

Usage

initGRASS(gisBase, home, SG, gisDbase, location, mapset, override = FALSE, use_g.dirseps.exe = TRUE, pid) get.GIS_LOCK() set.GIS_LOCK(pid) unset.GIS_LOCK() unlink_.gislock()

Arguments

gisBase
The directory path to GRASS binaries and libraries
home
The directory in which to create the .gisrc file; defaults to $HOME on Unix systems and to USERPROFILE on Windows systems; can usually be set to tempdir()
SG
An optional SpatialGrid object to define the DEFAULT_WIND of the temporary location
gisDbase
if missing, tempdir() will be used; GRASS GISDBASE directory for the working session
location
if missing, basename(tempfile()) will be used; GRASS location directory for the working session
mapset
if missing, basename(tempfile()) will be used; GRASS mapset directory for the working session
override
default FALSE, set to TRUE if accidental trashing of GRASS .gisrc files and locations is not a problem
use_g.dirseps.exe
default TRUE; when TRUE appears to work for WinGRASS Native binaries, when FALSE for QGIS GRASS binaries; ignored on other platforms.
pid
default as.integer(round(runif(1, 1, 1000))), integer used to identify GIS_LOCK; the value here is arbitrary, but probably should be set correctly

Value

The function runs gmeta before returning the current values of the running GRASS session that it provides.

Details

The function establishes an out-of-GRASS working environment providing GRASS commands with the environment variable support required, and may also provide a temporary location for use until the end of the running R session if the home argument is set to tempdir(), and the gisDbase argument is not given. Running gmeta shows where the location is, should it be desired to archive it before leaving R.

See Also

gmeta

Examples

Run this code
## Not run: 
# initGRASS("/usr/bin/grass-6.4.4", home=tempdir())
# initGRASS("C:/GRASS", home=tempdir())
# ## End(Not run)

Run the code above in your browser using DataLab