v.univar(1)
β¨ v.univar β¨
okay bestie, gather round, because we're doing v.univar β that's the GRASS GIS User's Manual page, and it's lowkey one of the most useful lil vector tools in the whole toolbox π
It calculates univariate statistics of vector map features. And here's the tea: variance and standard deviation only get calculated for points if you specify them. iykyk.
πΈ KEYWORDS πΈ
vector, statistics, univariate statistics, attribute table, geometry
π SYNOPSIS π
v.univar
v.univar --help
v.univar [-gewd] map=name [layer=string] [type=string[,string,...]]
[column=name] [where=sql_query] [percentile=integer] [--help]
[--verbose] [--quiet] [--ui]
π Flags:
-gβ Print the stats in shell script style π-eβ Calculate extended statistics β¨-wβ Weigh by line length or area size βοΈ-dβ Calculate geometric distances instead of attribute statistics π--helpβ Print usage summary π--verboseβ Verbose module output π£οΈ--quietβ Quiet module output π€«--uiβ Force launching GUI dialog π₯οΈ
π¦ Parameters:
map=name[required] β Name of vector map. Or data source for direct OGR access.layer=stringβ 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:1type=string[,string,...]β Input feature type. Options:point,line,boundary,centroid,area. Default:point,line,areacolumn=nameβ Name of attribute columnwhere=sql_queryβ WHERE conditions of SQL statement without 'where' keyword. Example:income < 1000 and population >= 10000percentile=integerβ Percentile to calculate (requires extended statistics flag). Options:0-100. Default:90
π DESCRIPTION π
So v.univar calculates univariate statistics on β by default β an attribute of vector map features, or, if you hit that -d flag, on the distance between vector map features. Obsessed.
Attributes get read per feature and per category value. Which means: if your map has several features all sharing the same category value, the attribute gets read as many times as there are features. No dedup, bestie. On the flip side, if a feature has more than one category value, then each attribute value linked to each of those category values gets read too. π«Ά
If you want statistics on one attribute per category value instead of one attribute per feature and per category, go check out v.db.univar instead. Different vibe, different tool.
Extended statistics (-e) adds median, 1st and 3rd quartiles, and the 90th percentile to the output. So iconic of it.
π₯ NOTES π₯
When you use the -d flag, univariate statistics of distances between vector features get calculated. The distances from all features to all other features are used. And since the distance from feature A to feature B is the same as the distance from feature B to feature A, that distance is only counted once β i.e. all pairwise distances between features are used. π«
Depending on the selected vector type, distances are calculated like this:
type=point: point distances are consideredtype=line: line to line distances are consideredtype=area: not supported β usetype=centroidinstead (and peepv.distancefor calculating distances between areas)
π EXAMPLES π
The examples are based on the North Carolina sample dataset. Classic.
π Example dataset preparation
g.region raster=elevation -p
v.random output=samples npoints=100
v.db.addtable map=samples columns="heights double precision"
v.what.rast map=samples rast=elevation column=heights
v.db.select map=samples
π§ Calculate height attribute statistics
v.univar -e samples column=heights type=point
number of features with non NULL attribute: 100
number of missing attributes: 0
number of NULL attributes: 0
minimum: 57.2799
maximum: 148.903
range: 91.6235
sum: 10825.6
mean: 108.256
mean of absolute values: 108.256
population standard deviation: 20.2572
population variance: 410.356
population coefficient of variation: 0.187123
sample standard deviation: 20.3593
sample variance: 414.501
kurtosis: -0.856767
skewness: 0.162093
1st quartile: 90.531
median (even number of cells): 106.518
3rd quartile: 126.274
90th percentile: 135.023
β Compare to statistics of original raster map
r.univar -e elevation
total null and non-null cells: 2025000
total null cells: 0
Of the non-null cells:
----------------------
n: 2025000
minimum: 55.5788
maximum: 156.33
range: 100.751
mean: 110.375
mean of absolute values: 110.375
standard deviation: 20.3153
variance: 412.712
variation coefficient: 18.4057 %
sum: 223510266.558102
1st quartile: 94.79
median (even number of cells): 108.88
3rd quartile: 126.792
90th percentile: 138.66
π Calculate statistic of distance between sampling points
v.univar -d samples type=point
number of primitives: 100
number of non zero distances: 4851
number of zero distances: 0
minimum: 69.9038
maximum: 18727.7
range: 18657.8
sum: 3.51907e+07
mean: 7254.33
mean of absolute values: 7254.33
population standard deviation: 3468.53
population variance: 1.20307e+07
population coefficient of variation: 0.478132
sample standard deviation: 3468.89
sample variance: 1.20332e+07
kurtosis: -0.605406
skewness: 0.238688
π SEE ALSO π
db.univar, r.univar, v.db.univar, v.distance, v.neighbors, v.qcount
π AUTHORS π
Radim Blazek, ITC-irst
extended by: Hamish Bowman, University of Otago, New Zealand Martin Landa
π§ SOURCE CODE π§
Available at: v.univar source code (history)
Accessed: Saturday Jan 17 05:41:32 2026
Main index | Vector index | Topics index | Keywords index | Graphical index | Full index
and that's a wrap, bestie π«Ά this page came straight out of the GRASS GIS 8.4.2 Reference Manual, Β© 2003-2025 GRASS Development Team β no cap, slay, periodt π β¨π
π¦ where this page comes from
- fedora 44: grass 8.4.2-4.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms