[R-sig-Geo] read GRASS6 from outside

Patrick Giraudoux patrick.giraudoux at univ-fcomte.fr
Thu Nov 13 14:22:57 CET 2008


Roger Bivand a écrit :
> On Thu, 13 Nov 2008, Patrick Giraudoux wrote:
>
>> Dear listers,
>>
>> I am using GRASS6 embedded within QGIS under Windows for teaching 
>> purpose. This prevents reading GRASS objects from R within GRASS (R 
>> cannot be launched within GRASS in this configuration).
>
> Patrick,
>
> Could you explain why not? I can launch it, and I know others can, at 
> least by:
>
> Plugins -> GRASS -> Open GRASS Tools -> shell
>
> and typing the full path to Rgui.exe at the shell prompt, for me:
>
> $ "C:/Program Files/R/R-2.8.0/bin/Rgui.exe"
>
> You may need to set the path to R_LIBS in user environment variables, 
> or to add it to the command line in the GRASS shell prompt, or use 
> .libPaths() within R, but beyond that, things should work, including 
> file transfer etc.
>
> The startup message in the current release does say "GRASS not 
> running" because QGIS does not set the GRASS_VERSION or LOCATION_NAME 
> environment variables, but does set GISRC - I'll try to fix that.
>
> Doing getwd() in R will show that R is in the QGIS MSYS home directory 
> for the user. This of course places R "on top" in standard spgrass6 
> fashion, but QGIS can be used at the same time. Work is progressing to 
> embed R within QGIS, see:
>
> http://www.ftools.ca/manageR.html
>
> but until this is up and easily installable, going through the GRASS 
> shell seems to work. Note that when you do system() from R, QGIS 
> expects all executables to have the .exe extension added:
>
> system("g.list rast") # fails
> system("g.list.exe rast") # succeeds
>
> Hope this helps,
>
> Roger
>
> PS. Note that the QGIS MSYS GRASS shell does history, so it logs the 
> command to start R, which you retrieve with the up arrow in the usual 
> way - the only editing needed is when you upgrade R.
>
>>
>> I was wondering if it would be possible to read GRASS objects 
>> (vector, raster layers, region values, etc.) in R (eg to sp objects) 
>> from outside GRASS, with functions analogous to those  provided with 
>> spgrass6.
>
> PPS. In desperation, use v.(in/out).ogr and r.(in/out).gdal matched 
> with read(GDAL/OGR) and write(GDAL/OGR) in rgdal, but watch which 
> directory they land in.
>
>>
>> Any idea welcome.
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
Roger,

Ashes on my head ! I was convinced (means perfectly stuborn here)  that 
GRASS within QGIS was closed to any call to external programmes. Which 
is obviously wrong ! So I did not even try... Real apologize to have 
lost your time for writing a response.

Cheers,

Patrick




More information about the R-sig-Geo mailing list