[GRASS-SVN] r64076 - in grass/branches/releasebranch_7_0: . vector/v.to.rast

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Jan 12 03:22:31 PST 2015


Author: neteler
Date: 2015-01-12 03:22:31 -0800 (Mon, 12 Jan 2015)
New Revision: 64076

Modified:
   grass/branches/releasebranch_7_0/
   grass/branches/releasebranch_7_0/vector/v.to.rast/do_areas.c
   grass/branches/releasebranch_7_0/vector/v.to.rast/do_lines.c
   grass/branches/releasebranch_7_0/vector/v.to.rast/local.h
   grass/branches/releasebranch_7_0/vector/v.to.rast/main.c
   grass/branches/releasebranch_7_0/vector/v.to.rast/raster.c
   grass/branches/releasebranch_7_0/vector/v.to.rast/vect2rast.c
Log:
v.to.rast: replace custom cell type with raster cell type; use size_t (trunk, r62428)


Property changes on: grass/branches/releasebranch_7_0
___________________________________________________________________
Modified: svn:mergeinfo
   - /grass/trunk:59626,59671,60054,60497,60563-60566,60817,60922,60976,61046,61096,61141,61994,62026,62036,62085,62105,62179-62180,62182,62190,62403,62422,62424,62429,62437,62466,62469,62484,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750-62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62828,62831,62838,62845,62847,62850,62856,62879,62881,62886,62904,62907-62908,62910,62912,62914,62916,62918,62920,62925,62932-62933,62935,62940,62942,62944-62946,62949,62955-62956,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-63044,
 63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,63076,63079,63081,63083,63085,63087,63089,63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63160,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63275-63276,63279,63281,63283,63287,63290,63292,63297,63302,63304-63307,63315,63319,63327,63330,63332,63339,63342,63345,63361-63363,63367,63369,63379,63389,63391,63393,63402,63408-63409,63416-63417,63425,63427,63429,63431,63433,63448,63451,63453,63457,63459,63461,63464-63470,63473,63482,63497,63505,63508,63510,63515,63521-63524,63526,63528,63536-63537,63551-63552,63554,63556,63558-63559,63562,63570,63576,63582,63589-63593,63602,63604,63608-63610,63616,63618,63624,63626,63628,63630,63634,63639,63642,63644,63650,63652,63656,63679
 ,63685,63689,63691,63693,63695,63698,63700-63702,63704,63706-63707,63709,63711,63713,63715,63717-63718,63721-63727,63731,63733,63736,63740-63742,63744-63749,63751-63752,63756,63758,63760-63761,63767,63777,63780,63783,63787,63793,63796-63798,63801,63803,63807-63808,63812,63814,63816,63821,63823-63824,63827-63828,63830-63831,63834-63835,63837-63839,63841,63843-63844,63846-63847,63849,63851,63853,63855-63856,63858-63859,63862,63865,63869,63871,63882,63884,63889-63890,63892-63895,63897-63898,63900,63902-63903,63905,63907,63909-63911,63913-63914,63927,63930-63931,63940-63941,63945,63954-63955,63960,63965,63967,63976-63983,63995,64026,64030,64040,64056,64062
   + /grass/trunk:59626,59671,60054,60497,60563-60566,60817,60922,60976,61046,61096,61141,61994,62026,62036,62085,62105,62179-62180,62182,62190,62403,62422,62424,62428-62429,62437,62466,62469,62484,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750-62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62828,62831,62838,62845,62847,62850,62856,62879,62881,62886,62904,62907-62908,62910,62912,62914,62916,62918,62920,62925,62932-62933,62935,62940,62942,62944-62946,62949,62955-62956,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-
 63044,63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,63076,63079,63081,63083,63085,63087,63089,63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63160,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63275-63276,63279,63281,63283,63287,63290,63292,63297,63302,63304-63307,63315,63319,63327,63330,63332,63339,63342,63345,63361-63363,63367,63369,63379,63389,63391,63393,63402,63408-63409,63416-63417,63425,63427,63429,63431,63433,63448,63451,63453,63457,63459,63461,63464-63470,63473,63482,63497,63505,63508,63510,63515,63521-63524,63526,63528,63536-63537,63551-63552,63554,63556,63558-63559,63562,63570,63576,63582,63589-63593,63602,63604,63608-63610,63616,63618,63624,63626,63628,63630,63634,63639,63642,63644,63650,63652,63656
 ,63679,63685,63689,63691,63693,63695,63698,63700-63702,63704,63706-63707,63709,63711,63713,63715,63717-63718,63721-63727,63731,63733,63736,63740-63742,63744-63749,63751-63752,63756,63758,63760-63761,63767,63777,63780,63783,63787,63793,63796-63798,63801,63803,63807-63808,63812,63814,63816,63821,63823-63824,63827-63828,63830-63831,63834-63835,63837-63839,63841,63843-63844,63846-63847,63849,63851,63853,63855-63856,63858-63859,63862,63865,63869,63871,63882,63884,63889-63890,63892-63895,63897-63898,63900,63902-63903,63905,63907,63909-63911,63913-63914,63927,63930-63931,63940-63941,63945,63954-63955,63960,63965,63967,63976-63983,63995,64026,64030,64040,64056,64062

