vectorascii(1grass)
π vectorascii β GRASS ASCII vector format specification π
okay bestie, this is vectorascii from the GRASS User's Manual, section 1grass, and it's literally just the whole β¨specβ¨ for the GRASS ASCII vector format. no cap. let's get into it π
π DESCRIPTION π
So a vector map in GRASS's native vector format can be a whole lil mix of primitives, like: points, lines, boundaries, centroids, areas, faces, and kernels. π«Ά And the GRASS ASCII vector format? It can also have a header with all kinds of metadata (peep the example below for the vibe).
The header is lowkey similar to the head file of the vector binary format, except it also carries the bounding box. the key words are:
ORGANIZATION
DIGIT DATE
DIGIT NAME
MAP NAME
MAP DATE
MAP SCALE
OTHER INFO
ZONE
WEST EDGE
EAST EDGE
SOUTH EDGE
NORTH EDGE
MAP THRESH
Then the body starts with this row:
VERTI:
followed by records of primitives:
TYPE NUMBER_OF_COORDINATES [NUMBER_OF_CATEGORIES]
X Y [Z]
....
X Y [Z]
[ LAYER CATEGORY]
....
[ LAYER CATEGORY]
everything sitting in [ ] is optional, iykyk. π
π the primitive codes π
'P'β point'L'β line'B'β boundary'C'β centroid'F'β face (3D boundary)'K'β kernel (3D centroid)'A'β area (boundary) β better use'B'; kept only for backward compatibility
The coordinates get listed following that initial line containing the primitive code, the total number of coordinates in the series, and (optionally) the number of categories (1 for a single layer, higher for multiple layers). Below that, 1 or several lines follow to indicate the layer number and the category number (ID). β
The order of coordinates is
X Y [Z]
but in pre-GRASS 6 versions of the ASCII format the order of coordinates was different:
Y X
Latitude/Longitude data may be given in a number of ways, fr fr. Decimal degrees must be positive or negative instead of using a hemisphere letter. Mixed coordinates must use a hemisphere letter. Whole minutes and seconds must always contain two digits β like, use 167:03:04.567; and not 167:3:4.567. no arguing π
Acceptable formats β key: D=Degrees; M=Minutes; S=Seconds; h=Hemisphere (N,S,E,W)
(+/-)DDD.DDDDDDDDhDDD:MMhDDD:MM.MMMMMhDDD:MM:SShDDD:MM:SS.SSSSSh
β¨ EXAMPLES β¨
ORGANIZATION: GRASS Development Team
DIGIT DATE: 1/9/2005
DIGIT NAME: -
MAP NAME: test
MAP DATE: 2005
MAP SCALE: 10000
OTHER INFO: Test polygons
ZONE: 0
MAP THRESH: 0.500000
VERTI:
B 6
5958812.48844435 3400828.84221011
5958957.29887089 3400877.11235229
5959021.65906046 3400930.7458436
5959048.47580612 3400973.65263665
5959069.92920264 3401032.64947709
5958812.48844435 3400828.84221011
C 1 1
5958952.42189184 3400918.23126419
1 20
B 4
5959010.9323622 3401338.36037757
5959096.7459483 3401370.54047235
5959091.38259917 3401450.99070932
5959010.9323622 3401338.36037757
C 1 1
5959063.08352122 3401386.98533277
1 21
so in this case the vector map contains 2 boundaries (first boundary with 6 vertices, second with 4 vertices) without category, and 2 centroids with category number 20 and 21 (layer 1). iconic behavior honestly π
π SEE ALSO π
v.in.ascii, v.out.ascii, v.edit, v.support
πΎ SOURCE CODE πΎ
Available at: GRASS ASCII vector format specification source code (history)
Accessed: Friday May 08 10:38:23 2026
Main index | Vector index | Topics index | Keywords index | Graphical index | Full index
Β© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual
and that's the whole thing bestie, we ate and left zero crumbs ππΈβ¨ this was vectorascii(1grass) from GRASS 8.5.0 β go forth and ASCII-fy your vectors, ily π¦π
π¦ 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