[GRASS-user] area calculation after dissolve
Uwe Fischer
gisfisch at t-online.de
Mon Jul 4 07:41:22 PDT 2016
Moritz,
thank you very much for your help. I understand what you mean and I'll try next time I have a similar problem. But in my special case now, the additional steps might be a little complicated. My hope was that there could be a switch or option to tell GRASS if I need the grouped or the single area values. For now, I'll calculate areas in QGIS which does not care about cats. However, thanks again.
Best regards, Uwe
-----Ursprüngliche Nachricht-----
Von: Moritz Lennert [mailto:mlennert at club.worldonline.be]
Gesendet: Mittwoch, 29. Juni 2016 17:17
An: Uwe Fischer <gisfisch at t-online.de>; grass-user at lists.osgeo.org
Betreff: Re: [GRASS-user] area calculation after dissolve
On 29/06/16 16:33, Uwe Fischer wrote:
> I have a polygon dataset which needs to be dissolved by a certain item.
> That works fine. But when I calculate the area size for the new
> created Polygons in the next step using v.to.db, I find that the
> system summarizes all the polygons with the same value in the dissolve
> item, even if they are remote from each other (I mean, they do not touch).
> That might be correct if I want to handle them like a multipart
> feature, but those are not present in GRASS as far as I know. What I
> need is the area for each single polygon after removing the inside
> borders, no matter what value the polygon has. How to calculate that?
>
> I found that polygons with the same dissolve item also have the same
> cat number, which might be the reason for the common area size. But I
> don't know how to clear that without losing the connection to the
> database table containing the dissolve item.
You could use v.category to assign individual cat values to each polygon on a different layer (e.g. layer=2), add a table to layer 2 using v.db.addtable and then v.to.db layer=2 to fill that table.
That way you will have one layer with the original (grouped) cat values and the related attributes and a second layer with the new (individual) cat values and the related attributes. If you need to combine the two into one table, you could add into the layer 2 table a column for the cat in layer 1 and fill that using, e.g. v.distance:
v.distance from=MyPolygons from_layer=2 to=MyPolygons to_layer=1 up=cat
col=cat_lay1
Moritz
More information about the grass-user
mailing list