spgrass6 and InitGrass
On Thu, 6 Oct 2011, Tomislav Hengl wrote:
Op 6-10-2011 15:19, Roger Bivand schreef:
On Thu, 6 Oct 2011, Tomislav Hengl wrote:
I'm having problems using GRASS 6.4.1 from R under windows 7. I've installed GRASS and then loaded spgrass6 and tried:
library(spgrass6)
Loading required package: XML GRASS GIS interface loaded with GRASS version: (GRASS not running)
GRASS <- shortPathName(utils::readRegistry("SOFTWARE\\WOW6432NODE\\GRASS
6.4.1")$InstallPath)
GRASS
[1] "C:\\PROGRA~2\\GRASS6~1.1"
initGRASS(gisBase=GRASS, home=tempdir())
Error in initGRASS(gisBase = GRASS, home = tempdir()) : Platform variant not supported
This means that we need to check deeper. What do:
.Platform$OS.type
Sys.getenv("OSTYPE")
library(spgrass6)
get("SYS", envir=spgrass6:::.GRASS_CACHE)
report? If the first is the string "windows", and the second is "", the
internal variable get("SYS", envir=spgrass6:::.GRASS_CACHE) is set to
"WinNat". I suspect that one or other of these doesn't hold, and that
SYS isn't being set to "WinNat" - on OSX and Linux, it is set to "unix";
"msys" and "cygwin" also exist, but are not supported for initGRASS(). I
only have access (now) to 32-bit XP.
I get:
.Platform$OS.type
[1] "windows"
Sys.getenv("OSTYPE")
OSTYPE "US_W764"
library(spgrass6)
Loading required package: XML GRASS GIS interface loaded with GRASS version: (GRASS not running)
get("SYS", envir=spgrass6:::.GRASS_CACHE)
[1] "" I could also try installing 32-bit GRASS GIS....
No, that wouldn't help, I'm afraid. Until I research/fix this, can I ask
anyone else using Windows and spgrass6 to email me off-list with the
output of:
R.version
.Platform$OS.type
Sys.getenv("OSTYPE")
and your informal description (Windows 7, 64-bit ... or whatever) It looks
as though the "OSTYPE" environment variable is now being set, and is
carrying locale, Windoes version, and architecture codes.
A work-around is to set the cached variable directly:
get("SYS", envir=spgrass6:::.GRASS_CACHE)
assign("SYS", "WinNat", envir=spgrass6:::.GRASS_CACHE)
get("SYS", envir=spgrass6:::.GRASS_CACHE)
immediately after loading spgrass6. Then initGRASS() will branch
correctly, and should put things in the correct place.
Roger
Roger
paste(R.version$version.string, Sys.info()[["sysname"]],
Sys.info()[["release"]]) [1] "R version 2.12.2 (2011-02-25) Windows 7 x64"
sessionInfo()[["otherPkgs"]][["spgrass6"]][["Version"]]
[1] "0.7-4" (sorry Roger, it probably means that you have to update the package :( T. Hengl http://www.wewur.wur.nl/popups/vcard.aspx?id=HENGL001
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Roger Bivand Department of Economics, NHH Norwegian School of Economics, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43 e-mail: Roger.Bivand at nhh.no