[GRASS-dev] Re: bug in Vect_cidx_find_next() ?
Radim Blazek
radim.blazek at gmail.com
Thu Sep 28 16:21:05 EDT 2006
Yes,
it seems to be bug, I think that on row 296 in cindex.c
the requested cat should also be checked, not only the type.
But I am tired now, please check it twice.
Bravo Moritz!
Radim
On 9/28/06, Moritz Lennert <mlennert at club.worldonline.be> wrote:
> Hello,
>
> Trying to rework d.vect.chart I am using the Vect_cidx_find_next() function.
>
> However, using a map with areas I get behaviour which seems incorrect
> and which I cannot explain.
>
> I have the following category index (result of Vect_cidx_dump(Map, stdout)):
>
> .
> .
> [Field 0]
> .
> .
> Field 1 number of unique cats: 589 number of cats: 1185
> number of types: 3
> ------------------------------------------------------------------------------------------
> type | count
> 8 | 592
> 4 | 1
> 64 | 592
> category | type | line/area
> 11001 | 8 | 1895
> 11001 | 64 | 127
> 11002 | 8 | 1810
> 11002 | 64 | 42
> 11004 | 8 | 1874
> 11004 | 64 | 106
> 11005 | 8 | 1923
> 11005 | 64 | 155
> 11007 | 8 | 1866
>
> etc.
>
> Now, when I launch
>
> Vect_cidx_find_next( Map, field_index=1, cat=11002, type=15,
> start_index=3, &stype, &sid )
>
> it returns 4 and line id=1874.
>
> This is wrong as the fourth item in the index, which does have line id
> 1874, has cat 11004 and not cat 11002. This is confirmed by launching
>
> Vect_cidx_get_cat_by_index ( Map, field_index, 4, &testcat, &testtype,
> &testid)
>
> which returns testcat = 11004.
>
> Am I right in assuming that there is a bug in Vect_cidx_find_next, or am
> I misunderstanding something here ?
>
> I don't have this problem with a pure point file, which only has one type:
>
> Field 1 number of unique cats: 589 number of cats: 593
> number of types: 1
> ------------------------------------------------------------------------------------------
> type | count
> 1 | 593
> category | type | line/area
> 11001 | 1 | 97
> 11002 | 1 | 12
> 11002 | 1 | 593
> 11004 | 1 | 76
> 11005 | 1 | 125
> 11007 | 1 | 68
>
>
> So this seems to be linked to the type handling.
>
> Any ideas,
>
> Moritz
>
More information about the grass-dev
mailing list