r.buffer.lowmem(1grass)

πŸ’– r.buffer.lowmem πŸ’–

okay bestie, gather round, because this is the low-memory queen of raster buffering and she is lowkey iconic ✨

This page is the manual for r.buffer.lowmem from GRASS, and it lives in the raster + buffer keyword corner of the world πŸŽ€


✨ NAME ✨

r.buffer.lowmem β€” creates a raster map showing buffer zones surrounding cells that contain non-NULL category values.

And she's the low-memory alternative to the classic r.buffer module 🌈 no cap.

🏷️ KEYWORDS 🏷️

raster, buffer


🌸 SYNOPSIS 🌸

r.buffer.lowmem
r.buffer.lowmem --help
r.buffer.lowmem [-z] input=name output=name distances=float[,float,...]
[units=string]   [--overwrite]  [--help]  [--verbose]  [--quiet]  [--ui]

🚩 Flags 🚩

  • -z β€” ignore zero (0) data cells instead of NULL cells. it's giving "zeros don't count" energy πŸ’…
  • --overwrite β€” allow output files to overwrite existing files πŸ™ˆ (yes she will absolutely eat your old file, be warned)
  • --help β€” print usage summary 🫢
  • --verbose β€” verbose module output (she gets chatty)
  • --quiet β€” quiet module output (she goes mute)
  • --ui β€” force launching GUI dialog ✨

πŸŽ€ Parameters πŸŽ€

  • input=name [required] β€” name of input raster map. bestie this one is not optional, she needs the tea πŸ“
  • output=name [required] β€” name for output raster map. also required, no skipping πŸ’œ
  • distances=float[,float,...] [required] β€” distance zone(s). required, and yes you can pass a whole comma list, she's flexible like that
  • units=string β€” units of distance 🌸
    • Options: meters, kilometers, feet, miles, nautmiles
    • Default: meters

πŸ¦‹ DESCRIPTION πŸ¦‹

So r.buffer.lowmem creates a new raster map showing buffer zones (a.k.a. "distance" or "proximity" zones, iykyk) around all cells that contain non-NULL category values in an existing raster map. The distances of buffer zones from cells with non-zero category values are, and I cannot stress this enough, user-chosen πŸ‘‘

This is the low-memory alternative to the classic r.buffer module. And listen β€” she is much slower than the classic version, fr fr. But the tradeoff? She will run on massive raster maps without using a lot of RAM πŸ’€ She's the main character who shows up late but gets it done.

Real talk: if your raster map is larger than 32000x32000 cells on a system with 1 GB of RAM, or larger than 90000x90000 cells on a system with 8 GB of RAM, consider using this module. That's the vibe check right there πŸ“

For more info see manual of r.buffer.


⭐ EXAMPLE ⭐

In the following example, the buffer zones would be (in the default units of meters): 0-100, 101-200, 201-300, 301-400 and 401-500. obsessed with the range πŸ’–

r.buffer.lowmem input=roads output=roads.buf distances=100,200,300,400,500

Result:

r.category input=roads.buf
      1       distances calculated from these locations
      2       0-100 meters
      3       100-200 meters
      4       200-300 meters
      5       300-400 meters
      6       400-500 meters

look at those category labels slaying in a neat little column πŸ˜­πŸ’…


πŸ‘€ SEE ALSO πŸ‘€

g.region, r.buffer, r.cost, r.grow.distance, r.mapcalc, r.reclass, v.buffer

the whole friend group fr fr 🫢


πŸ’œ AUTHORS πŸ’œ

  • Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
  • James Westervelt, U.S. Army Construction Engineering Research Laboratory
  • Low-memory Python version by Glynn Clements

absolute legends, we stan πŸ™Œ


🧚 SOURCE CODE 🧚

Available at: r.buffer.lowmem source code (history)

Latest change: Thursday May 22 03:42:15 2025 in commit: 370bcb0490b421ac90b2dbe5766af9512cb08f92

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



and that's the whole page, babe πŸ’– thanks for reading all the way to the bottom, you're literally the best. this was Β© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual, and the page itself is r.buffer.lowmem(1grass) β€” periodt πŸŽ€πŸŒˆβœ¨

πŸ“¦ where this page comes from