[GRASS5] [bug #2397] (grass) v.clean dissolve problem for areas

Otto Dassau otto.dassau at gmx.de
Wed May 5 03:16:44 EDT 2004


Radim Blazek schrieb:
> 
> On Tuesday 04 May 2004 20:42, Otto Dassau wrote:
> > this is the original soils map from spearfish57
> >
> > Number of nodes     :   2181
> > Number of primitives:   2883
> > Number of points    :   0
> > Number of lines     :   0
> > Number of boundaries:   2146
> > Number of centroids :   737
> > Number of areas     :   737
> > Number of isles     :   42
> > Number of incorrect boundaries   :   7
> >
> > Then I extracted all areas with cat>20:
> > v.extract in=soils out=soils2 type=area,centroid where='cat>20'
> >
> > Number of nodes     :   1960
> > Number of primitives:   2484
> > Number of points    :   0
> > Number of lines     :   0
> > Number of boundaries:   1908
> > Number of centroids :   576
> > Number of areas     :   595
> > Number of isles     :   71
> > Number of areas without centroid :   19
> >
> > in the resulting map centroids are missing, because some areas seem to be
> > not correctly extracted.
> 
> Are you sure that areas without centroids are not surrounded by
> areas with cat>20? Any polygon closed by boundaries is area.
> Category is used to identify areas you want.

Hi Radim, 

No, you are right. Those areas are surrounded by boundaries of other
polygons. This 
is my fault - sorry. But still, something with v.extract doesn't work
correctly. 

Let me give you 2 examples:

a) If you look at soils2 output (example above), you can find some of
the 
extracted areas (e.g. cat 9). 
It doesn't have a centroid and is surrounded by other areas, so it is
extracted, but it is 
still visualized as an area and obviously is an area without centroid
according to v.info. 
I think normaly this area would have to be deleted, or not?

b) My second annotation is not a bug, but more a whish, and implements
what you already 
described below. Would it be possible to use v.extract to dissolve small
areas and put them, e.g. 
to the neighbour area it shares most of its boundary with? 

> > And you said 'some time ago' that this is not a
> > v.extract problem and would have to be solved by adding a dissolve function to
> > v.clean, as described with the upper figures.
> 
> I hope I did not. 'dissolve' may be v.extract option, but does not make
> sense for v.clean.

Yes - I agree, you are right. I guess I misunderstood your last
explanations. But anyway, I 
hope you now understand what I wanted to explain and maybe you have a
solution for these 2 
problems?

  thank you
    Otto




More information about the grass-dev mailing list