GRASS logo

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.


v.db.univar - Calculates univariate statistics on selected table column for a GRASS vector map.


vector, statistics, attribute table


v.db.univar --help
v.db.univar [-eg] map=name [layer=string] column=name [where=sql_query] [percentile=float[,float,...]] [--help] [--verbose] [--quiet] [--ui]


Extended statistics (quartiles and 90th percentile)
Print stats in shell script style
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


map=name [required]
Name of vector map
Or data source for direct OGR access
Layer number or name
Vector features can have category values in different layers. This number determines which layer to use. When used with direct OGR access this is the layer name.
Default: 1
column=name [required]
Name of attribute column on which to calculate statistics (must be numeric)
WHERE conditions of SQL statement without 'where' keyword
Example: income < 1000 and population >= 10000
Percentile to calculate (requires extended statistics flag)
Options: 0-100
Default: 90

Table of contents


v.db.univar calculates basic univariate statistics for numeric attributes in a vector attribute table. It will calculate minimum, maximum, range, mean, standard deviation, variance, coefficient of variation, quartiles, median, and 90th percentile.

v.db.univar uses db.univar which in turn uses to get the attribute values on which it calculates the statistics. This means that statistics are calculated based on the entries in the attribute table, not based on the features in the map. One attribute value is read from each line in the attribute table, whether there are no, one or several features with the category value referenced by that line, or whether any features have more than one category value. For feature-based, instead of attribute table-based, univariate statistics on attributes see v.univar. NOTES A database connection must be defined for the selected vector layer.


Univariate statistics on attribute table column

In this example, the 30 years precipitation data table is statistically analysed (North Carolina sample dataset) and univariate statistics performed:
# show columns of attribute table connected to precipitation map -c precip_30ynormals

# univariate statistics on 30 years annual precipitation in NC
v.db.univar precip_30ynormals column=annual
 Number of values: 136
 Minimum: 947.42
 Maximum: 2329.18
 Range: 1381.76
 Mean: 1289.31147058823

Univariate statistics on randomly sampled data points

In this example, random points are sampled from the elevation map (North Carolina sample dataset) and univariate statistics performed:
g.region raster=elevation -p
v.random output=samples n=100
v.db.addtable samples column="heights double precision"
v.what.rast samples raster=elevation column=heights samples

v.db.univar samples column=heights


db.univar, r.univar, v.univar,, d.vect.thematic, v.random

GRASS SQL interface


Michael Barton, Arizona State University

and authors of (Markus Neteler et al.)


Available at: v.db.univar source code (history)

Latest change: Thursday Feb 03 11:10:06 2022 in commit: 547ff44e6aecfb4c9cbf6a4717fc14e521bec0be

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

© 2003-2023 GRASS Development Team, GRASS GIS 8.2.2dev Reference Manual