[GRASS-user] populating dbtable with value sequence

Shaun Langley shaunlangley at gmail.com
Thu Apr 18 09:16:52 PDT 2013

On Apr 18, 2013, at 9:48 AM, Moritz Lennert <mlennert at club.worldonline.be> wrote:

> On 18/04/13 15:52, Shaun Langley wrote:
>> **This question is also posted on stackexchange.com
>> <http://stackexchange.com>**
>> I have a vector map that includes 100 points. These points were created
>> using |v.extract| to randomly sample a larger map of 10k points. As
>> such, the 'cat' values range from 1 to more than 10k. What I would like
>> to do is to update the attribute table by rescaling these values to 1 to
>> 100.
>> Here's what I've experienced. If I use
>> |v.category input=pts100 output=foo option=del
>> v.category input=foo output=pts100 option=add --o|
>> Then when the 'cat' values /appear/ rescaled when I print them with
>> |v.category input=pts100 option=print|
>> However, if I look at the dbtable with
>> |db.select pts100|
>> the 'cat' values have not changed (presumably because it is the key column).
>> So I'm thinking I will need to add a new column using |v.db.addcol|, but
>> I don't know how to specify the range of value to populate the new
>> column. From what I can tell, I have to specify a single value.
>> Ideas?
> Either
> - v.distance (possibly with dmax=0) to get the cat values from the new points into the old map and then v.reclass to use the new values as cat values.

It isn't clear to me how this can be used to rescale the cat values.  Points map has cat values that are (for example)


I don't necessarily have to rescale the cat values if I can create a new column in which the values are scaled 1-100 (it's not feasible to do this by hand given the quantity of values I'd have to change.  I need to script it.)

> or
> - v.db.addcol YourOldMap col='newcat int'
> - populate that column with values from 1 to 100
> - v.reclass as above

This is the kind of solution I was thinking I'd need to employ, but I need to automate the propagation of new values.

> It might be an idea to add to v.category the possibility to propagate cat value changes to the attribute table. You could file a wish on the bugtracker.
> Moritz

More information about the grass-user mailing list