[GRASS-SVN] r71449 - grass/trunk/lib/raster

svn_grass at osgeo.org svn_grass at osgeo.org
Thu Aug 31 06:59:11 PDT 2017


Author: mmetz
Date: 2017-08-31 06:59:11 -0700 (Thu, 31 Aug 2017)
New Revision: 71449

Modified:
   grass/trunk/lib/raster/range.c
Log:
rasterlib: revert experimental code

Modified: grass/trunk/lib/raster/range.c
===================================================================
--- grass/trunk/lib/raster/range.c	2017-08-31 13:57:11 UTC (rev 71448)
+++ grass/trunk/lib/raster/range.c	2017-08-31 13:59:11 UTC (rev 71449)
@@ -22,8 +22,6 @@
 #define DEFAULT_CELL_MIN 1
 #define DEFAULT_CELL_MAX 255
 
-static void init_rstats(struct R_stats *);
-
 /*!
    \brief Remove floating-point range
 
@@ -243,103 +241,6 @@
 }
 
 /*!
- * \brief Read raster stats
- *
- * Read the stats file <i>stats</i>. This file is
- * written in binary using XDR format.
- *
- * An empty stats file indicates that all cells are NULL. This
- * is a valid case, and the result should be an initialized rstats
- * struct with no defined stats.  If the stats file is missing
- * this function will create a default stats with count = 0.
- *
- * \param name map name
- * \param mapset mapset name
- * \param rstats pointer to R_stats structure which holds raster stats
- *
- * \return 1 on success
- * \return 2 stats is empty
- * \return -1 on error or stats file does not exist
- */
-int Rast_read_rstats(const char *name, const char *mapset,
-		       struct R_stats *rstats)
-{
-    int fd;
-    char xdr_buf[2][XDR_DOUBLE_NBYTES];
-    DCELL dcell1, dcell2;
-    unsigned char cc[8];
-    char nbytes;
-    int i;
-    off_t count;
-
-    Rast_init();
-    init_rstats(rstats);
-
-    fd = -1;
-
-    if (!G_find_file2_misc("cell_misc", "stats", name, mapset)) {
-	G_debug(1, "Stats file does not exist");
-	return -1;
-    }
-
-    fd = G_open_old_misc("cell_misc", "stats", name, mapset);
-    if (fd < 0) {
-	G_warning(_("Unable to read stats file for <%s>"),
-		  G_fully_qualified_name(name, mapset));
-	return -1;
-    }
-
-    if (read(fd, xdr_buf, sizeof(xdr_buf)) != sizeof(xdr_buf)) {
-	/* if the stats file exists, but empty file, meaning Nulls */
-	close(fd);
-	G_debug(1, "Empty stats file meaning Nulls for <%s>",
-		  G_fully_qualified_name(name, mapset));
-	return 2;
-    }
-
-    G_xdr_get_double(&dcell1, xdr_buf[0]);
-    G_xdr_get_double(&dcell2, xdr_buf[1]);
-
-    rstats->sum = dcell1;
-    rstats->sumsq = dcell2;
-
-    /* count; see cell_values_int() in get_row.c */
-    nbytes = 1;
-    if (read(fd, &nbytes, 1) != 1) {
-	/* if the stats file exists, but empty file, meaning Nulls */
-	close(fd);
-	G_debug(1, "Unable to read byte count in stats file for <%s>",
-		  G_fully_qualified_name(name, mapset));
-	return -1;
-    }
-
-    if (nbytes < 1 || nbytes > sizeof(off_t)) {
-	close(fd);
-	G_debug(1, "Invalid byte count in stats file for <%s>",
-		  G_fully_qualified_name(name, mapset));
-	return -1;
-    }
-    if (read(fd, cc, nbytes) != nbytes) {
-	/* incorrect number of bytes for count */
-	close(fd);
-	G_debug(1, "Unable to read count in stats file for <%s>",
-		  G_fully_qualified_name(name, mapset));
-	return -1;
-    }
-
-    count = 0;
-    for (i = nbytes - 1; i >= 0; i--) {
-	count = (count << 8);
-	count = count + cc[i];
-    }
-    rstats->count = count;
-
-    close(fd);
-
-    return 1;
-}
-
-/*!
  * \brief Write raster range file
  *
  * This routine writes the range information for the raster map
@@ -358,8 +259,6 @@
 {
     FILE *fp;
 
-    Rast_write_rstats(name, &(range->rstats));
-
     if (Rast_map_type(name, G_mapset()) != CELL_TYPE) {
 	G_remove_misc("cell_misc", "range", name);	/* remove the old file with this name */
 	G_fatal_error(_("Unable to write range file for <%s>"), name);
@@ -395,8 +294,6 @@
 
     Rast_init();
 
