r.profile(1)

✨ NAME ✨

okay so this is r.profile(1), straight outta the GRASS GIS User's Manual, and it is literally the girl who reads your raster map along whatever line you tell her to. πŸŽ€

It outputs the raster map layer values lying on user-defined line(s). You draw the line, she hands you the numbers. slay. πŸ’…


πŸ”‘ KEYWORDS πŸ”‘

raster, profile, transect πŸ¦‹


🫢 SYNOPSIS 🫢

r.profile
r.profile --help
r.profile [-gc] input=name  [output=name]
[coordinates=east,north[,east,north,...]]   [file=name]
[resolution=float]   [null_value=string]   [units=string]
[--overwrite]  [--help]  [--verbose]  [--quiet]  [--ui]

🚩 Flags 🚩

  • -g β€” outputs easting and northing in the first two columns of a four column output. four columns, bestie. iconic. ✨
  • -c β€” outputs RRR:GGG:BBB color values for each profile point. cute little colours, obsessed. 🌈
  • --overwrite β€” lets output files overwrite existing files. yes she will eat your old file, that's the whole point πŸ’€
  • --help β€” prints the usage summary. 🫢
  • --verbose β€” verbose module output. she tells you everything. main character energy. πŸ‘‘
  • --quiet β€” quiet module output. she says nothing. mysterious. πŸ™ˆ
  • --ui β€” force launching GUI dialog. pops open a lil window fr fr πŸͺŸ

πŸŽ€ Parameters πŸŽ€

  • input=name [required] β€” name of input raster map. this one is non-negotiable, she needs the map. no map no profile. πŸ’–
  • output=name β€” name of file for output (use output=- for stdout). Default: -
  • coordinates=east,north[,east,north,...] β€” profile coordinate pairs 🧭
  • file=name β€” name of input file containing coordinate pairs. use instead of the 'coordinates' option. "-" reads from stdin. πŸ“
  • resolution=float β€” resolution along profile (default = current region resolution)
  • null_value=string β€” string representing NULL value. Default: *
  • units=string β€” units. if units are not specified, current project units are used. meters are used by default in geographic (latlon) projects. Options: meters, kilometers, feet, miles πŸ“

πŸ’œ DESCRIPTION πŸ’œ

This program outputs two or four column (four when you use -g) data to stdout or to an ASCII file. no cap.

The default two column output is made of the cumulative profile length and the raster value. ✌️

The optional four column output is: easting, northing, cumulative profile length, and raster value. she's giving organised.

Profile end or "turning" points can be set manually with the coordinates argument. 🧭 The profile resolution β€” that's the distance between profile points β€” is obtained from the current region resolution, or you can manually set it with the resolution argument.

The coordinates parameter can be set to comma separated geographic coordinates for the profile line endpoints. Alternatively the coordinate pairs can be piped from the text file specified by the file option, or if that's set to "-", from stdin. In these cases the coordinate pairs should be given one comma separated pair per line. 🫢

The resolution parameter sets the distance between each profile point (resolution). The resolution must be provided in GRASS database units (i.e. decimal degrees for Lat Long databases and meters for UTM). By default r.profile uses the resolution of the current GRASS region. πŸ“

The null parameter can optionally be set to change the character string representing null values. πŸ’€


πŸ“Š OUTPUT FORMAT πŸ“Š

The multi column output from r.profile is intended for easy use in other programs. The output can be piped (|) directly into other programs or saved to a file for later use. Output with geographic coordinates (-g) is compatible with v.in.ascii and can be piped directly into this program. πŸ”₯

r.profile -g input=elevation coordinates=... | v.in.ascii output=elevation_profile separator=space

The 2 column output is compatible with most plotting programs. πŸ“ˆ

The optional RGB output provides the associated GRASS colour value for each profile point. 🌈

Option units enables you to set units of the profile length output. If the units are not specified, the current coordinate reference system's units will be used. In case of geographic CRS (latitude/longitude), meters are used as the default unit. πŸ“


πŸ“ NOTES πŸ“

The profile resolution is measured exactly from the supplied end or "turning" point along the profile. The end of a profile segment will be an exact multiple of the profile resolution and will therefore not always match the end point coordinates entered for the segment. yeah. she rounds. that's just who she is. πŸ’…

To extract the numbers in scripts, the following parameters can be used: πŸ› οΈ

r.profile input=dgm12.5 coordinates=3570631,5763556 2>/dev/null

This filters out everything except the numbers. just the numbers, bestie. ✨


🌸 EXAMPLES 🌸

Extraction of values along profile defined by coordinates (variant 1)

Extract a profile with coordinates (waypoints) provided on the command line (North Carolina data set): πŸ—ΊοΈ

g.region raster=elevation -p
r.profile -g input=elevation output=profile_points.csv \
          coordinates=641712,226095,641546,224138,641546,222048,641049,221186

This will extract a profile along the track defined by the three coordinate pairs. The output file "profile_points.csv" contains east,north,distance,value (here: elevation). πŸ”οΈ

Extraction of values along profile defined by coordinates (variant 2)

Coordinate pairs can also be "piped" into r.profile (variant 2a):

r.profile elevation resolution=1000 file=- << EOF
641712,226095
641546,224138
641546,222048
641049,221186
EOF

Coordinate pairs can also be "piped" into r.profile (variant 2b):

echo "641712,226095
641546,224138
641546,222048
641049,221186" > coors.txt
cat coors.txt | r.profile elevation resolution=1000 file=-

The output is printed into the terminal (unless the output parameter is used) and looks as follows:

Using resolution: 1000 [meters]
Output columns:
Along track dist. [meters], Elevation
Approx. transect length: 1964.027749 [meters]
 0.000000 84.661507
 1000.000000 98.179062
Approx. transect length: 2090.000000 [meters]
 1964.027749 83.638138
 2964.027749 89.141029
 3964.027749 78.497757
Approx. transect length: 995.014070 [meters]
 4054.027749 73.988029

she ate that ngl 😭✨


πŸ‘€ SEE ALSO πŸ‘€

v.in.ascii, r.what, r.transect, wxGUI profile tool


πŸ‘‘ AUTHOR πŸ‘‘

Bob Covill


πŸ’Ύ SOURCE CODE πŸ’Ύ

Available at: r.profile source code (history) 🫢

Accessed: Saturday Jan 17 05:40:55 2026

Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual


okay bestie that's the whole page, every last flag and number, no cap. πŸ’–

and that's the tea from GRASS 8.4.2 β€” r.profile(1), manual page r.profile(1), signed off with love. bye bestie, go profile something pretty πŸ¦‹πŸ’…βœ¨

πŸ“¦ where this page comes from