On 28/08/2019 9:56, Mehrdad Varedi wrote:
Hi Everyone,
I used the code from Micha and managed to run grass in R and create a new dataset from R. I can't see the SQLite database in the created folders like the ones I usually get when creating new datasets from GRASS.

How can I have the new SQlite database? 


If you import some vector you'll have the sqlite.db setup for you:

(Following the example from before)


> input_vect = "Israel_border.gpkg"
> grass_vect = "isr_border"
> execGRASS("v.import", input=input_vect, output=grass_vect, flags="o")
Over-riding projection check
Check if OGR layer <Israel_border> contains polygons...
 100%
Creating attribute table for layer <Israel_border>...
Default driver / database set to:
driver: sqlite
database: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
Importing 1 features (OGR layer <Israel_border>)...
 100%


Then in a separate terminal:

micha@TP480:~$ ll /tmp/tmp_location/tmp_mapset/sqlite/
total 20
drwxr-xr-x 2 micha micha  4096 Aug 28 13:19 ./
drwxr-xr-x 6 micha micha  4096 Aug 28 13:19 ../
-rw-r--r-- 1 micha micha 12288 Aug 28 13:19 sqlite.db


Thanks for your help.


On Sun, Apr 28, 2019 at 10:55 AM Micha Silver <[email protected]> wrote:
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

Micha Silver

Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918


--
Mehrdad Varedi
-- 
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918

_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to