[R-sig-Geo] suggestion for spgrass6 - temp file in readVECT6

Roger Bivand Roger.Bivand at nhh.no
Fri Dec 10 11:34:37 CET 2010


On Thu, 9 Dec 2010, Dylan Beaudette wrote:

> On Thursday, December 09, 2010, Pierre Roudier wrote:
>> Dear all,
>>
>> I got a suggestion for spgrass6. As far as I understand it, a
>> temporary ESRI shapefile is written on the disk when using
>> readVECT6('foo'), I guess then R is using rgdal to read that shapefile
>> back in memory. Considering the various limitations of the ESRI
>> shapefile format that does not occur with the GRASS internal format,
>> could it be possible to add an option to choose the OGR format used in
>> that process?
>>
>> Also got a question for Roger I guess: I'm using now the grass7 svn
>> trunk, should I expect any problems using the spgrass6 interface (I
>> mean problems due to structural differences that appears in grass7
>> that would not be handled by spgrass6, not problems due to grass7
>> itself).
>>
>> Thanks,
>>
>> Pierre
>>
>
> This is an excellent point Pierre, and something that has caused 
> significant pain the past-- in terms of column names and NULL value 
> handling. Not everyone's GDAL/OGR will be configured in the same way-- 
> so I don't know if altering the default behavior would be wise. However, 
> adding an option (as you suggested) to use some other format, such as 
> SQLite, would give power users a nice alternative to SHP format. SQLite 
> would allow for longer field names, proper support for NULL data, and 
> probably some other 'good things'.

SQLite is an extra OGR driver that will be dependent on the OGR being used 
on the platform in question. The OGR used by GRASS may be the same as that 
used by rgdal, but may not be (R binary rgdal packages for Windows and 
OSX, which have minimal driver sets).

I'll attempt to add a driver= argument to readVECT6() and writeVECT6(), 
and drivername= readRAST6() and writeRAST6() for the temporary files.

Typically, for reading native GRASS data, users build GRASS plugins for 
OGR/GDAL. readVECT6() and readRAST6() both by default check for the 
presence of the plugin, and use it if present, avoiding any intermediate 
files being created.

The recently released revision of spgrass6 (0.6-23) does work with GRASS > 
6.3, including GRASS 7. This is signalled by the use of "GRASS 6+" rather 
than just "GRASS 6" in its title and short description.

Hope this helps,

Roger

>
> Dylan
>
>
>
>

-- 
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: Roger.Bivand at nhh.no



More information about the R-sig-Geo mailing list