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

Markus Neteler neteler at osgeo.org
Sun Feb 23 14:32:06 PST 2014


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?

> Somewhat related to this, what is the best/most efficient way of updating an
> entire column of a vector table from a numpy array. v.update does do it for
> one entry only, i.e. looping would be possible, but that takes ages. Would I
> have to go back to using basic sqlite3 packages for that?

If you only want to work on a table, then db.execute:
http://grass.osgeo.org/grass70/manuals/db.execute.html

might be the best. To speed up, put the statements into an SQL transaction.

best,
Markus

-- 
http://courses.neteler.org/
http://gis.cri.fmach.it/neteler/


More information about the grass-user mailing list