-    Rast_write_rstats(name, &(range->rstats));
-
     fd = G_open_new_misc("cell_misc", "f_range", name);
     if (fd < 0) {
 	G_remove_misc("cell_misc", "f_range", name);
@@ -421,72 +318,6 @@
 }
 
 /*!
- * \brief Write raster stats file
- *
- * Write the stats file <tt>stats</tt>. This file is
- * written in binary using XDR format. If the count is < 1
- * in <em>rstats</em>, an empty <tt>stats</tt> file is created.
- *
- * \param name map name
- * \param rstats pointer to R_stats which holds stats info
- */
-void Rast_write_rstats(const char *name, const struct R_stats *rstats)
-{
-    int fd;
-    char xdr_buf[2][XDR_DOUBLE_NBYTES];
-    unsigned char cc[8];
-    char nbytes;
-    int i;
-    off_t count;
-
-    Rast_init();
-
-    fd = G_open_new_misc("cell_misc", "stats", name);
-    if (fd < 0) {
-	G_remove_misc("cell_misc", "stats", name);
-	G_fatal_error(_("Unable to write stats file for <%s>"), name);
-    }
-
-    /* if count is zero, write empty file meaning Nulls */
-    if (rstats->count < 1) {
-	close(fd);
-	return;
-    }
-
-    G_xdr_put_double(xdr_buf[0], &rstats->sum);
-    G_xdr_put_double(xdr_buf[1], &rstats->sumsq);
-
-    if (write(fd, xdr_buf, sizeof(xdr_buf)) != sizeof(xdr_buf)) {
-	G_remove_misc("cell_misc", "stats", name);
-	G_fatal_error(_("Unable to write stats file for <%s>"), name);
-    }
-
-    /* count; see convert_int() in put_row.c */
-    count = rstats->count;
-    nbytes = 0;
-    for (i = 0; i < sizeof(off_t); i++) {
-	cc[i] = count & 0xff;
-	count >>= 8;
-	if (cc[i])
-	    nbytes = i;
-    }
-    nbytes++;
-
-    /* number of bytes needed for count */
-    if (write(fd, &nbytes, 1) != 1) {
-	G_remove_misc("cell_misc", "stats", name);
-	G_fatal_error(_("Unable to write stats file for <%s>"), name);
-    }
-
-    if (write(fd, cc, nbytes) != nbytes) {
-	G_remove_misc("cell_misc", "stats", name);
-	G_fatal_error(_("Unable to write stats file for <%s>"), name);
-    }
-
-    close(fd);
-}
-
-/*!
  * \brief Update range structure (CELL)
  *
  * Compares the <i>cat</i> value with the minimum and maximum values
@@ -581,21 +412,12 @@
 	    range->first_time = 0;
 	    range->min = cat;
 	    range->max = cat;
-
-	    range->rstats.sum = cat;
-	    range->rstats.sumsq = (DCELL) cat * cat;
-	    range->rstats.count = 1;
-
 	    continue;
 	}
 	if (cat < range->min)
 	    range->min = cat;
 	if (cat > range->max)
 	    range->max = cat;
-
-	range->rstats.sum += cat;
-	range->rstats.sumsq += (DCELL) cat * cat;
-	range->rstats.count += 1;
     }
 }
 
@@ -639,20 +461,12 @@
 	    range->first_time = 0;
 	    range->min = val;
 	    range->max = val;
-
-	    range->rstats.sum = val;
-	    range->rstats.sumsq = val * val;
-	    range->rstats.count = 1;
 	}
 	else {
 	    if (val < range->min)
 		range->min = val;
 	    if (val > range->max)
 		range->max = val;
-
-	    range->rstats.sum += val;
-	    range->rstats.sumsq += val * val;
-	    range->rstats.count += 1;
 	}
 
 	rast = G_incr_void_ptr(rast, size);
@@ -675,9 +489,6 @@
 {
     Rast_set_c_null_value(&(range->min), 1);
     Rast_set_c_null_value(&(range->max), 1);
-
-    init_rstats(&range->rstats);
-
     range->first_time = 1;
 }
 
@@ -727,9 +538,6 @@
 {
     Rast_set_d_null_value(&(range->min), 1);
     Rast_set_d_null_value(&(range->max), 1);
-
-    init_rstats(&range->rstats);
-
     range->first_time = 1;
 }
 
@@ -764,10 +572,3 @@
 	    *max = range->max;
     }
 }
-
-static void init_rstats(struct R_stats *rstats)
-{
-    Rast_set_d_null_value(&(rstats->sum), 1);
-    Rast_set_d_null_value(&(rstats->sumsq), 1);
-    rstats->count = 0;
-}



More information about the grass-commit mailing list