Modified: grass/branches/releasebranch_7_0/vector/v.to.rast/do_areas.c
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.to.rast/do_areas.c	2015-01-12 11:19:08 UTC (rev 64075)
+++ grass/branches/releasebranch_7_0/vector/v.to.rast/do_areas.c	2015-01-12 11:22:31 UTC (rev 64076)
@@ -68,7 +68,7 @@
 		set_cat(cat);
 	    }
 	    else {
-		if (value_type == USE_CELL)
+		if (value_type == CELL_TYPE)
 		    set_cat((int)value);
 		else
 		    set_dcat(value);

Modified: grass/branches/releasebranch_7_0/vector/v.to.rast/do_lines.c
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.to.rast/do_lines.c	2015-01-12 11:19:08 UTC (rev 64075)
+++ grass/branches/releasebranch_7_0/vector/v.to.rast/do_lines.c	2015-01-12 11:22:31 UTC (rev 64076)
@@ -77,7 +77,7 @@
 	    set_cat(cat);
 	}
 	else if (use == USE_VAL) {
-	    if (value_type == USE_CELL)
+	    if (value_type == CELL_TYPE)
 		set_cat((int)value);
 	    else
 		set_dcat(value);

Modified: grass/branches/releasebranch_7_0/vector/v.to.rast/local.h
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.to.rast/local.h	2015-01-12 11:19:08 UTC (rev 64075)
+++ grass/branches/releasebranch_7_0/vector/v.to.rast/local.h	2015-01-12 11:22:31 UTC (rev 64076)
@@ -14,10 +14,6 @@
 #define SETNULL(x)  Rast_set_c_null_value (x, 1)
 #define SETDNULL(x) Rast_set_d_null_value (x, 1)
 
-/* cell type */
-#define USE_CELL  1
-#define USE_DCELL 2
-
 /* value type */
 #define USE_ATTR  1
 #define USE_CAT   2

Modified: grass/branches/releasebranch_7_0/vector/v.to.rast/main.c
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.to.rast/main.c	2015-01-12 11:19:08 UTC (rev 64075)
+++ grass/branches/releasebranch_7_0/vector/v.to.rast/main.c	2015-01-12 11:22:31 UTC (rev 64076)
@@ -113,7 +113,7 @@
     memory->required = NO;
     memory->multiple = NO;
     memory->answer = "300";
-    memory->label = _("Cache size (MiB)");
+    memory->label = _("Maximum memory to be used (in MB)");
     memory->description = _("Cache size for raster rows");
 
     dense_flag = G_define_flag();
@@ -164,7 +164,7 @@
     }
 
     value = atof(val_opt->answer);
