[GRASS-user] v.dissolve on multiple items/controlling the output

Moritz Lennert mlennert at club.worldonline.be
Fri Apr 29 00:23:10 PDT 2016


On 29/04/16 08:20, Uwe Fischer wrote:
> Hello list,
>
> I have two questions concerning v.dissolve. As far as I can see, there
> can be only one single column be specified as dissolve item. But I need
> to dissolve polygons using several items (up to 6) in one stroke. I
> checked out v.extract, too, hoping that a SQL statement might help me
> out, but I can only use a WHERE clause (not a GROUP BY clause). Maybe it
> could help to produce one special concatenated dissolve item before
> running v.dissolve, but I was hoping to find a more „elegant“ way.

How about creating a new attribute column which you can populate with a 
code that represents the result of the combination of your criteria. 
Then you can use v.dissolve with that column.

>
> Second, how can I determine if the output of v.dissolve is Multipart or
> Singlepart? In my special case, I need both (one for map labeling, one
> for area statistics). I could not find an option to set Singlepart or
> Multipart.

AFAIK, there is no such thing as multipart or singlepart in the GRASS 
vector format. You can characterize several polygons as representing one 
single entity (and link them to a single line in the attribute table) by 
giving them all the same category number. So, for example, if you have a 
vector with one attribute column containing a code identifying such 
multipart entities, you can create a new vector map with same category 
values (aka id's) for all polygons of the same entity using v.reclass 
(you can actually directly formulate SQL queries in the rules file you 
can feed to v.reclass - see the man page for more info).

Moritz


More information about the grass-user mailing list