On Tuesday 11 October 2011 01:17:15 Richard Chirgwin wrote: > On 11/10/11 4:02 PM, [email protected] wrote: > > Hi, > > > > using 6.4.1, I imported a vector shape file which includes a > > tables. This table got a "cat" column by grass (which I don't > > need, I think) and already has a "key" column. In addition, I have > > got another table which also has a "key" column. Using both "key" > > columns, I want to combine both tables. How can I do that? I was > > able connect, as a second layer, the additional table to the > > vector data using the "key" column but then as far as I can see it > > is not really connected to the first table. > > > > I guess this is a standard procedure but I was not able to find the > > solution. > > > > Thanks > > Sebastian > > Sebastian - > > I think you're asking to connect two tables to the same map?
Yes, I think so. > The two tables need to refer to the same features, and you use > v.db.connect > > Note that you can specify a different name for the key column using > the key= parameter. I think, this is what I tried. Here is what I did: I imported the map baubloecke.shp. It already includes data (which is then called table "baubloecke": GRASS 6.4.1 (Soldner):~ > v.db.connect -p baubloecke Vector map <baubloecke@Berlin> is connected by: layer <1> table <baubloecke> in database </home/schubert/grassdata/Soldner/Berlin/dbf/> through driver <dbf> with key <cat> Ok, it is connected with key "cat" which has been introduced by grass, I think. The table "baubloecke" includes the column I want, as well as the table "bbdb": GRASS 6.4.1 (Soldner):~ > db.columns baubloecke cat ELEMNAME KLASSENNAM SCHLUESSEL GRASS 6.4.1 (Soldner):~ > db.columns bbdb SCHLUESSEL BLOCKART FLALLE NUTZ FISNUTZUNG TYP TYPKLAR VG STSTRTYP STSTRNAME I connected bbdb to the map: GRASS 6.4.1 (Soldner):~ > v.db.connect -o map=baubloecke table=bbdb key=SCHLUESSEL layer=2 The table <bbdb> is now part of vector map <baubloecke> and may be deleted or overwritten by GRASS modules Select privileges were granted on the table GRASS 6.4.1 (Soldner):~ > v.db.connect -p baubloecke Vector map <baubloecke@Berlin> is connected by: layer <1> table <baubloecke> in database </home/schubert/grassdata/Soldner/Berlin/dbf/> through driver <dbf> with key <cat> layer <2> table <bbdb> in database </home/schubert/grassdata/Soldner/Berlin/dbf/> through driver <dbf> with key <SCHLUESSEL> I tried to verify the connection using the wxpython gui. I opened the map there (tried both layer 1 and 2). Using the "Query raster/vector map(s)" tool, I was able to only get information from the layer 1 or the original table when clicking on a polygon. Ok, maybe table 1 has to be connected also via the key "SCHLUESSEL" so I tried: GRASS 6.4.1 (Soldner):~ > v.db.connect -o map=baubloecke table=baubloecke key=SCHLUESSEL layer=1 ERROR: Data type of key column must be integer GRASS 6.4.1 (Soldner):~ > v.db.connect -o map=baubloecke table=baubloecke key=3 layer=1 ERROR: Missing column <3> in table <baubloecke> I do not understand this... Apparently, grass does not accept the key SCHLUESSEL so I tried the number of the column (?) 3. No success, either. What can I do? Thanks, Sebastian
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
