[GRASS-SVN] r51960 - grass/trunk/raster/r.cost
svn_grass at osgeo.org
svn_grass at osgeo.org
Sun Jun 3 10:17:25 PDT 2012
Author: mmetz
Date: 2012-06-03 10:17:25 -0700 (Sun, 03 Jun 2012)
New Revision: 51960
Modified:
grass/trunk/raster/r.cost/main.c
Log:
r.cost: use new segment lib fns
Modified: grass/trunk/raster/r.cost/main.c
===================================================================
--- grass/trunk/raster/r.cost/main.c 2012-06-03 17:02:17 UTC (rev 51959)
+++ grass/trunk/raster/r.cost/main.c 2012-06-03 17:17:25 UTC (rev 51960)
@@ -90,7 +90,6 @@
const char *cost_mapset, *search_mapset;
void *cell, *cell2, *dir_cell, *nearest_cell;
SEGMENT cost_seg, dir_seg;
- const char *in_file, *dir_out_file;
double *value;
extern struct Cell_head window;
double NS_fac, EW_fac, DIAG_fac, H_DIAG_fac, V_DIAG_fac;
@@ -106,7 +105,6 @@
int segments_in_memory;
int cost_fd, cum_fd, dir_fd, nearest_fd;
int have_stop_points = 0, dir = 0;
- int in_fd, dir_out_fd;
double my_cost, nearest;
double null_cost, dnullval;
int srows, scols;
@@ -254,11 +252,6 @@
if (opt11->answer != NULL)
dir = 1;
- /* Initalize access to database and create temporary files */
- in_file = G_tempfile();
- if (dir == 1)
- dir_out_file = G_tempfile();
-
/* Get database window parameters */
G_get_window(&window);
@@ -429,31 +422,17 @@
/* Create segmented format files for cost layer and output layer */
G_verbose_message(_("Creating some temporary files..."));
- in_fd = creat(in_file, 0666);
- if (segment_format(in_fd, nrows, ncols, srows, scols, sizeof(struct cc)) != 1)
- G_fatal_error("can not create temporary file");
- close(in_fd);
+ if (segment_open(&cost_seg, G_tempfile(), nrows, ncols, srows, scols,
+ sizeof(struct cc), segments_in_memory) != 1)
+ G_fatal_error(_("Can not create temporary file"));
if (dir == 1) {
- dir_out_fd = creat(dir_out_file, 0600);
- if (segment_format(dir_out_fd, nrows, ncols, srows, scols,
- sizeof(double)) != 1)
- G_fatal_error("can not create temporary file");
+ if (segment_open(&dir_seg, G_tempfile(), nrows, ncols, srows, scols,
+ sizeof(double), segments_in_memory) != 1)
+ G_fatal_error(_("Can not create temporary file"));
- close(dir_out_fd);
}
-
- /* Open and initialize all segment files */
- in_fd = open(in_file, 2);
- if (segment_init(&cost_seg, in_fd, segments_in_memory) != 1)
- G_fatal_error("can not initialize temporary file");
- if (dir == 1) {
- dir_out_fd = open(dir_out_file, 2);
- if (segment_init(&dir_seg, dir_out_fd, segments_in_memory) != 1)
- G_fatal_error("can not initialize temporary file");
- }
-
/* Write the cost layer in the segmented file */
G_message(_("Reading raster map <%s>, initializing output..."),
G_fully_qualified_name(cost_layer, cost_mapset));
@@ -1139,9 +1118,9 @@
G_free(dir_cell);
}
- segment_release(&cost_seg); /* release memory */
+ segment_close(&cost_seg); /* release memory */
if (dir == 1) {
- segment_release(&dir_seg);
+ segment_close(&dir_seg);
}
Rast_close(cost_fd);
Rast_close(cum_fd);
@@ -1151,14 +1130,6 @@
if (nearest_layer) {
Rast_close(nearest_fd);
}
- close(in_fd); /* close all files */
- if (dir == 1) {
- close(dir_out_fd);
- }
- unlink(in_file); /* remove submatrix files */
- if (dir == 1) {
- unlink(dir_out_file);
- }
/* writing history file */
Rast_short_history(cum_cost_layer, "raster", &history);
More information about the grass-commit
mailing list