v.proj(1grass)

πŸ’… v.proj β€” GRASS User's Manual, but make it a group chat πŸ’…

okay so bestie, this is v.proj, straight out of the GRASS User's Manual. It re-projects a vector map from one project into your current project. That's the whole vibe. Let's get into it. πŸ¦‹


✨ KEYWORDS ✨

vector, projection, transformation, import

that's the tag cloud, purr. πŸ’…


🌸 SYNOPSIS 🌸

v.proj
v.proj --help
v.proj [-lzwb] project=name  [mapset=name]   [input=name]   [dbase=path]
[smax=float]   [output=name]   [pipeline=string]   [--overwrite]
[--help]  [--verbose]  [--quiet]  [--ui]

look at her. iconic. ✨


πŸŽ€ FLAGS πŸŽ€

  • -l β€” lists every vector map that's chillin' in the input mapset, then dips out. just a looky-loo, no reprojecting.
  • -z β€” assumes the z coordinate is an ellipsoidal height and transforms it if it can. 3D vector maps only, so don't get cute with it on 2D stuff.
  • -w β€” turns OFF the wrapping to -180,180 for latlon output. Latlon output only. default is -180,180 btw.
  • -b β€” do NOT build vector topology. genuinely recommended for massive point projection because building topology on a gazillion points is a personal attack.
  • --overwrite β€” lets the output files bulldoze existing files. permission to be messy. πŸ”₯
  • --help β€” prints the usage summary, aka the TL;DR.
  • --verbose β€” verbose module output. she's chatty, we love her.
  • --quiet β€” quiet module output. she's giving peace and quiet. 🀫
  • --ui β€” forces a GUI dialog to launch. fancy.

πŸ’– PARAMETERS πŸ’–

  • project=name [required] β€” the Project (location) that contains your input vector map. heads up: this is the project name, NOT the path to the project. bestie. please. πŸ™ˆ
  • mapset=name β€” the mapset holding your input vector map. default: the name of the current mapset.
  • input=name β€” the name of the input vector map you want re-projected. the moment we've all been waiting for.
  • dbase=path β€” the path to the GRASS database of the input project. default: the path to the current GRASS database.
  • smax=float β€” maximum segment length in meters in the output vector map. this one increases the accuracy of reprojected shapes. you can disable it with smax=0. default: 10000.
  • output=name β€” the name for your output vector map (default: input, so she just clones the name, cute).
  • pipeline=string β€” a PROJ pipeline for the coordinate transformation. if you know, you know (iykyk).

🌈 DESCRIPTION 🌈

so v.proj lets a user convert a vector map living in some specified mapset of some specified project (and yes, it has to be a different project than the one you're in right now) whose CRS comes from the source project...

...into a vector map in your current mapset of the current project, whose CRS is defined by the current project.

and where do those two CRSs live? each one is defined in its own project, periodt. if you wanna view or manage that CRS info, go hit up g.proj. πŸ‘‘

and if you want an actual introduction to map CRSs (and the whole PROJ library situation), go read the manual page of r.proj. she explains it better than me, ngl.


πŸ“ NOTES πŸ“

  • If output isn't specified, it gets set to the same name as the input map. she's a copycat, it's fine.
  • If mapset isn't specified, its name is assumed to be the same as the current mapset's name.
  • If dbase isn't specified, it's assumed to be the current database. you only have to bother typing dbase when the source project lives in a whole other separate GRASS database. πŸ—‚οΈ
  • If smax is set to 0 the automated vertex densification is disabled β€” and girlie, that is not recommended. you have been warned. πŸ’€

v.proj supports general datum transformations, making use of the PROJ co-ordinate system translation library. slay.


⚠️ when projecting into a latlon project, east coordinates get wrapped by the proj4 library to fit into the range -180,180. in most cases this is exactly right, but it CAN cause errors when the input vector crosses the datum line at 180E/W. if that's your situation, you need to disable the wrapping of east coordinates to -180,180 with the -w flag. don't skip this, bestie, it's not a suggestion. 😭

When reprojecting massive point clouds for which topology isn't even necessary, you can set the -b flag to suppress the building of topology of the output map. let her skip the busywork. πŸ™

In order to preserve spatial detail, v.proj performs automated vertex densification. (as an alternative, v.split could be used before reprojecting β€” just saying.) the reason this matters: without vertex densification, depending on the source and target CRS (Coordinate Reference System), geometries can be substantially deformed β€” straight lines become curves, squares become trapezoids, etc. the densification of linear features can help to avoid topological errors. shapes staying shaped is the dream. ✨


🧚 EXAMPLE 🧚

Reprojection of a vector map from another project (and mapset) into the current mapset:

v.proj in=mymap project=latlong mapset=user1

one line. one glow-up. chef's kiss. πŸ‘‘


πŸ“š REFERENCES πŸ“š

  1. Evenden, G.I. (1990) Cartographic projection procedures for the UNIX environment - a user's manual. USGS Open-File Report 90-284 (OF90-284.pdf) See also there: Interim Report and 2nd Interim Report on Release 4, Evenden 1994).
  2. Richards, John A. (1993), Remote Sensing Digital Image Analysis, Springer-Verlag, Berlin, 2nd edition.

PROJ: Projection/datum support library.

Further reading

  • ASPRS Grids and Datum
  • Projections Transform List (PROJ)
  • Coordinate operations by PROJ (projections, conversions, transformations, pipeline operator)
  • MapRef - The Collection of Map Projections and Reference Systems for Europe
  • Information and Service System for European Coordinate Reference Systems - CRS

(the reading list is giving scholar energy. obsessed. πŸŽ“)


πŸ‘€ SEE ALSO πŸ‘€

g.proj, m.proj, r.proj, i.rectify, r.stats, v.sample, v.split, v.surf.idw, v.surf.rst


πŸ’œ AUTHORS πŸ’œ

  • Irina Kosinovsky, US ARMY CERL
  • M.L. Holko, USDA, SCS, NHQ-CGIS
  • R.L. Glenn, USDA, SCS, NHQ-CGIS

legends. absolute icons. 🫢


πŸ”— SOURCE CODE πŸ”—

Available at: v.proj source code (history)

Latest change: Monday Dec 08 21:47:55 2025 in commit: d3c6479bef77a58e3b5d85259303dbfb9c1babe8

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


okay and that's the whole page, bestie β€” this was GRASS 8.5.0, Β© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual. go forth and reproject responsibly. mwah. πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from