I'm trying to realize ArcGIS processes in GRASS. In this context I tried to
dissolve the boundaries of adjacent areas of the same category (type of
column is 'character') to afterwards calculate their size. While doing this
I met the following problem.
Because of the fact that v.dissolve uses v.reclass the dissolving procedure
creates only multipart features (according to the classes created by the
category-based reclassification). What I need are single area features of
the same category (without matched together to a few classes). This way I
would be able to address every individual dissolved area and calculate its
size.
The spatial dissolving on its own works well and generates the expected
number of areas respectively centroids. But the simultaneously created table
only shows a few records/classes (cats with the dissolve-column as
attribute).
I tried already to drop the table, delete the vector-db connection and
recategorize the dissolved map, but I didn't succeed this way.
On Tue, Jan 18, 2011 at 1:00 PM, -C.R- <hartreim@gmx.net> wrote:
Hello Grass-Users and -Experts,
I'm trying to realize ArcGIS processes in GRASS. In this context I tried to
dissolve the boundaries of adjacent areas of the same category (type of
column is 'character') to afterwards calculate their size. While doing this
I met the following problem.
Because of the fact that v.dissolve uses v.reclass the dissolving procedure
creates only multipart features (according to the classes created by the
category-based reclassification). What I need are single area features of
the same category (without matched together to a few classes). This way I
would be able to address every individual dissolved area and calculate its
size.
If I understand you correctly, there are several spatially separated
areas in the result of v.dissolve that share the same category, but
each area should have a unique category because what is needed is the
size of each area and not the combined size of all areas of category
x.
In this case, you can either remove all categories from all centroids
with v.category option=del cat=-1 layer=1 and then add new categories
with v.category option=add cat=1 step=1 layer=1. Or you keep the
categories in layer 1 and add unique categories in layer 2 with
v.category option=add cat=1 step=1 layer=2, in which case you will
also need to specify layer=2 for v.to.db to upload area size.
HTH,
Markus M
The spatial dissolving on its own works well and generates the expected
number of areas respectively centroids. But the simultaneously created table
only shows a few records/classes (cats with the dissolve-column as
attribute).
I tried already to drop the table, delete the vector-db connection and
recategorize the dissolved map, but I didn't succeed this way.
If I understand you correctly, there are several spatially separated
areas in the result of v.dissolve that share the same category, but
each area should have a unique category because what is needed is the
size of each area and not the combined size of all areas of category
x.
Or you keep the categories in layer 1 and add unique categories in layer 2
with
v.category option=add cat=1 step=1 layer=2, in which case you will
also need to specify layer=2 for v.to.db to upload area size.
Yes, Markus, you've understood right. Sorry for being a little bit unclear.
Anyway your advice solved my problem.