v.info(1grass)
β¨ v.info(1grass) β¨
okay bestie, welcome to v.info from the GRASS User's Manual β she's the girl who just tells you things about a vector map. like, all the things. metadata, topology, extent, history, columns, the whole vibe check π«Ά
πΈ NAME πΈ
v.info β Outputs basic information about a vector map. no cap, that's literally her entire job π
π KEYWORDS π
vector, metadata, topology, extent, history, attribute columns, level1
π¦ SYNOPSIS π¦
v.info
v.info --help
v.info [-chegt] map=name [layer=string] [format=name] [--help]
[--verbose] [--quiet] [--ui]
β¨ Flags β¨
-cβ Print attribute table columns instead of info. Column names and types are printed for the specified layer if it has an attribute table database connection. (iykyk, this one needs a DB link first!)-hβ Print data history instead of info. her little diary entry π-eβ Print only metadata info-gβ Print only region info-tβ Print only topology info--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:1format=nameβ Output format. Options:plain,shell,json,csvplain: Human readable text outputshell: shell script style text outputjson: JSON (JavaScript Object Notation)csv: CSV (Comma Separated Values)
π DESCRIPTION π
v.info reports some basic information (metadata) about a user-specified vector map and its topology status. it's giving receipts π
If topology info is not available (i.e., vector map cannot be opened on level 2), vector map extends and number of features need to be counted on the fly which may take some time. so likeβ¦ be patient, she's doing cardio π
Note that the flag-conly works when the vector map is connected to one or several attribute table(s). This connection can be shown or set withv.db.connect. no link, no columns, periodt.
π EXAMPLE π
β Basic metadata information β
v.info map=geology
+----------------------------------------------------------------------------+
| Name: geology |
| Mapset: PERMANENT |
| Project: nc_spm_08 |
| Database: /home/martin/grassdata |
| Title: North Carolina geology map (polygon map) |
| Map scale: 1:1 |
| Map format: native |
| Name of creator: helena |
| Organization: NC OneMap |
| Source date: Mon Nov 6 15:48:53 2006 |
|----------------------------------------------------------------------------|
| Type of map: vector (level: 2) |
| |
| Number of points: 0 Number of centroids: 1832 |
| Number of lines: 0 Number of boundaries: 3649 |
| Number of areas: 1832 Number of islands: 907 |
| |
| Map is 3D: No |
| Number of dblinks: 1 |
| |
| Projection: Lambert Conformal Conic |
| |
| N: 318117.43741634 S: 10875.82723209 |
| E: 930172.31282271 W: 123971.19498978 |
| |
| Digitization threshold: 0 |
| Comment: |
| |
+----------------------------------------------------------------------------+
it's a whole mood board of numbers, and we're obsessed π
π Map history π
v.info -h map=geology
COMMAND: v.in.ogr input="geol.shp" output="geology" min_area=0.0001 snap=-1
GISDBASE: /bigdata/grassdata05
LOCATION: ncfromfile MAPSET: PERMANENT USER: helena DATE: Mon Nov 6 15:48:53 2006
---------------------------------------------------------------------------------
1832 input polygons
total area: 1.276093e+11 (1832 areas)
overlapping area: 0.000000e+00 (0 areas)
area without category: 0.000000e+00 (0 areas)
---------------------------------------------------------------------------------
Note that while "project" is used by v.info elsewhere, history output uses the legacy term "location" because "LOCATION" is currently a part of the native vector format. she's multilingual, okay? legacy terms are iconic too π
π Attribute columns for given layer π
v.info -c map=geology
Displaying column types/names for database connection of layer <1>:
INTEGER|cat
DOUBLE PRECISION|onemap_pro
DOUBLE PRECISION|PERIMETER
INTEGER|GEOL250_
INTEGER|GEOL250_ID
CHARACTER|GEO_NAME
DOUBLE PRECISION|SHAPE_area
DOUBLE PRECISION|SHAPE_len
π Basic metadata information in shell script style π
v.info -get map=geology
name=geology
mapset=PERMANENT
project=nc_spm_08
database=/home/martin/grassdata
title=North Carolina geology map (polygon map)
scale=1:1
format=native
creator=helena
organization=NC OneMap
source_date=Mon Nov 6 15:48:53 2006
level=2
map3d=0
num_dblinks=1
projection=Lambert Conformal Conic
digitization_threshold=0.000000
comment=
north=318117.43741634
south=10875.82723209
east=930172.31282271
west=123971.19498978
top=0.000000
bottom=0.000000
nodes=4556
points=0
lines=0
boundaries=3649
centroids=1832
areas=1832
islands=907
primitives=5481
also, if you only want the region:
v.info -g map=geology
north=318117.43741634
south=10875.82723209
east=930172.31282271
west=123971.19498978
top=0.000000
bottom=0.000000
π¦ Output in JSON format π¦
{
"name": "geology",
"mapset": "PERMANENT",
"project": "nc_spm_08_grass7",
"database": "\/grassdata",
"title": "North Carolina geology map (polygon map)",
"scale": 1,
"creator": "helena",
"organization": "NC OneMap",
"source_date": "Mon Nov 6 15:48:53 2006",
"timestamp": null,
"format": "native",
"level": 2,
"num_dblinks": 1,
"attribute_layer_number": 1,
"attribute_layer_name": "geology",
"attribute_database": "\/grassdata\/nc_spm_08_grass7\/PERMANENT\/sqlite\/sqlite.db",
"attribute_database_driver": "sqlite",
"attribute_table": "geology",
"attribute_primary_key": "cat",
"projection": "Lambert Conformal Conic",
"digitization_threshold": 0,
"comment": "",
"north": 318117.43741634465,
"south": 10875.827232091688,
"east": 930172.31282271142,
"west": 123971.19498978264,
"top": 0,
"bottom": 0,
"nodes": 2724,
"points": 0,
"lines": 0,
"boundaries": 3649,
"centroids": 1832,
"areas": 1832,
"islands": 907,
"primitives": 5481,
"map3d": false
}
π§ PYTHON π§
See Python Scripting Library for more info.
Note: The Python tab in the wxGUI can be used for entering the following code:
import grass.script as gcore
gcore.vector_columns(βgeologyβ) # for `v.info -c`
gcore.vector_info_topo(βgeologyβ) # for `v.info shell=topo`
Here is an example of how the JSON output format can be used to integrate Grass with other python libraries easily.
import grass.script as gs
import pandas as pd
# Run v.info command
busstops = gs.run_command("v.info", map="busstopsall", format="json")
# Load data into dataframe
df = pd.DataFrame([busstops])
# Display the DataFrame
print(df)
pandas crossover episode?? we love a collab π₯
π SEE ALSO π
r.info, r3.info, t.info, v.db.connect
π AUTHORS π
- Original author CERL
- Updated to GRASS 6 by Radim Blazek, ITC-Irst, Trento, Italy
- Level 1 support by Markus Metz
- Updated to GRASS 7 by Martin Landa, CTU in Prague, Czech Republic
β SOURCE CODE β
Available at: v.info source code (history)
Latest change: Tuesday Jan 13 08:42:22 2026 in commit: 80d95ef5610e685bc119c1243021ab4d5c415bca
Main index | Vector index | Topics index | Keywords index | Graphical index | Full index
okay that's the whole page bestie, you ate that π
β¨ this was v.info from the GRASS 8.5.0 Reference Manual, Β© 2003-2026 GRASS Development Team, and that's on periodt ππ«Άπ
π¦ where this page comes from
- alpine 3.24: grass-gis-doc 8.5.0-r1 Β· GPL-2.0-or-later
- ubuntu stonking: grass-doc 8.5.0-1ubuntu1 Β· 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