Details Ticket 4451


Comment | Reply | Take | Open


Serial Number 4451
Subject New options for g.region
Area wish6
Queue grass
Requestors SorokinA@ornl.gov
Owner none
Status resolved
Last User Contact Thu Dec 7 09:27:50 2006 (2 yr ago)
Current Priority 20
Final Priority 70
Due No date assigned
Last Action Thu Dec 7 09:27:50 2006 (2 yr ago)
Created Thu May 11 21:49:14 2006 (2 yr ago)

Transaction History Ticket 4451


Thu, May 11 2006 21:49:14    Request created by guest  
Subject: New options for g.region

Platform: GNU/Linux/x86
grass obtained from: CVS
grass binary for platform: Compiled from Sources
GRASS Version: CVS updated 20060511

The following patch adds options to g.region to set the number of rows and columns
of the region.  Options are:

rows=
cols=
size=

rows= and cols= are self-explanatory, size= sets both rows and cols to the same
value

Index: main.c
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/main.c,v
retrieving revision 1.23
diff -u -r1.23 main.c
--- main.c	6 May 2006 23:13:46 -0000	1.23
+++ main.c	11 May 2006 19:41:27 -0000
@@ -34,6 +34,8 @@
 	int print_flag, dist_flag;
 	int set_flag;
 	double x;
+	int ival;
+	int row_flag=0, col_flag=0, depth_flag=0;
 	struct Cell_head window, temp_window;
 	char *value;
 	char *name;
@@ -63,7 +65,7 @@
 	    {
 		struct Option
 		*north,*south,*east,*west,*top,*bottom,
-		*res, *nsres, *ewres, *res3, *tbres,
+		  *res, *nsres, *ewres, *res3, *tbres, *rows, *cols, *size,
 		*save, *region, *view,
 		*raster, *raster3d, *align, *zoom, *vect;
 	} parm;
@@ -324,6 +326,33 @@
 	parm.save->gisprompt   = "new,windows,region";
 	parm.save->guisection  = _("Effects");
 
+	parm.rows = G_define_option();
+	parm.rows->key         = "rows";
+	parm.rows->key_desc    = "value";
+	parm.rows->required    = NO;
+	parm.rows->multiple    = NO;
+	parm.rows->type        = TYPE_STRING;
+	parm.rows->description = _("Number of rows in the new region");
+	parm.rows->guisection  = _("Resolution");
+
+	parm.cols = G_define_option();
+	parm.cols->key         = "cols";
+	parm.cols->key_desc    = "value";
+	parm.cols->required    = NO;
+	parm.cols->multiple    = NO;
+	parm.cols->type        = TYPE_STRING;
+	parm.cols->description = _("Number of columns in the new region");
+	parm.cols->guisection  = _("Resolution");
+
+	parm.size = G_define_option();
+	parm.size->key         = "size";
+	parm.size->key_desc    = "value";
+	parm.size->required    = NO;
+	parm.size->multiple    = NO;
+	parm.size->type        = TYPE_STRING;
+	parm.size->description = _("The size (number of rows an columns) in the new
region");
+	parm.size->guisection  = _("Resolution");
+
 	if (G_parser(argc,argv))
 		exit(1);
 
@@ -726,6 +755,33 @@
 		}
 	}
 
+	/* rows= */
+	if ((value = parm.rows->answer))
+	{
+		if (sscanf (value, "%i", &ival) != 1 )
+			die(parm.rows);
+		window.rows = ival;
+		row_flag = 1;
+	}
+
+	/* cols= */
+	if ((value = parm.cols->answer))
+	{
+		if (sscanf (value, "%i", &ival) != 1 )
+			die(parm.cols);
+		window.cols = ival;
+		col_flag = 1;
+	}
+
+	/* size= */
+	if ((value = parm.size->answer))
+	{
+		if (sscanf (value, "%i", &ival) != 1 )
+			die(parm.size);
+		window.rows = window.cols = ival;
+		row_flag = col_flag = 1;
+	}
+
 	/* zoom= */
 	if ((name = parm.zoom->answer))
 	{
@@ -754,12 +810,12 @@
 		if (G_legal_filename (name) < 0)
 			G_fatal_error (_("<%s> - illegal region name"), name);
 		G_copy (&temp_window, &window, sizeof(window));
-		adjust_window (&temp_window);
+		adjust_window (&temp_window,0,0,0);
 		if (G__put_window (&temp_window, "windows", name) < 0)
 			G_fatal_error (_("can't write region <%s>"), name);
 	}
 
-	adjust_window (&window);
+	adjust_window (&window,row_flag,col_flag,0);
 	if (set_flag)
 	{
 		if (G_put_window (&window) < 0)
Index: local_proto.h
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/local_proto.h,v
retrieving revision 2.3
diff -u -r2.3 local_proto.h
--- local_proto.h	19 Dec 2005 16:14:24 -0000	2.3
+++ local_proto.h	11 May 2006 19:41:27 -0000
@@ -1,7 +1,7 @@
 #ifndef GREGION_LOCAL_PROTO_H
 #define GREGION_LOCAL_PROTO_H
 /* adjust.c */
-int adjust_window(struct Cell_head *);
+int adjust_window(struct Cell_head *,int row_flag,int col_flag, int depth_flag);
/* zoom.c */
 int zoom(struct Cell_head *, char *, char *);
 /* printwindow.c */
Index: adjust.c
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/adjust.c,v
retrieving revision 2.2
diff -u -r2.2 adjust.c
--- adjust.c	9 Feb 2006 03:08:52 -0000	2.2
+++ adjust.c	11 May 2006 19:41:27 -0000
@@ -1,11 +1,11 @@
 #include <grass/gis.h>
 
 int 
-adjust_window (struct Cell_head *window)
+adjust_window (struct Cell_head *window,int row_flag,int col_flag, int depth_flag)
{
     char *err;
 
-    if (err = G_adjust_Cell_head3(window,0,0,0))
+    if (err = G_adjust_Cell_head3(window, row_flag, col_flag, depth_flag))
{
 	char msg[100];
 	sprintf (msg, "Invalid region: %s", err);
Index: zoom.c
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/zoom.c,v
retrieving revision 2.2
diff -u -r2.2 zoom.c
--- zoom.c	9 Feb 2006 03:08:52 -0000	2.2
+++ zoom.c	11 May 2006 19:41:28 -0000
@@ -12,7 +12,7 @@
     int top,bottom,left,right,mark;
     double north, south, east, west;
 
-    adjust_window (window);
+    adjust_window (window,0,0,0);
     G_set_window (window);
     nrows = window->rows;
     ncols = window->cols;
Fri, May 12 2006 05:38:56    Mail sent by hamish_nospam@yahoo.com  
Return-Path <hamish_nospam@yahoo.com>
Delivered-To grass-bugs@lists.intevation.de
Date Fri, 12 May 2006 15:38:45 +1200
From Hamish <hamish_nospam@yahoo.com>
To Request Tracker <grass-bugs@intevation.de>
Cc grass-dev@grass.itc.it
Subject Re: [GRASS-dev] [bug #4451] (grass) New options for g.region
Message-Id <20060512153845.53970c83.hamish_nospam@yahoo.com>
In-Reply-To <20060511194914.210D01006A9@lists.intevation.de>
References <20060511194914.210D01006A9@lists.intevation.de>
X-Mailer Sylpheed version 1.0.4 (GTK+ 1.2.10; i386-pc-linux-gnu)
X-Face M<EoB)"*Z~u!,vFhXmw}R_KbdBta*P_=T|rbBL'e1/CQ9;/1g\BU3&!=y8ria$2Uk!HT&BB 8i?|X_+7~1jsy}F~g$2va%3fV`*=L(*cem[@3\yg,G,@rg6/QMJ
Mime-Version 1.0
Content-Type text/plain; charset=US-ASCII
Content-Transfer-Encoding 7bit
X-Spam-Status No, hits=-4.0 tagged_above=-999.0 required=3.0 tests=BAYES_00, FORGED_YAHOO_RCVD
X-Spam-Level
> this bug's URL: http://intevation.de/rt/webrt?serial_num=4451
> ---------------------------------------------------------------------
> 
> Subject: New options for g.region
..
> The following patch adds options to g.region to set the number of rows
> and columns of the region.  Options are:
> 
> rows=
> cols=
> size=
> 
> rows= and cols= are self-explanatory, size= sets both rows and cols to
> the same value
> 
..
> +++ main.c	11 May 2006 19:41:27 -0000
..
> +	int ival;
> +	int row_flag=0, col_flag=0, depth_flag=0;
..
> +	parm.rows->key_desc    = "value";
..
> +	parm.rows->type        = TYPE_STRING;


why not use ->type = TYPE_INTEGER; and then skip key_desc?

Then the parser will ensure an integer was given and give a helpful
error message if not. Also you need to check that the value is >=1.

Will it adjust the region bounds or the resolution?



Hamish


Thu, May 25 2006 23:02:21    Mail sent by sorokina@ornl.gov  
Return-Path <sorokina@ornl.gov>
Delivered-To grass-bugs@lists.intevation.de
Date Thu, 25 May 2006 17:02:11 -0400
From "Sorokine, Alexandre" <sorokina@ornl.gov>
Subject RE: [bug #4451] (grass) New options for g.region
To Hamish via RT <grass-bugs@intevation.de>
Message-id <428543BBA8AC7443BA10B0F491C6B05601E5ECC3@ORNLEXCHANGE.ornl.gov>
MIME-version 1.0
X-MIMEOLE Produced By Microsoft Exchange V6.5
Content-type multipart/mixed; boundary="----_=_NextPart_001_01C6803E.7DFC6B99"
Thread-Topic [bug #4451] (grass) New options for g.region
Thread-Index AcZ1dZ95kv7T2+AvRvWZ6CqSmuTksQKx5QJQ
Content-class urn:content-classes:message
X-MS-Has-Attach
X-MS-TNEF-Correlator
X-Spam-Status No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
X-Spam-Level
This is a multi-part message in MIME format.

------_=_NextPart_001_01C6803E.7DFC6B99
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hamish,

> >=20
> ..
> > +++ main.c	11 May 2006 19:41:27 -0000
> ..
> > +	int ival;
> > +	int row_flag=3D0, col_flag=3D0, depth_flag=3D0;
> ..
> > +	parm.rows->key_desc    =3D "value";
> ..
> > +	parm.rows->type        =3D TYPE_STRING;
>=20
>=20
> why not use ->type =3D TYPE_INTEGER; and then skip key_desc?

changed to TYPE_INTEGER (patch attached)
=20
> Then the parser will ensure an integer was given and give a helpful
> error message if not. Also you need to check that the value is >=3D1.

Validity checks for the region values are performed later in
adjust_window function but checking for error output of the standard
GRASS G_adjust_Cell_head3 function.

> Will it adjust the region bounds or the resolution?

It changes resolution but it keeps region boundaries intact.

--
Alex Sorokine, Ph.D. <sorokina@ornl.gov>
Oak Ridge National Lab

------_=_NextPart_001_01C6803E.7DFC6B99
Content-Type: application/octet-stream;
	name="grassdiff2"
Content-Transfer-Encoding: base64
Content-Description: grassdiff2
Content-Disposition: attachment;
	filename="grassdiff2"

SW5kZXg6IGFkanVzdC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2dyYXNzL2dyYXNzcmVw
b3NpdG9yeS9ncmFzczYvZ2VuZXJhbC9nLnJlZ2lvbi9jbWQvYWRqdXN0LmMsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDIuMgpkaWZmIC11IC1yMi4yIGFkanVzdC5jCi0tLSBhZGp1c3QuYwk5IEZlYiAy
MDA2IDAzOjA4OjUyIC0wMDAwCTIuMgorKysgYWRqdXN0LmMJMjUgTWF5IDIwMDYgMjE6MDA6MzIg
LTAwMDAKQEAgLTEsMTEgKzEsMTEgQEAKICNpbmNsdWRlIDxncmFzcy9naXMuaD4KIAogaW50IAot
YWRqdXN0X3dpbmRvdyAoc3RydWN0IENlbGxfaGVhZCAqd2luZG93KQorYWRqdXN0X3dpbmRvdyAo
c3RydWN0IENlbGxfaGVhZCAqd2luZG93LGludCByb3dfZmxhZyxpbnQgY29sX2ZsYWcsIGludCBk
ZXB0aF9mbGFnKQogewogICAgIGNoYXIgKmVycjsKIAotICAgIGlmIChlcnIgPSBHX2FkanVzdF9D
ZWxsX2hlYWQzKHdpbmRvdywwLDAsMCkpCisgICAgaWYgKGVyciA9IEdfYWRqdXN0X0NlbGxfaGVh
ZDMod2luZG93LCByb3dfZmxhZywgY29sX2ZsYWcsIGRlcHRoX2ZsYWcpKQogICAgIHsKIAljaGFy
IG1zZ1sxMDBdOwogCXNwcmludGYgKG1zZywgIkludmFsaWQgcmVnaW9uOiAlcyIsIGVycik7Cklu
ZGV4OiBsb2NhbF9wcm90by5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2dyYXNzL2dyYXNz
cmVwb3NpdG9yeS9ncmFzczYvZ2VuZXJhbC9nLnJlZ2lvbi9jbWQvbG9jYWxfcHJvdG8uaCx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMi4zCmRpZmYgLXUgLXIyLjMgbG9jYWxfcHJvdG8uaAotLS0gbG9j
YWxfcHJvdG8uaAkxOSBEZWMgMjAwNSAxNjoxNDoyNCAtMDAwMAkyLjMKKysrIGxvY2FsX3Byb3Rv
LmgJMjUgTWF5IDIwMDYgMjE6MDA6MzIgLTAwMDAKQEAgLTEsNyArMSw3IEBACiAjaWZuZGVmIEdS
RUdJT05fTE9DQUxfUFJPVE9fSAogI2RlZmluZSBHUkVHSU9OX0xPQ0FMX1BST1RPX0gKIC8qIGFk
anVzdC5jICovCi1pbnQgYWRqdXN0X3dpbmRvdyhzdHJ1Y3QgQ2VsbF9oZWFkICopOworaW50IGFk
anVzdF93aW5kb3coc3RydWN0IENlbGxfaGVhZCAqLGludCByb3dfZmxhZyxpbnQgY29sX2ZsYWcs
IGludCBkZXB0aF9mbGFnKTsKIC8qIHpvb20uYyAqLwogaW50IHpvb20oc3RydWN0IENlbGxfaGVh
ZCAqLCBjaGFyICosIGNoYXIgKik7CiAvKiBwcmludHdpbmRvdy5jICovCkluZGV4OiBtYWluLmMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvZ3Jhc3MvZ3Jhc3NyZXBvc2l0b3J5L2dyYXNzNi9n
ZW5lcmFsL2cucmVnaW9uL2NtZC9tYWluLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQKZGlm
ZiAtdSAtcjEuMjQgbWFpbi5jCi0tLSBtYWluLmMJMTcgTWF5IDIwMDYgMTI6MjY6NTMgLTAwMDAJ
MS4yNAorKysgbWFpbi5jCTI1IE1heSAyMDA2IDIxOjAwOjMzIC0wMDAwCkBAIC0zNCw2ICszNCw4
IEBACiAJaW50IHByaW50X2ZsYWcsIGRpc3RfZmxhZzsKIAlpbnQgc2V0X2ZsYWc7CiAJZG91Ymxl
IHg7CisJaW50IGl2YWw7CisJaW50IHJvd19mbGFnPTAsIGNvbF9mbGFnPTAsIGRlcHRoX2ZsYWc9
MDsKIAlzdHJ1Y3QgQ2VsbF9oZWFkIHdpbmRvdywgdGVtcF93aW5kb3c7CiAJY2hhciAqdmFsdWU7
CiAJY2hhciAqbmFtZTsKQEAgLTYzLDcgKzY1LDcgQEAKIAkgICAgewogCQlzdHJ1Y3QgT3B0aW9u
CiAJCSpub3J0aCwqc291dGgsKmVhc3QsKndlc3QsKnRvcCwqYm90dG9tLAotCQkqcmVzLCAqbnNy
ZXMsICpld3JlcywgKnJlczMsICp0YnJlcywKKwkJICAqcmVzLCAqbnNyZXMsICpld3JlcywgKnJl
czMsICp0YnJlcywgKnJvd3MsICpjb2xzLCAqc2l6ZSwKIAkJKnNhdmUsICpyZWdpb24sICp2aWV3
LAogCQkqcmFzdGVyLCAqcmFzdGVyM2QsICphbGlnbiwgKnpvb20sICp2ZWN0OwogCX0gcGFybTsK
QEAgLTMyMCw2ICszMjIsMzAgQEAKIAlwYXJtLnNhdmUtPmdpc3Byb21wdCAgID0gIm5ldyx3aW5k
b3dzLHJlZ2lvbiI7CiAJcGFybS5zYXZlLT5ndWlzZWN0aW9uICA9IF8oIkVmZmVjdHMiKTsKIAor
CXBhcm0ucm93cyA9IEdfZGVmaW5lX29wdGlvbigpOworCXBhcm0ucm93cy0+a2V5ICAgICAgICAg
PSAicm93cyI7CisJcGFybS5yb3dzLT5yZXF1aXJlZCAgICA9IE5POworCXBhcm0ucm93cy0+bXVs
dGlwbGUgICAgPSBOTzsKKwlwYXJtLnJvd3MtPnR5cGUgICAgICAgID0gVFlQRV9JTlRFR0VSOwor
CXBhcm0ucm93cy0+ZGVzY3JpcHRpb24gPSBfKCJOdW1iZXIgb2Ygcm93cyBpbiB0aGUgbmV3IHJl
Z2lvbiIpOworCXBhcm0ucm93cy0+Z3Vpc2VjdGlvbiAgPSBfKCJSZXNvbHV0aW9uIik7CisKKwlw
YXJtLmNvbHMgPSBHX2RlZmluZV9vcHRpb24oKTsKKwlwYXJtLmNvbHMtPmtleSAgICAgICAgID0g
ImNvbHMiOworCXBhcm0uY29scy0+cmVxdWlyZWQgICAgPSBOTzsKKwlwYXJtLmNvbHMtPm11bHRp
cGxlICAgID0gTk87CisJcGFybS5jb2xzLT50eXBlICAgICAgICA9IFRZUEVfSU5URUdFUjsKKwlw
YXJtLmNvbHMtPmRlc2NyaXB0aW9uID0gXygiTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIG5ldyBy
ZWdpb24iKTsKKwlwYXJtLmNvbHMtPmd1aXNlY3Rpb24gID0gXygiUmVzb2x1dGlvbiIpOworCisJ
cGFybS5zaXplID0gR19kZWZpbmVfb3B0aW9uKCk7CisJcGFybS5zaXplLT5rZXkgICAgICAgICA9
ICJzaXplIjsKKwlwYXJtLnNpemUtPnJlcXVpcmVkICAgID0gTk87CisJcGFybS5zaXplLT5tdWx0
aXBsZSAgICA9IE5POworCXBhcm0uc2l6ZS0+dHlwZSAgICAgICAgPSBUWVBFX0lOVEVHRVI7CisJ
cGFybS5zaXplLT5kZXNjcmlwdGlvbiA9IF8oIlRoZSBzaXplIChudW1iZXIgb2Ygcm93cyBhbiBj
b2x1bW5zKSBpbiB0aGUgbmV3IHJlZ2lvbiIpOworCXBhcm0uc2l6ZS0+Z3Vpc2VjdGlvbiAgPSBf
KCJSZXNvbHV0aW9uIik7CisKIAlpZiAoR19wYXJzZXIoYXJnYyxhcmd2KSkKIAkJZXhpdCgxKTsK
IApAQCAtNzIyLDYgKzc0OCwzMyBAQAogCQl9CiAJfQogCisJLyogcm93cz0gKi8KKwlpZiAoKHZh
bHVlID0gcGFybS5yb3dzLT5hbnN3ZXIpKQorCXsKKwkJaWYgKHNzY2FuZiAodmFsdWUsICIlaSIs
ICZpdmFsKSAhPSAxICkKKwkJCWRpZShwYXJtLnJvd3MpOworCQl3aW5kb3cucm93cyA9IGl2YWw7
CisJCXJvd19mbGFnID0gMTsKKwl9CisKKwkvKiBjb2xzPSAqLworCWlmICgodmFsdWUgPSBwYXJt
LmNvbHMtPmFuc3dlcikpCisJeworCQlpZiAoc3NjYW5mICh2YWx1ZSwgIiVpIiwgJml2YWwpICE9
IDEgKQorCQkJZGllKHBhcm0uY29scyk7CisJCXdpbmRvdy5jb2xzID0gaXZhbDsKKwkJY29sX2Zs
YWcgPSAxOworCX0KKworCS8qIHNpemU9ICovCisJaWYgKCh2YWx1ZSA9IHBhcm0uc2l6ZS0+YW5z
d2VyKSkKKwl7CisJCWlmIChzc2NhbmYgKHZhbHVlLCAiJWkiLCAmaXZhbCkgIT0gMSApCisJCQlk
aWUocGFybS5zaXplKTsKKwkJd2luZG93LnJvd3MgPSB3aW5kb3cuY29scyA9IGl2YWw7CisJCXJv
d19mbGFnID0gY29sX2ZsYWcgPSAxOworCX0KKwogCS8qIHpvb209ICovCiAJaWYgKChuYW1lID0g
cGFybS56b29tLT5hbnN3ZXIpKQogCXsKQEAgLTc1MCwxMiArODAzLDEyIEBACiAJCWlmIChHX2xl
Z2FsX2ZpbGVuYW1lIChuYW1lKSA8IDApCiAJCQlHX2ZhdGFsX2Vycm9yIChfKCI8JXM+IC0gaWxs
ZWdhbCByZWdpb24gbmFtZSIpLCBuYW1lKTsKIAkJR19jb3B5ICgmdGVtcF93aW5kb3csICZ3aW5k
b3csIHNpemVvZih3aW5kb3cpKTsKLQkJYWRqdXN0X3dpbmRvdyAoJnRlbXBfd2luZG93KTsKKwkJ
YWRqdXN0X3dpbmRvdyAoJnRlbXBfd2luZG93LDAsMCwwKTsKIAkJaWYgKEdfX3B1dF93aW5kb3cg
KCZ0ZW1wX3dpbmRvdywgIndpbmRvd3MiLCBuYW1lKSA8IDApCiAJCQlHX2ZhdGFsX2Vycm9yIChf
KCJjYW4ndCB3cml0ZSByZWdpb24gPCVzPiIpLCBuYW1lKTsKIAl9CiAKLQlhZGp1c3Rfd2luZG93
ICgmd2luZG93KTsKKwlhZGp1c3Rfd2luZG93ICgmd2luZG93LHJvd19mbGFnLGNvbF9mbGFnLDAp
OwogCWlmIChzZXRfZmxhZykKIAl7CiAJCWlmIChHX3B1dF93aW5kb3cgKCZ3aW5kb3cpIDwgMCkK
SW5kZXg6IHpvb20uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9ncmFzcy9ncmFzc3JlcG9z
aXRvcnkvZ3Jhc3M2L2dlbmVyYWwvZy5yZWdpb24vY21kL3pvb20uYyx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMi4yCmRpZmYgLXUgLXIyLjIgem9vbS5jCi0tLSB6b29tLmMJOSBGZWIgMjAwNiAwMzow
ODo1MiAtMDAwMAkyLjIKKysrIHpvb20uYwkyNSBNYXkgMjAwNiAyMTowMDozMyAtMDAwMApAQCAt
MTIsNyArMTIsNyBAQAogICAgIGludCB0b3AsYm90dG9tLGxlZnQscmlnaHQsbWFyazsKICAgICBk
b3VibGUgbm9ydGgsIHNvdXRoLCBlYXN0LCB3ZXN0OwogCi0gICAgYWRqdXN0X3dpbmRvdyAod2lu
ZG93KTsKKyAgICBhZGp1c3Rfd2luZG93ICh3aW5kb3csMCwwLDApOwogICAgIEdfc2V0X3dpbmRv
dyAod2luZG93KTsKICAgICBucm93cyA9IHdpbmRvdy0+cm93czsKICAgICBuY29scyA9IHdpbmRv
dy0+Y29sczsK

------_=_NextPart_001_01C6803E.7DFC6B99--


Thu, Jun 1 2006 15:45:01    Comments added by guest  
Cc: hamish@yahoo.com

Oops, my e-mail program has garbled the text in my message, here is an updated
patch:

Index: adjust.c
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/adjust.c,v
retrieving revision 2.2
diff -u -r2.2 adjust.c
--- adjust.c    9 Feb 2006 03:08:52 -0000       2.2
+++ adjust.c    25 May 2006 21:00:32 -0000
@@ -1,11 +1,11 @@
 #include <grass/gis.h>

 int
-adjust_window (struct Cell_head *window)
+adjust_window (struct Cell_head *window,int row_flag,int col_flag, int
depth_flag)
 {
     char *err;

-    if (err = G_adjust_Cell_head3(window,0,0,0))
+    if (err = G_adjust_Cell_head3(window, row_flag, col_flag, depth_flag))
{
        char msg[100];
        sprintf (msg, "Invalid region: %s", err);
Index: local_proto.h
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/local_proto.h,v
retrieving revision 2.3
diff -u -r2.3 local_proto.h
--- local_proto.h       19 Dec 2005 16:14:24 -0000      2.3
+++ local_proto.h       25 May 2006 21:00:32 -0000
@@ -1,7 +1,7 @@
 #ifndef GREGION_LOCAL_PROTO_H
 #define GREGION_LOCAL_PROTO_H
 /* adjust.c */
-int adjust_window(struct Cell_head *);
+int adjust_window(struct Cell_head *,int row_flag,int col_flag, int depth_flag);
/* zoom.c */
 int zoom(struct Cell_head *, char *, char *);
 /* printwindow.c */
Index: main.c
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/main.c,v
retrieving revision 1.24
diff -u -r1.24 main.c
--- main.c      17 May 2006 12:26:53 -0000      1.24
+++ main.c      25 May 2006 21:00:33 -0000
@@ -34,6 +34,8 @@
        int print_flag, dist_flag;
        int set_flag;
        double x;
+       int ival;
+       int row_flag=0, col_flag=0, depth_flag=0;
        struct Cell_head window, temp_window;
        char *value;
        char *name;
@@ -63,7 +65,7 @@
            {
                struct Option
                *north,*south,*east,*west,*top,*bottom,
-               *res, *nsres, *ewres, *res3, *tbres,
+                 *res, *nsres, *ewres, *res3, *tbres, *rows, *cols, *size,
*save, *region, *view,
                *raster, *raster3d, *align, *zoom, *vect;
        } parm;
@@ -320,6 +322,30 @@
        parm.save->gisprompt   = "new,windows,region";
        parm.save->guisection  = _("Effects");

+       parm.rows = G_define_option();
+       parm.rows->key         = "rows";
+       parm.rows->required    = NO;
+       parm.rows->multiple    = NO;
+       parm.rows->type        = TYPE_INTEGER;
+       parm.rows->description = _("Number of rows in the new region");
+       parm.rows->guisection  = _("Resolution");
+
+       parm.cols = G_define_option();
+       parm.cols->key         = "cols";
+       parm.cols->required    = NO;
+       parm.cols->multiple    = NO;
+       parm.cols->type        = TYPE_INTEGER;
+       parm.cols->description = _("Number of columns in the new region");
+       parm.cols->guisection  = _("Resolution");
+
+       parm.size = G_define_option();
+       parm.size->key         = "size";
+       parm.size->required    = NO;
+       parm.size->multiple    = NO;
+       parm.size->type        = TYPE_INTEGER;
+       parm.size->description = _("The size (number of rows an columns) in
the new region");
+       parm.size->guisection  = _("Resolution");
+
        if (G_parser(argc,argv))
                exit(1);

@@ -722,6 +748,33 @@
                }
        }

+       /* rows= */
+       if ((value = parm.rows->answer))
+       {
+               if (sscanf (value, "%i", &ival) != 1 )
+                       die(parm.rows);
+               window.rows = ival;
+               row_flag = 1;
+       }
+
+       /* cols= */
+       if ((value = parm.cols->answer))
+       {
+               if (sscanf (value, "%i", &ival) != 1 )
+                       die(parm.cols);
+               window.cols = ival;
+               col_flag = 1;
+       }
+
+       /* size= */
+       if ((value = parm.size->answer))
+       {
+               if (sscanf (value, "%i", &ival) != 1 )
+                       die(parm.size);
+               window.rows = window.cols = ival;
+               row_flag = col_flag = 1;
+       }
+
        /* zoom= */
        if ((name = parm.zoom->answer))
        {
@@ -750,12 +803,12 @@
                if (G_legal_filename (name) < 0)
                        G_fatal_error (_("<%s> - illegal region name"), name);
G_copy (&temp_window, &window, sizeof(window));
-               adjust_window (&temp_window);
+               adjust_window (&temp_window,0,0,0);
                if (G__put_window (&temp_window, "windows", name) < 0)
                        G_fatal_error (_("can't write region <%s>"), name);
}

-       adjust_window (&window);
+       adjust_window (&window,row_flag,col_flag,0);
        if (set_flag)
        {
                if (G_put_window (&window) < 0)
Index: zoom.c
===================================================================
RCS file: /home/grass/grassrepository/grass6/general/g.region/cmd/zoom.c,v
retrieving revision 2.2
diff -u -r2.2 zoom.c
--- zoom.c      9 Feb 2006 03:08:52 -0000       2.2
+++ zoom.c      25 May 2006 21:00:33 -0000
@@ -12,7 +12,7 @@
     int top,bottom,left,right,mark;
     double north, south, east, west;

-    adjust_window (window);
+    adjust_window (window,0,0,0);
     G_set_window (window);
     nrows = window->rows;
     ncols = window->cols;
Mon, Sep 25 2006 20:04:40    Mail sent by msieczka  
Seems an usefull patch. Could someone savvy please revise it and apply - while
we are on the g.region topic?

Maciek
Sun, Dec 3 2006 22:00:32    Mail sent by mneteler  
Hi,

can someone please review this g.region patch proposal?

https://intevation.de/rt/webrt?serial_num=4451

thanks
Markus
Sun, Dec 3 2006 22:40:39    Mail sent by dylan.beaudette@gmail.com  
Return-Path <dylan.beaudette@gmail.com>
Delivered-To grass-bugs@lists.intevation.de
From Dylan Beaudette <dylan.beaudette@gmail.com>
Reply-To dylan.beaudette@gmail.com
To grass-dev@grass.itc.it, Markus Neteler via RT <grass-bugs@intevation.de>
Subject Re: [GRASS-dev] [bug #4451] (grass) New options for g.region
Date Sun, 3 Dec 2006 14:11:27 -0800
User-Agent KMail/1.9.5
Cc SorokinA@ornl.gov
References <20061203210032.ED5891005BE@lists.intevation.de>
In-Reply-To <20061203210032.ED5891005BE@lists.intevation.de>
MIME-Version 1.0
Content-Type text/plain; charset="utf-8"
Content-Transfer-Encoding 7bit
Content-Disposition inline
Message-Id <200612031411.27610.dylan.beaudette@gmail.com>
X-Scanned-By MIMEDefang 2.57 on 128.120.32.31
X-Virus-Scanned by amavisd-new at intevation.de
X-Spam-Status No, hits=-5 tagged_above=-999 required=3 tests=[BAYES_00=-5]
X-Spam-Level
On Sunday 03 December 2006 13:00, Markus Neteler via RT wrote:
> Hi,
>
> can someone please review this g.region patch proposal?
>
> https://intevation.de/rt/webrt?serial_num=4451
>
> thanks
> Markus
>
> -------------------------------------------- Managed by Request Tracker
>
> _______________________________________________
> grass-dev mailing list
> grass-dev@grass.itc.it
> http://grass.itc.it/mailman/listinfo/grass-dev

While I cannot vouch for the code aspect of this, the new options would be 
quite useful for my operations.

Thanks Markus and others!

-- 
Dylan Beaudette
Soils and Biogeochemistry Graduate Group
University of California at Davis
530.754.7341


Mon, Dec 4 2006 01:58:59    Mail sent by glynn@gclements.plus.com  
Return-Path <glynn@gclements.plus.com>
Delivered-To grass-bugs@lists.intevation.de
From Glynn Clements <glynn@gclements.plus.com>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Transfer-Encoding 7bit
Message-ID <17779.29377.966414.414928@cerise.gclements.plus.com>
Date Mon, 4 Dec 2006 00:58:41 +0000
To Markus Neteler via RT <grass-bugs@intevation.de>
Cc SorokinA@ornl.gov, grass-dev@grass.itc.it
Subject Re: [GRASS-dev] [bug #4451] (grass) New options for g.region
In-Reply-To <20061203210032.ED5891005BE@lists.intevation.de>
References <20061203210032.ED5891005BE@lists.intevation.de>
X-Mailer VM 7.07 under 21.4 (patch 17) "Jumbo Shrimp" XEmacs Lucid
X-Virus-Scanned by amavisd-new at intevation.de
X-Spam-Status No, hits=-5 tagged_above=-999 required=3 tests=[BAYES_00=-5]
X-Spam-Level
Markus Neteler via RT wrote:

> can someone please review this g.region patch proposal?
> 
> https://intevation.de/rt/webrt?serial_num=4451

I don't see any point in the size= option; I wouldn't expect it to be
used much, and you can always just pass the same value to rows= and
cols=.

The rest of it seems fine.

-- 
Glynn Clements <glynn@gclements.plus.com>


Mon, Dec 4 2006 20:18:03    Mail sent by michael.barton@asu.edu  
Return-Path <michael.barton@asu.edu>
Delivered-To grass-bugs@lists.intevation.de
User-Agent Microsoft-Entourage/11.2.5.060620
Date Mon, 04 Dec 2006 12:17:03 -0700
Subject Re: [GRASS-dev] [bug #4451] (grass) New options for g.region
From Michael Barton <michael.barton@asu.edu>
To Paolo Cavallini via RT <grass-bugs@intevation.de>, <SorokinA@ornl.gov>
Cc <grass-dev@grass.itc.it>
Message-ID <C199C23F.119F3%michael.barton@asu.edu>
Thread-Topic [GRASS-dev] [bug #4451] (grass) New options for g.region
Thread-Index AccX2Md0Bhwjw4PMEduWYgAX8scpqg==
In-Reply-To <20061203210032.ED5891005BE@lists.intevation.de>
Mime-version 1.0
Content-type text/plain; charset="US-ASCII"
Content-transfer-encoding 7bit
X-Virus-Scanned by amavisd-new
X-Virus-Scanned by amavisd-new at intevation.de
X-Spam-Status No, hits=-3.752 tagged_above=-999 required=3 tests=[BAYES_00=-5, RCVD_NUMERIC_HELO=1.248]
X-Spam-Level
On 12/3/06 2:00 PM, "Markus Neteler via RT" <grass-bugs@intevation.de>
wrote:

> Hi,
> 
> can someone please review this g.region patch proposal?
> 
> https://intevation.de/rt/webrt?serial_num=4451
> 
> thanks
> Markus

Looks good to me.

Michael

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

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


Thu, Dec 7 2006 09:27:50    Status changed to resolved by mneteler  
Thu, Dec 7 2006 09:27:50    Mail sent by mneteler  
Hi,

2006/12/4, Martin Landa <landa.martin@gmail.com>:

> I have updated the patch for the current CVS
>
> + reordering flags (Print)
> + capitalize messages/warnings/ferrors
> - removing size parameter
>
> Any objections?

ok, commited to CVS.

Martin 
Comment | Reply | Take | Open

You are currently authenticated as guest.
[Show Configuration] [Login as another user]

Users Guide - Mail Commands - Homepage of RequestTracker 1.0.7 - list any request