[GRASS-dev] db commands on vectors stored in another mapset
Dylan Beaudette
dylan.beaudette at gmail.com
Wed Apr 16 10:52:54 EDT 2008
Hi,
Using the spearfish dataset:
# start grass
grass63 grass/spearfish60/user1/
# dump the table associated with 'bugsites' in PERMANENT
db.select bugsites at PERMANENT
dbmi: Protocol error
dbmi: Protocol error
# one more try:
db.select bugsites
DBMI-DBF driver error:
Table 'bugsites' doesn't exist.
Error in db_open_select_cursor()
# now with some debugging:
db.select bugsites
D2/5: opendir /usr/local/grass-6.3.svn/driver/db/
D2/5: opendir /usr/local/grass-6.3.svn/driver/db/
D2/5: DBF: db__driver_open_database() name =
'$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'
D3/5: tokens[0] = $GISDBASE
D3/5: -> /home/dylan/grass
D3/5: tokens[1] = $LOCATION_NAME
D3/5: -> spearfish60
D3/5: tokens[2] = $MAPSET
D3/5: -> user1
D3/5: tokens[3] = dbf
D2/5: db.name = /home/dylan/grass/spearfish60/user1/dbf/
D3/5: SQL statement parsed successfully: select * from bugsites
D2/5: find_table(): table = bugsites
DBMI-DBF driver error:
Table 'bugsites' doesn't exist.
Error in db_open_select_cursor()
# one more try with the @mapset notation:
db.select bugsites at PERMANENT
D2/5: opendir /usr/local/grass-6.3.svn/driver/db/
D2/5: opendir /usr/local/grass-6.3.svn/driver/db/
D2/5: DBF: db__driver_open_database() name =
'$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'
D3/5: tokens[0] = $GISDBASE
D3/5: -> /home/dylan/grass
D3/5: tokens[1] = $LOCATION_NAME
D3/5: -> spearfish60
D3/5: tokens[2] = $MAPSET
D3/5: -> user1
D3/5: tokens[3] = dbf
D2/5: db.name = /home/dylan/grass/spearfish60/user1/dbf/
dbmi: Protocol error
dbmi: Protocol error
Is this the normal behavior? i.e. I can "use" raster and vector files
across mapsets, but why not vector attributes?
This is on GRASS SVN (31012) x86 and AMD.
As a work-around, it is possible to first copy the vector from one
mapset to another, and then the regular db.* commands will work.
Cheers,
Dylan
More information about the grass-dev
mailing list