#!/bin/sh # This program is Free Software under the GNU GPL (>=v2). # calculate univariate statistics for GRASS raster data if test "$GISBASE" = ""; then echo "You must be in GRASS to run this program." exit fi MAP=$1 r.stats -1 $MAP | awk 'BEGIN {sum = 0.0 ; sum2 = 0.0} NR == 1{min = $2 ; max = $1} {sum += $1 ; sum2 += $1 * $1 ; N++} { if ($1 > max) {max = $1} if ($1 < min) {min = $1} } END{ print "Number of raster data samples N =",N print "Minimum value MIN =",min print "Maximum value MAX =",max print "Variation v =",(max - ((min * -1) * -1)) print "Mean MEAN =",sum / N print "Variance S2 =",(sum2 - sum * sum / N) / N print "Standard deviation S =",sqrt((sum2 - sum * sum/N) / N) print "Variation coeffic. V =",100*(sqrt((sum2 - sum*sum/N)/N)) \ /(sum/N) }'