On Thu, 5 Nov 2009, Roger Bivand wrote:

On Thu, 5 Nov 2009, Martin Mainzer wrote:

Hello at all

I use R to do statistics of some GRASS data. On the windows machines (XP
and W2K) there occurred a problem when using the readRAST6 command form
the spgrass6 library. I think the problem is linked to the standard
installation of the GRASS standalone installer (standalone version:
WinGRASS-6.4.0SVN-r39626-1-Setup.exe).

Thanks, this is a clear report. I'll try to follow it up - it is in the r.out.gdal -> readGDAL part of readRAST6, where maybe extra protection is needed on the way through.

Please try the draft package:

http://spatial.nhh.no/R/Devel/spgrass6_0.6-12.zip

which should protect those spaces. Source fixes commited to the spgrass6 module on r-spatial on sourceforge.

However, in working on this, I found a similar problem in this Windows release inside v.db.addtable, in Markus Neteler's vect2neigh() function. The problem may have been present before - I checked because vect2neigh had not been converted to execGRASS() from system() because of space protection problems in the value of columns=. Having tried to fix space protection in the parsing of the interface descriptions, I had hoped that vect2neigh() would now work on Windows (including cases with spaces in the path to the vector). When there are no spaces, vect2neigh() now works on the Windows platform. It gets some of the way, but v.db.addtable fails on space parsing:

# Using vector map name extended by layer number as table name: \
 landuse175a_2
#Creating table with columns (cat integer, left integer,right \
 integer,length double precision)
# The table <landuse175a_2> is now part of vector map <landuse175a> and may
# be deleted or overwritten by GRASS modules
# Select privileges were granted on the table
# Reading features...
#
# and: no such driver available
# WARNING: Unable to start driver <and>
# ERROR: Unable to open database <C:\Documents> by driver <and>
# Current attribute table links:
# layer <1> table <landuse175a> in database <C:\Documents and \
 Settings\s1155\My Documents\GIS DataBase/Spearfish60/s1155/dbf/> \
 through driver <dbf> with key <cat>
# layer <2> table <landuse175a_2> in database <C:\Documents> through \
 driver <and> with key <cat>
# Vector map <landuse1...@s1155> is connected by:

(line breaks indicated by \)

for command:

execGRASS("v.db.addtable", parameters=list(map=vname2a,
        layer=as.integer(2),
        columns="left integer,right integer,length double precision"),
        ignore.stderr=ignore.stderr)

This works for path strings to the vector with no spaces.

Best wishes,

Roger



Roger

The standalone installer creates a folder named "GIS DataBase" under "My
Documents" (note the blank in the folder name). To test where the
problem is, I renamed the folder to "GISDataBase" and moved it to E:\.
With this configuration everything works fine. I guess there is a
problem with the blank in the folder name that is created during the
installation. But this is just a guess. I hope the experts will find the
problem. Here some information out of R (version 7.10.0) after calling R
via "Rgui.exe" in the wxpython GUI ("cmd" in the lower part of the
window "GRASS GIS Ebenen-Manager"). For the example here I used the
South-Dakota data set. First with the folder name with blanks (the
folder name from the standard installation):
###
library(spgrass6)
Lade nötiges Paket: sp
Lade nötiges Paket: rgdal
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.6.2, released 2009/07/31
Path to GDAL shared files: C:/Programme/R/R-2.10.0/library/rgdal/gdal
Loaded PROJ.4 runtime: Rel. 4.6.1, 21 August 2008
Path to PROJ.4 shared files: C:/Programme/R/R-2.10.0/library/rgdal/proj
Lade nötiges Paket: XML
GRASS GIS interface loaded with GRASS version: 6.4.0svn
and location: South-Dakota

gmeta6()
gisdbase    E:\martin\daten\GIS DataBase
location    South-Dakota
mapset      PERMANENT
rows        466
columns     633
north       4928000
south       4914020
west        590010
east        609000
nsres       30
ewres       30
projection  +proj=utm +zone=13 +a=6378206.4 +rf=294.9786982 +no_defs
+nadgrids=C:/GRASS-6-SVN/etc/nad/conus +to_meter=1.0

map <- readRAST6('geology')
Tut mir leid, <DataBase/South-Dakota/PERMANENT/.tmp/geology> ist keine
erlaubte Option
CPL ERROR 4: `E:/martin/daten/GIS
DataBase/South-Dakota/PERMANENT/.tmp/geology' does not exist in the file
system,
and is not recognised as a supported dataset name.

Fehler in .local(.Object, ...) :
 `E:/martin/daten/GIS DataBase/South-Dakota/PERMANENT/.tmp/geology'
does not exist in the file system,
and is not recognised as a supported dataset name.

traceback()
8: .Call("RGDAL_OpenDataset", as.character(filename), TRUE, silent,
      PACKAGE = "rgdal")
7: .local(.Object, ...)
6: initialize(value, ...)
5: initialize(value, ...)
4: new("GDALReadOnlyDataset", filename, silent = silent)
3: GDAL.open(fname, silent = silent)
2: readGDAL(rtmpfl11, p4s = getLocationProj(), silent = ignore.stderr)
1: readRAST6("geology")

sessionInfo()
R version 2.10.0 (2009-10-26)
i386-pc-mingw32

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C
[5] LC_TIME=German_Germany.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] spgrass6_0.6-11 XML_2.6-0       rgdal_0.6-20    sp_0.9-44

loaded via a namespace (and not attached):
[1] grid_2.10.0     lattice_0.17-26

## #
And now with a folder name without blanks:
###

library(spgrass6)
Lade nötiges Paket: sp
Lade nötiges Paket: rgdal
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.6.2, released 2009/07/31
Path to GDAL shared files: C:/Programme/R/R-2.10.0/library/rgdal/gdal
Loaded PROJ.4 runtime: Rel. 4.6.1, 21 August 2008
Path to PROJ.4 shared files: C:/Programme/R/R-2.10.0/library/rgdal/proj
Lade nötiges Paket: XML
GRASS GIS interface loaded with GRASS version: 6.4.0svn
and location: South-Dakota

gmeta6()
gisdbase    E:\GISDataBase
location    South-Dakota
mapset      PERMANENT
rows        466
columns     633
north       4928000
south       4914020
west        590010
east        609000
nsres       30
ewres       30
projection  +proj=utm +zone=13 +a=6378206.4 +rf=294.9786982 +no_defs
+nadgrids=C:/GRASS-6-SVN/etc/nad/conus +to_meter=1.0

map <- readRAST6('geology')
E:/GISDataBase/South-Dakota/PERMANENT/.tmp/geology has GDAL driver GTiff
and has 466 rows and 633 columns

traceback()
Kein traceback vefügbar

sessionInfo()
R version 2.10.0 (2009-10-26)
i386-pc-mingw32

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C
[5] LC_TIME=German_Germany.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] spgrass6_0.6-11 XML_2.6-0       rgdal_0.6-20    sp_0.9-44

loaded via a namespace (and not attached):
[1] grid_2.10.0     lattice_0.17-26

###
I hope this help to solve the problem.

Martin




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




--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: [email protected]
_______________________________________________
grass-stats mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-stats

Reply via email to