On 28/08/2019 21:12, Mehrdad Varedi wrote:
Hi Micha,
Your answer makes perfect sense. Thank you. I was expecting to get the database when only I had imported raster files! 
Anyway, when I tried to import a vector file with the following command, I got an error:

execGRASS("v.import", parameters=list(
                input =  basename(inputWM),
                output = "WM"
                ),
          flags=c("overwrite"))

Here is the error: 

In system(cmd0, intern = TRUE) :
  running command 'v.import.bat --interface-description' had status 1
Error in parseGRASS(cmd, legacyExec = legacyExec) : v.import not parsed


I traced the code and found that the parseGRASS adds the .bat extension for the v.import and the lagacyExec has a TRUE value (default for Windows OS)

FYI, I couldn't run GRASS from Rstudio unless ran the RStudio from the "OSGeo4W" environment. It helps RStudio to find the functions in GRASS. (I learned it from a previous post). So it works and importing the raster files had no problem (I imported a virtual raster .vrt with "r.in.gdal" command). Also, I processed the raster file with no problem. The problem only shows up when I try to import the vector files with r.import command.

Any idea what is happening here?


No, sorry.

I expect others on the list with more experience with Windows installations will be able to help.



Thanks for your help,

Mehrdad
 


On Wed, Aug 28, 2019 at 6:24 AM Micha Silver <tsvi...@gmail.com> wrote:

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 <tsvi...@gmail.com> 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


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

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to