[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(®ion);
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