Glynn Clements wrote: > Maciej Sieczka wrote: > >>>> hm, I disabled G_aling_window(), seems to work... (in CVS) >>> Reverted in CVS. >>> >>> If the user specifies -a, the region should be aligned. >> After Glynn reverted Martin's commit, I experience the >> following: >> >> $ g.region n=5680980 s=5680960 w=602440 e=602480 res=20 -ag >> n=5680980 >> s=5680960 >> w=602440 >> e=602480 >> nsres=20 >> ewres=20 >> rows=1 >> cols=2 >> cells=2 >> >> $ echo "L 2 571600 5722275 >> 571610 5722275" | v.in.ascii -n out=line form=standard --o >> >> $ g.region vect=line res=1 -ag >> ERROR: Invalid region: North must be larger than South > > This is due to this change: > > Index: lib/gis/align_window.c > =================================================================== > RCS file: /grassrepository/grass6/lib/gis/align_window.c,v > retrieving revision 2.5 > retrieving revision 2.6 > diff -u -r2.5 -r2.6 > --- lib/gis/align_window.c 13 Apr 2007 22:42:58 -0000 2.5 > +++ lib/gis/align_window.c 15 Oct 2007 11:12:03 -0000 2.6 > @@ -49,9 +49,9 @@ > > preserve = window->proj == PROJECTION_LL && window->east == > (window->west+360); > window->south = > - G_row_to_northing (ceil(G_northing_to_row (window->south, ref)), ref); > + G_row_to_northing (floor(G_northing_to_row (window->south, ref)), ref); > window->north = > - G_row_to_northing (floor(G_northing_to_row (window->north, ref)), ref); > + G_row_to_northing (ceil(G_northing_to_row (window->north, ref)), ref); > window->east = > G_col_to_easting (ceil(G_easting_to_col (window->east, ref)), ref); > window->west = > > Originally, it rounded both edges outwards (i.e. north up, south > down). The change makes it round inwards, so if it's less than a cell > high, the north and south edges will be the wrong way around. > > Reverted in CVS.
Thanks Glynn. So, we are back to were it all started. More findings and details follow. Correction to original report - the bug *does* crop out in GRASS 6.2.3 CVS too. However, differently. Please see: The vector line is as follows: $ echo "L 2 1 602473.66691719 5680962.45268225 602448.70284465 5680961.09147704 1 1" | v.in.ascii -n form=standard out=line IN GRASS 6.2.3 CVS: $ g.region n=5680980 s=5680960 w=602440 e=602480 res=20 -a $ g.region vect=line res=1 -ag n=5680980 s=5680960 w=602440 e=602480 nsres=1 ewres=1 rows=20 cols=40 Wrong. But let's try again: $ g.region vect=line res=1 -ag n=5680963 s=5680961 w=602448 e=602474 nsres=1 ewres=1 rows=2 cols=26 Correct this time! Strange. IN GRASS 6.3 CVS: $ g.region n=5680980 s=5680960 w=602440 e=602480 res=20 -a $ g.region vect=line res=1 -ag n=5680963 s=5680942 w=602448 e=602489 nsres=1 ewres=1 rows=21 cols=41 cells=861 Wrong, though different than the first try in 6.2.3 CVS (see above). But let's try again: $ g.region vect=line res=1 -ag n=5680963 s=5680960 w=602448 e=602474 nsres=1 ewres=1 rows=3 cols=26 cells=78 Closer, but still wrong. s should be 5680961. Maciek _______________________________________________ grass-dev mailing list [email protected] http://grass.itc.it/mailman/listinfo/grass-dev

