Thank you for your time and sharing your knowledge Micha for the second time.
I followed your code and found that initGRASS searches for libraries and binaries of GRASS in gisBase folder. If we address a folder that doesn't have the code it comes back with this error message: "The code execution cannot proceed because libgrass_gis.7.4.1.dll was not found. Reinstalling the program may fix this problem." it gives the same error even if I copy that file into GISBase folder. I want to run my code on a shiny server which I can't install GRASS although I can copy files and libraries. Can I solve this issue by copying a certain folder of GRASS binaries with my app or I am going the wrong path? Please advise, Thank you once again for all the time you share to answer my questions, Mehrdad ᐧ On Sun, Apr 28, 2019 at 10:55 AM Micha Silver <[email protected]> wrote: > > On 27/04/2019 22:05, Mehrdad Varedi wrote: > > > Hi Everyone, > I have detail explanations of connecting to an existing dataset in GRASS > from R in this address: > https://grasswiki.osgeo.org/wiki/R_statistics/rgrass7 > > What I hope I could do is to create a GRASS dataset in R on the fly and > without the need to install GRASS or create a dataset on it. Is there any > way to do this? > > Maybe this will help: > > (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 > > > One other note: you probably will get better suggestions on the R-sig-geo > list... > > > i.e. I have a vector /raster file and use that to identify the region and > details required to set up a dataset and use GRASS functions just by > including rgrass library. > > Thanks for your help and attention, > > Mehrdad > -- > Mehrdad Varedi > ᐧ > > _______________________________________________ > grass-user mailing > [email protected]https://lists.osgeo.org/mailman/listinfo/grass-user > > -- > Micha Silver > Ben Gurion Univ. > Sde Boker, Remote Sensing Lab > cell: +972-523-665918 > > -- Mehrdad Varedi
_______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user
