[GRASS-dev] helpf needed for C coding [was: Re: [GRASS-user] Compiling addons from svn repository]

Moritz Lennert mlennert at club.worldonline.be
Thu Nov 6 14:03:05 EST 2008


[speaking about
svn co https://svn.osgeo.org/grass/grass-addons/raster/mcda/ ]

On 05/11/08 18:09, gianluca massei wrote:
> Mortiz,
> thank you for interesting about mcda. I need help and suggest for better 
> coding!
> - Yes, r.mcda.electre, r.mcda.regime   use 
> G_alloc_matrix((nrows*ncols),(nrows*ncols))  with related memory 
> problem. I'm looking for a better algorithm, especially for pairwise 
> comparison that need large matrix  ((nrows*ncols),(nrows*ncols)) for 
> derive concordance and discordance matrix. Now I don't find it but I' 
> still looking for. Could you give me a suggest ?.

I'm nor much of a C-guru, nor an expert in the methods you are trying to 
code, so I can try, but don't think I will be of much help on that front.

> - I'm working "hardly" with r.roughset, expecially for use classify 
> algorithm, without  shell script for generating classified map. I  hope 
> to develop a module for "dominance base rough set" 
> (http://en.wikipedia.org/wiki/Dominance-based_Rough_Set_Approach) in a 
> few month that will complete the mcda suite.
> - Documentation is still laking I know. I'm working for improve too.
> 
> I'm gratefully you if give me feed back about result, all the mcda 
> modules are still under develop and testing

Whatever we can do we will, but I'm afraid it won't be much at this stage.

Moritz

> 
> Thanks,
> 
> Gianluca
> 
> (excuse for my bad English :-[ )
> 
> 
> 
> Moritz Lennert wrote:
>> Gianluca,
>>
>> On 04/08/08 14:52, gianluca massei wrote:
>>> Thanks Moritz , great tip!
>>> I'm working in a module that implemented ELECTRE algorithm.
>>>
>>> I've just finisced a module named /r.roughset/ for knowledg discovery 
>>> with rough set based on rough set library. You can download the 
>>> source code from grass wiki 
>>> (http://grass.osgeo.org/wiki/GRASS_AddOns#r.roughset) and I'm happy 
>>> if sameone caould try it and report me tips or bugs.
>>
>> Together with a colleague we are trying out your r.mcda.* 
>> multicriteria analysis [1] suite to work.
>>
>> At this stage, we cannot comment on any results, yet, but just on the 
>> fact that it seems that the region and resolution settings have to be 
>> very restrictive (small region, coarse resolution) for the modules to 
>> work, otherwise we get out of memory errors (tested in with *.electre 
>> and *.regime).
>>
>> This is due to the fact that you use a matrix which is 
>> (nrows*ncols)*(nrows*ncols), e.g. in lines 142 and 143 of 
>> r.mcda.electre/main.c
>>
>> concordance_mat=G_alloc_matrix((nrows*ncols),(nrows*ncols));
>> discordance_mat=G_alloc_matrix((nrows*ncols),(nrows*ncols));
>>
>> This means that on my computer the limit is a region of around 13000 
>> cells, i.e. ~ 115 rows * 115 columns which really is not a lot.
>>
>> Do you think there might be a different way of coding this to avoid 
>> using up so much memory ?
>>
>> Moritz
>>
>> [1] svn co https://svn.osgeo.org/grass/grass-addons/raster/mcda/
>>
> 



More information about the grass-dev mailing list