[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)
120
343
444
521
1334
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