[GRASS-user] Resetting vector cats and/or a quick exchange between numpy and vector tables

Moritz Lennert mlennert at club.worldonline.be
Thu Feb 27 01:15:42 PST 2014


On 24/02/14 18:58, Michel Wortmann wrote:
> Thanks for your help Markus, see below.
>
> On 02/23/2014 11:32 PM, Markus Neteler wrote:
>> On Fri, Feb 21, 2014 at 3:06 PM, Michel Wortmann
>> <wortmann at pik-potsdam.de> wrote:
>>> Hi list,
>>> I have some (basic) vector related questions:
>>>
>>> After cleaning a vector map, it doesnt have continuous (i.e. no gaps in
>>> numbering) categories, how do I efficiently reset these to so that
>>> they have
>>> regular increments (i.e. 1) again? r.clump does something very
>>> similar with
>>> vectors. I have tried dropping and adding a new table, deleting and
>>> adding
>>> categories with v.category. I thought v.reclass may do the trick but I'd
>>> first need a column with continuous numbers for that.
>> Hi Michel,
>>
>> perhaps using v.category on layer=2 would to the trick to add new
>> categories?
> This doesnt seem to do the trick for me. I've resorted to the somewhat
> ungraceful quickfix of converting it to raster and back to vector again
> until I come across a better solution.

What exactly is the problem with the result of v.category ?

Note that v.category does not update the table, it just updates the 
category values of your vector features, with the danger of losing the 
connection to the attributes.

One way to go to keep the same attributes would be to add a column to 
your attribute table with continuous numbers and then use v.reclass to 
create a new vector map with these numbers as category values.

If you don't care about the attribute table, you could do this:

v.category YourMap op=del out=tempmap type=TheFeatureTypeYouWantoToUse
v.category tempmap op=add  out=finalmap type=idem

Then if you want to create a new attribute table for that map:

v.db.addtable finalmap

Moritz


Moritz


More information about the grass-user mailing list