[GRASS-user] Re: Cat problem with v.db.join

Moritz Lennert mlennert at club.worldonline.be
Thu Jul 24 10:38:26 EDT 2008


On 24/07/08 16:18, Wesley Roberts wrote:
> Hi All,
> 
> I posted the question below a couple of months ago regarding the use
> of v.db.join. At the time I was using version 6.2.3 and even
> installed 6.3 but I got no luck using this tool. Markus and I then
> communicated several times and still I was not able to join the
> tables.
> 
> I am thinking that I need some clarification on the tool use and the
> importance of 'cat'. In my scenario I was using the 'cat ' column as
> my joining field and given that both vector db's had a cat column
> this would not help. I then created two new columns with new and
> unrelated names and again the 'cat' issue arose. I guess the trick is
> to export your join table and remove the cat column / rename it to
> something else. Is this the solution? Also I don't think it is wise
> trying to join two vectors db files together, I am pretty sure that
> is where I went wrong.
> 
> Does anyone have a protocol or method to use when joining a the
> tables from two vectors currently residing in the same mapset?

You need to eliminate the cat column in one of the two vector attribute 
tables. To do so:

v.db.addcol ... col='NewName int'
v.db.update ... col=NewName val=cat
v.db.connect -o ... key=NewName
v.db.dropcol ... cat

Then you should be able to join the two tables.

>>>> Wesley Roberts 06/25/08 3:57 PM >>>
> One other thing, surely all grass vectors have a column 'cat' and
> even if they were not used in the join the problem would persist.

No, having a column named 'cat' is not necessary.

Moritz


More information about the grass-user mailing list