[GRASS-stats] Error when starting grass from R (grass installed thru osgeo4w)

Roger Bivand Roger.Bivand at nhh.no
Mon Sep 24 02:24:29 PDT 2018


On Sun, 23 Sep 2018, Helmut Kudrnovsky wrote:

>> I could reproduce the problem after starting the OSGeo4W console from the
>> desktop shortcut icon.
>>
>> The problem seems to be that OSGeo4W's console starts in a directory for
>> which the user does not have write access (for me from a desktop shortcut
>> C:\Users\Public\Desktop\OSGeo4W). Because rgrass7::initGRASS() needs to
>> write a GISRC file in the working directory, it needs write access. When I
>> changed working directory to one to which I did have write access, the
>> current CRAN binary rgrass7 loaded correctly under OSGeo4W for a
>> throw-away location. I haven't yet tried with a pre-existing location.
>>
>> Could you check and see whether this seems reasonable?
>>
>> If so, I'll add a check for write access in the working directory to give
>> a more sensible error message.
>

Committed in r65 on https://r-forge.r-project.org/projects/spgrass/; the 
change tests whether the working directory is writable, and if not puts 
the temporary GISRC in an R temporary file. I checked Vero's scenario of 
using initGRASS under OSGeo4W with an existing location (screenshot 
attached) from the OSGeo4W console. I also corrected the PROJ shared files 
location for GRASS (I hope). I can provide a Windows binary package 
off-list if need be.

Please let me know if this gets things working.

I'm also concerned to know how rgrass7 should be maintained going forward? 
Should it be on github/r-spatial ? Should it migrate to sf/raster classes?

Best wishes,

Roger

> tested here with an existing location while changed the working directory to
> writable directory:
>
> ----------------------
> run o-help for a list of available commands
> C:\>d:
>
> D:\>cd temp
>
> D:\temp>cd testR
>
> D:\temp\testR>R
>
> R version 3.4.4 (2018-03-15) -- "Someone to Lean On"
> Copyright (C) 2018 The R Foundation for Statistical Computing
> Platform: x86_64-w64-mingw32/x64 (64-bit)
>
> R ist freie Software und kommt OHNE JEGLICHE GARANTIE.
> Sie sind eingeladen, es unter bestimmten Bedingungen weiter zu verbreiten.
> Tippen Sie 'license()' or 'licence()' für Details dazu.
>
> R ist ein Gemeinschaftsprojekt mit vielen Beitragenden.
> Tippen Sie 'contributors()' für mehr Information und 'citation()',
> um zu erfahren, wie R oder R packages in Publikationen zitiert werden
> können.
>
> Tippen Sie 'demo()' für einige Demos, 'help()' für on-line Hilfe, oder
> 'help.start()' für eine HTML Browserschnittstelle zur Hilfe.
> Tippen Sie 'q()', um R zu verlassen.
>
>> library(rgrass7)
> Lade nötiges Paket: sp
> Lade nötiges Paket: XML
> GRASS GIS interface loaded with GRASS version: (GRASS not running)
>> initGRASS(gisBase = "C:/OSGeo4W64/apps/grass/grass-7.4.1",
> + gisDbase = "D:/grassdata/", location = "nc_spm_08_grass7",
> + mapset = "user1", SG="elevation")
> gisdbase    D:/grassdata/
> location    nc_spm_08_grass7
> mapset      user1
> rows        474
> columns     526
> north       228527.2
> south       215018.2
> west        629980
> east        644971
> nsres       28.5
> ewres       28.5
> projection  +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334
> +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +no_defs +a=6378137
> +rf=298.257222101 +towgs84=0.000,0.000,0.000 +to_meter=1
> Warnmeldung:
> In dir.create(gisDbase) : 'D:\grassdata' existiert bereits
>> g <- gmeta()
>> g
> gisdbase    D:/grassdata/
> location    nc_spm_08_grass7
> mapset      user1
> rows        474
> columns     526
> north       228527.2
> south       215018.2
> west        629980
> east        644971
> nsres       28.5
> ewres       28.5
> projection  +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334
> +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +no_defs +a=6378137
> +rf=298.257222101 +towgs84=0.000,0.000,0.000 +to_meter=1
>>
> ---------------------
>
> yes, the issue is that OSGeo4W's console starts in a directory for
> which the user does not have write access.
>
> changing to a directory with write access starting grass from R works as
> expected.
>
> I'll change the wiki accordingly.
>
>> If so, I'll add a check for write access in the working directory to give
>> a more sensible error message.
>
> that would be helpful.
>
>
>
>
> -----
> best regards
> Helmut
> --
> Sent from: http://osgeo-org.1560.x6.nabble.com/Grass-Stats-f4049448.html
> _______________________________________________
> grass-stats mailing list
> grass-stats at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-stats

-- 
Roger Bivand
Department of Economics, Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; e-mail: Roger.Bivand at nhh.no
http://orcid.org/0000-0003-2392-6140
https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
-------------- next part --------------
A non-text attachment was scrubbed...
Name: w10_osgeo4w_loc.png
Type: image/png
Size: 39127 bytes
Desc: 
URL: <http://lists.osgeo.org/pipermail/grass-stats/attachments/20180924/8138eb8c/attachment-0001.png>


More information about the grass-stats mailing list