v.vect.stats(1grass) | Grass User's Manual | v.vect.stats(1grass) |
v.vect.stats - Count points in areas, calculate statistics from point attributes.
vector, attribute table, database, univariate statistics, zonal statistics
v.vect.stats
v.vect.stats --help
v.vect.stats [-p] points=name
areas=name [type=string[,string,...]]
[points_layer=string] [points_cats=range]
[points_where=sql_query] [areas_layer=string]
[areas_cats=range] [areas_where=sql_query]
[method=string] [points_column=name]
[count_column=name] [stats_column=name]
[separator=character] [--help] [--verbose]
[--quiet] [--ui]
v.vect.stats counts the number of points in vector map points falling into each area in vector map areas. Optionally statistics on point attributes in points are calculated for each area. The results are either uploaded to the attribute table of the vector map areas or printed to stdout.
Statistical Methods: Using numeric attribute values of all points falling into a given area, a new value is detmined with the selected method. v.vect.stats can perform the following operations:
Points not falling into any area are ignored. Areas without category (no centroid attached or centroid without category) are ignored. If no points are falling into a given area, the point count is set to 0 (zero) and the statistics result to "null".
The columns count_column and stats_column are created if not existing. If they do already exist, the count_column must be of type integer and the stats_column of type double precision.
The subsequent examples are based on randomly sampled elevation
data (North Carolina sample database):
# work on map copy for attribute editing g.copy vector=zipcodes_wake,myzipcodes_wake # set computational region: extent of ZIP code map, raster pixels # aligned to raster map g.region vector=myzipcodes_wake align=elev_state_500m -p # generate random elevation points r.random elev_state_500m vector=rand5000 n=5000 v.colors rand5000 color=elevation # visualization d.mon wx0 d.vect myzipcodes_wake -c d.vect rand5000
These vector maps are used for the examples below.
See above for the creation of the input maps.
Counting points per polygon, print results to terminal:
v.vect.stats points=rand5000 area=myzipcodes_wake -p
See above for the creation of the input maps.
Counting of points per polygon, with update of
"num_points" column (will be automatically created):
v.vect.stats points=rand5000 area=myzipcodes_wake count_column=num_points # verify result v.db.select myzipcodes_wake column=ZIPCODE_,ZIPNAME,num_points
See above for the creation of the input maps.
Calculation of average point elevation per ZIP code polygon,
printed to terminal in comma separated style:
# check name of point map column: v.info -c rand5000 v.vect.stats points=rand5000 area=myzipcodes_wake \
method=average points_column=value separator=comma -p
See above for the creation of the input maps.
Calculation of average point elevation per ZIP code polygon, with
update of "avg_elev" column and counting of points per polygon,
with update of "num_points" column (new columns will be
automatically created):
# check name of point map column: v.info -c rand5000 v.vect.stats points=rand5000 area=myzipcodes_wake count_column=num_points \
method=average points_column=value stats_column=avg_elev # verify result v.db.select myzipcodes_wake column=ZIPCODE_,ZIPNAME,avg_elev
The grid extent and size is influenced by the current
computational region. The extent is based on the vector map
points_of_interest from the basic North Carolina sample dataset.
g.region vector=points_of_interest res=2000 -pa
The hexagonal grid is created using the v.mkgrid module as
a vector map based on the previously selected extent and size of the grid.
v.mkgrid map=hexagons -h
The v.vect.stats module counts the number of points and
does one statistics on a selected column (here: elev_m).
v.vect.stats points=points_of_interest areas=hexagons method=average \
points_column=elev_m count_column=count stats_column=average
User should note that some of the points may be outside the grid
since the hexagons cannot cover all the area around the edges (the
computational region extent needs to be enlarged if all points should be
considered). The last command sets the vector map color table to viridis
based on the count column.
v.colors map=hexagons use=attr column=average color=viridis
Point statistics in a hexagonal grid (count of points, average of values associated with point, standard deviation)
v.distance, r.distance, v.rast.stats, v.what.vect, v.mkgrid
Markus Metz
Last changed: $Date: 2016-08-23 04:00:20 +0200 (Tue, 23 Aug 2016) $
Available at: v.vect.stats source code (history)
Main index | Vector index | Topics index | Keywords index | Graphical index | Full index
© 2003-2019 GRASS Development Team, GRASS GIS 7.6.0 Reference Manual
GRASS 7.6.0 |