-    value_type = (strchr(val_opt->answer, '.')) ? USE_DCELL : USE_CELL;
+    value_type = (strchr(val_opt->answer, '.')) ? DCELL_TYPE : CELL_TYPE;
 
     if (vect_to_rast(input->answer, output->answer, field_opt->answer,
 		     col->answer, cache_mb, use, value, value_type,

Modified: grass/branches/releasebranch_7_0/vector/v.to.rast/raster.c
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.to.rast/raster.c	2015-01-12 11:19:08 UTC (rev 64075)
+++ grass/branches/releasebranch_7_0/vector/v.to.rast/raster.c	2015-01-12 11:22:31 UTC (rev 64076)
@@ -35,9 +35,10 @@
 
 int begin_rasterization(int cache_mb, int f, int do_dense)
 {
-    int i, size, nrows;
+    int i;
     double row_mb;
     int pages;
+    size_t size;
 
     dense = (do_dense != 0);
 
@@ -49,35 +50,23 @@
     G_get_set_window(&region);
     G_get_set_window(&page);
 
-    switch (format) {
-    case USE_CELL:
-	row_mb = (double) region.cols * (sizeof(char) + sizeof(CELL)) /
-		 (1 << 20);
-	break;
+    row_mb = (double) region.cols * (sizeof(char) + Rast_cell_size(f)) /
+	     (1 << 20);
 
-    case USE_DCELL:
-	row_mb = (double) region.cols * (sizeof(char) + sizeof(DCELL)) /
-	         (1 << 20);
-	dot = dcell_dot;
-	break;
-    }
+    max_rows = cache_mb / row_mb;
+    if (max_rows < 1)
+	max_rows = 4;
 
-    nrows = cache_mb / row_mb;
-    if (nrows < 1)
-	nrows = 1;
-
-    max_rows = nrows;
-    if (max_rows <= 0)
-	max_rows = 512;
-
     pages = (region.rows + max_rows - 1) / max_rows;
 
     if (max_rows > region.rows)
 	max_rows = region.rows;
 
-    size = max_rows * region.cols;
+    G_debug(1, "%d of %d rows are cached", max_rows, region.rows);
+
+    size = (size_t) max_rows * region.cols;
     switch (format) {
-    case USE_CELL:
+    case CELL_TYPE:
 	raster.cell =
 	    (CELL **) G_calloc(max_rows * sizeof(char), sizeof(CELL *));
 	raster.cell[0] = (CELL *) G_calloc(size * sizeof(char), sizeof(CELL));
@@ -86,7 +75,7 @@
 	dot = cell_dot;
 	break;
 
-    case USE_DCELL:
+    case DCELL_TYPE:
 	raster.dcell =
 	    (DCELL **) G_calloc(max_rows * sizeof(char), sizeof(DCELL *));
 	raster.dcell[0] =
@@ -126,12 +115,12 @@
 
     /* zero the raster */
     switch (format) {
-    case USE_CELL:
+    case CELL_TYPE:
 	for (i = 0; i < nrows; i++)
 	    for (j = 0; j < ncols; j++)
 		raster.cell[i][j] = 0;
 	break;
-    case USE_DCELL:
+    case DCELL_TYPE:
 	for (i = 0; i < nrows; i++)
 	    for (j = 0; j < ncols; j++)
 		raster.dcell[i][j] = 0;
@@ -164,14 +153,14 @@
     for (i = 0; i < page.rows; i++, at_row++) {
 	G_percent(i, page.rows, 2);
 	switch (format) {
-	case USE_CELL:
+	case CELL_TYPE:
 	    cell = raster.cell[i];
 
 	    /* insert the NULL values */
 	    Rast_insert_c_null_values(cell, null_flags[i], page.cols);
 	    Rast_put_c_row(fd, cell);
 	    break;
-	case USE_DCELL:
+	case DCELL_TYPE:
 	    dcell = raster.dcell[i];
 
 	    /* insert the NULL values */

Modified: grass/branches/releasebranch_7_0/vector/v.to.rast/vect2rast.c
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.to.rast/vect2rast.c	2015-01-12 11:19:08 UTC (rev 64075)
+++ grass/branches/releasebranch_7_0/vector/v.to.rast/vect2rast.c	2015-01-12 11:22:31 UTC (rev 64076)
@@ -95,10 +95,10 @@
 	
 	switch (ctype) {
 	case DB_C_TYPE_INT:
-	    format = USE_CELL;
+	    format = CELL_TYPE;
 	    break;
 	case DB_C_TYPE_DOUBLE:
-	    format = USE_DCELL;
+	    format = DCELL_TYPE;
 	    break;
 	default:
 	    G_fatal_error(_("Unable to use column <%s>"), column);
@@ -106,33 +106,23 @@
 	}
 	break;
     case USE_CAT:
-	format = USE_CELL;
+	format = CELL_TYPE;
 	break;
     case USE_VAL:
 	format = value_type;
 	break;
     case USE_Z:
-	format = USE_DCELL;
+	format = DCELL_TYPE;
 	is_fp = 1;
 	break;
     case USE_D:
-	format = USE_DCELL;
+	format = DCELL_TYPE;
 	break;
     default:
 	G_fatal_error(_("Unknown use type: %d"), use);
     }
 
-    switch (format) {
-    case USE_CELL:
-	fd = Rast_open_c_new(raster_map);
-	break;
-    case USE_DCELL:
-	fd = Rast_open_new(raster_map, DCELL_TYPE);
-	break;
-    default:
-	G_fatal_error(_("Unknown raster map type"));
-	break;
-    }
+    fd = Rast_open_new(raster_map, format);
 
     Points = Vect_new_line_struct();
 



More information about the grass-commit mailing list