(You must have GRASS installed, of course)
# Parameters for the GRASS
installation and temporary GRASS mapset
GISBase =
"/usr/lib/grass76"
# Set these as
you like
GISDbase = "/tmp"
Location = "tmp_location"
Mapset = "tmp_mapset"
georef = "EPSG:2039"
mapset_path = file.path(GISDbase,
Location, Mapset)
# Now run the 'grass'
command within R and
# use the -c and -e flags
to create the temp mapset, then exit
setup_grass_cmd =
paste("grass", "-c", georef, "-e",
mapset_path)
system(setup_grass_cmd)
# Load the
R grass interface and initialize GRASS
within R,
# using the
temporary mapset from above
library(rgrass7)
initGRASS(home=tempdir(),
gisBase = GISBase,
gisDbase = GISDbase,
location = Location,
mapset = Mapset,
remove_GISRC = TRUE)
# Try some GRASS commands
input_tif = "isrlat12.tif"
grass_rast = "isrlat12"
execGRASS("r.in.gdal", flags =
c("o","overwrite"),
input = input_tif,
output = grass_rast)
execGRASS("g.region", flags="p",
raster = grass_rast)
I did not add a command to remove the temporary
mapset. Something like:
unlink(file.path(GISDbase, Location),
recusive = TRUE) might be necessary
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918