Vector map attribute transfer between connected tables: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
mNo edit summary
Line 13: Line 13:


* {{cmd|v.db.addcol}}
* {{cmd|v.db.addcol}}
* {{cmd|v.category}}
* {{cmd|v.to.db}}
* {{cmd|v.to.db}}


[[Category: FAQ]]
[[Category: FAQ]]

Revision as of 15:42, 2 December 2008

Q: I have a vector layer FOO which is linked to two tables in layers 1 and 2. The categories for each vector element are different in layer 1 and (e.g., a certain area may have the cat value "51" in layer 1 and a cat value of "42" in layer 2). Let's assume that layer 1 has a VARCHAR column containing the names of the region (e.g. database_layer_1: 51,"Wolfenstein", database_layer_2: 42 ). If a new VARCHAR column is added to layer 2 by v.db.addcol, how can the names from layer 1 be copied into it?

A: Try this (assuming that the varchar attribute in layer 1 is called 'name'):

   # add new column on layer 2 (replace SIZE with the desired length):
   v.db.addcol regions layer=2 col='name varchar(SIZE)'
   # add cagetory numbers into geometry and new table for layer 2:
   v.category regions layer=2 option=add
   # get over the relevant attributes:
   v.to.db regions layer=2 option=query col=name qlayer=1 qcolumn=name

See also