[GRASS-dev] r.le--after some fixes still needs work
Hamish
hamish_nospam at yahoo.com
Thu Sep 28 21:49:17 EDT 2006
William L. Baker wrote:
> Hamish and Glynn, thank you for seeing that with null_buf. In
> r.le.patch, I did indeed allocate null_buf as DCELL, not char and that
> worked in there, even though it is not the right solution. Hamish, can
> you change that allocation statement for null_buf to DCELL and see if
> that fixes the crash?
Yes, it fixes it AFAICT. Applied in CVS. Another one down, thanks Glynn.
> I'm not set up yet to do anything and can barely
> figure out CVS at this point.
my 1 minute tutorial:
download latest 6.3-cvs snapshot
un-tar.gz
# connect to CVS server as read-only guest
$ export CVSROOT=:pserver:grass-guest at intevation.de:/home/grass/grassrepository
$ cvs login
pass: grass
#update to latest code
cvs up -dP
#make your changes
cd grass6/raster/r.le/r.le.pixel/
vi cellclip.c
make
# test
vi && make && etc..
#generate patch
cd ../../../..
cvs diff -u grass6/raster/r.le/r.le.pixel/cellclip.c > somepatch.diff
it's handy to make a ~/.cvsrc file. Mine contains:
-z3
diff -u
update -dP
> Hamish, as to r.le.setup, at the CHOOSE THE SETUP OPTION step, I
> choose Setup sampling units, then Use keyboard to enter sampling unit
> dimensions, then 1 for for How many different SCALES, then 1 for
> Random nonoverlapping, then "y" for Do you want to sample using
> rectangles, then "1.0" for Sampling unit SHAPE, then 144 for
> Recommended maximum SIZE followed by "y" it's OK, then 20
> sampling units. At that point, the program should draw the sampling
> units in red on the monitor, but nothing is displayed. Not sure where
> the communication problem is...
Ah, ok I was trying with the mouse. If you look closely you'll see the
boxes are drawn right at the top of the window. i.e. the y values being
sent to draw_box() are no good. This is because y=0.0 when this calculation
is done:
raster/r.le/r.le.setup/sample, line ~ 878 in calc_unit_loc() back:
draw_box((int)((double)(ux[i])/x), (int)((double)(uy[i])/y),
(int)((double)(ux[i]+u_w)/x), (int)((double)(uy[i]+u_l)/y),
1);
after drawing the boxes (or attempting to anyway),
Distributed unit 20 of 20 requested
Is this set of sampling units OK? (y/n) [y] y
Segmentation fault
but one thing at a time.
Hamish
More information about the grass-dev
mailing list