[GRASS-dev] trying to amend d.vect.chart - need for advice

Michael Barton michael.barton at asu.edu
Wed Sep 6 15:24:08 EDT 2006


I know I may be asking a lot. But if you are successful with this project,
what do you think about turning d.vect.thematic into a C-code module too?
Many of the functions might be similar to those in d.vect.chart.

Michael
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton


> From: Moritz Lennert <mlennert at club.worldonline.be>
> Date: Wed, 06 Sep 2006 14:17:23 +0200
> To: Grass Developers List <grass-dev at grass.itc.it>
> Subject: [GRASS-dev] trying to amend d.vect.chart - need for advice
> 
> Hello,
> 
> With a colleague we are trying to amend d.vect.chart in order to
> 
> 1) speed it up
> 2) allow a where clause
> 
> Currently, d.vect.chart loops through each vector feature and opens a
> new db cursor to fetch the column information. On a map with a fair
> amount of features (20464 centroids) with the table in Postgresql it
> seems that the db connection is what takes the most of the time (even
> worse obviously when the map is linked to a view which needs to be
> recalculated for every feature).
> 
> So currently, the program's logic is as follows (in
> display/d.vect.chart/plot.c):
> 
> - get number of features (little aside question: why is this done with
> Vect_get_num_lines() which should return number of lines, not number of
> features - as you can see I'm very new to the vector library)
> - loop through each feature:
>     - get cat of feature
>     - open cursor selecting columns [and sizecol] for this feature
> according to cat
>     - close cursor
>     - plot with this info
> 
> We would like to modify this according to the following logic:
> 
> - add a 'where' option
> - open a cursor selecting cat, columns [and sizecol] limited by the
> where option
> - loop through the cursor:
>     - find x,y values according to cat
>     - plot with this info
> - close cursor
> 
> I have two main questions about this:
> 
> 1) Does this sound reasonable ? Anything we are missing ?
> 2) Is there a function to get x,y point values according to cat value ?
> 
> Thanks,
> 
> Moritz
> 
> 




More information about the grass-dev mailing list