r.li.mpa(1grass)

πŸ’– r.li.mpa πŸ’–

okay bestie, gather round, because we're talking about r.li.mpa from the GRASS User's Manual (that's the 1grass manual section, iykyk) β€” it calculates mean pixel attribute index on a raster map ✨


🌸 KEYWORDS 🌸

raster, landscape structure analysis, patch index β€” yes she's a landscape-structure-analysis girlie πŸ¦‹


✨ SYNOPSIS ✨

r.li.mpa
r.li.mpa --help
r.li.mpa input=name config=name output=name  [--overwrite]  [--help]
[--verbose]  [--quiet]  [--ui]

πŸŽ€ Flags:

  • --overwrite β€” bestie this lets output files overwrite existing files, so like, be aware πŸ‘€
  • --help β€” prints the usage summary, your little cheat sheet πŸ’…
  • --verbose β€” verbose module output, she's chatty and we love that
  • --quiet β€” quiet module output, she's giving mysterious 🀫
  • --ui β€” forces the GUI dialog to launch, for the visual learners πŸ–₯️

🧚 Parameters:

  • input=name [required] β€” name of input raster map, no skips allowed
  • config=name [required] β€” configuration file, also required, periodt
  • output=name [required] β€” name for output raster map, yep required too

πŸ‘‘ DESCRIPTION πŸ‘‘

r.li.mpa (mean pixel attribute) crunches the average value of the attribute of all the non-null cells in the sampling area, like this:

with:

  • i: attribute
  • m: number of non-null attributes in the sampling area
  • wi: number of cells of attribute i
  • size: size of sampling area (in cells)

there she is, the math, the moment, the whole vibe πŸ“βœ¨


πŸ’€ NOTES πŸ’€

  • 🚫 Do not use absolute path names for the config and output file/map parameters. Just don't, bestie.
  • If the "moving window" method was selected in g.gui.rlisetup, then the output will be a raster map β€” otherwise an ASCII file will be generated in the folder C:\Users\userxy\AppData\Roaming\GRASS8\r.li\output\ (MS-Windows) or $HOME/.grass8/r.li/output/ (GNU/Linux).
  • If the input raster map contains only NULL values then r.li.mpa considers to have 0 patches.
  • If area is 0 r.li.mpa returns -1; it is possible only if the raster is masked. (the masking really said "not today" πŸ™ˆ)
  • If you want to change these -1 values to NULL, run subsequently on the resulting map:
r.null setnull=-1 input=my_map

after index calculation. do it after, not before, okay? timing is everything πŸ’…


🌈 EXAMPLES 🌈

To calculate the mean pixel attribute index on map my_map, using my_conf configuration file (previously defined with g.gui.rlisetup) and saving results in my_out, run:

r.li.mpa input=my_map conf=my_conf output=my_out

Forest map (Spearfish sample dataset) example:

g.region raster=landcover.30m -p
r.mapcalc "forests = if(landcover.30m >= 41 && landcover.30m <= 43,1,null())"
r.li.mpa input=forests conf=movwindow7 out=forests_mpa_mov7
r.univar forests_mpa_mov7

Forest map (North Carolina sample dataset) example:

g.region raster=landclass96 -p
r.mapcalc "forests = if(landclass96 == 5, 1, null() )"
r.li.mpa input=forests conf=movwindow7 out=forests_mpa_mov7
# verify
r.univar forests_mpa_mov7
r.to.vect input=forests output=forests type=area
d.mon wx0
d.rast forests_mpa_mov7
d.vect forests type=boundary

she ate that entire workflow, no crumbs, no cap πŸ”₯


🫢 SEE ALSO 🫢

  • r.li (package overview)
  • g.gui.rlisetup

go read those too, they're the supporting cast and they deserve their flowers 🌸


πŸ“ REFERENCES πŸ“

McGarigal, K., and B. J. Marks. 1995. FRAGSTATS: spatial pattern analysis program for quantifying landscape structure. USDA For. Serv. Gen. Tech. Rep. PNW-351. (PDF)

yes we cite our sources, academic integrity is main character energy ⭐


πŸ’œ AUTHORS πŸ’œ

  • Serena Pallecchi, student of Computer Science University of Pisa (Italy).
  • Commission from Faunalia Pontedera (PI), Italy (www.faunalia.it)
  • Markus Metz

shoutout to the icons who built this πŸ’–


πŸ”₯ SOURCE CODE πŸ”₯

Available at: r.li.mpa source code (history)

Latest change: Friday Apr 17 01:04:26 2026 in commit: 32a143358df26b2e518b03c7e0d79541e8d1e5b1

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


and that's the whole page bestie πŸŽ€ this was pulled from the GRASS 8.5.0 Reference Manual, Β© 2003-2026 GRASS Development Team, and the last time anybody touched this commit was Friday Apr 17 01:04:26 2026 β€” so it's fresh, it's current, it's giving maintained. go calculate some mean pixel attributes, ily, bye πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from