[GRASS-user] Specify map name in various modules

Rich Shepard rshepard at appl-ecosys.com
Sat Oct 1 10:43:46 PDT 2016


   Germane to my off-list message to Markus about using a single term for all
inputs to a module,

On Thu, 29 Sep 2016, Markus Neteler wrote:

> In the "big GRASS GIS 7.0.0 cleanup" some years ago we attempted to
> streamline this as much as possible. The outcome of this huge work is
> documented here:

> For the wish, please keep in mind:
> - flags and parameters can usually only changed in a major release
> (so, for GRASS GIS 8)
> - importantly, there is the issue with multiple input names (see below).
>
> AFAIR the main rules are
> - if only one input, it is called "map"
> - if output exists, the input is called "input"
> - if multiple input exist, then specific parameter names are used.
> - keep as much consistency as possible.

> Examples for multiple input names ("map" would be ambigous):
> - https://grass.osgeo.org/grass72/manuals/r.random.html: input + cover
>   - likewise r.statistics, r.univar etc.
> - https://grass.osgeo.org/grass72/manuals/r.slope.aspect.html (here
> input is "elevation")
> - https://grass.osgeo.org/grass72/manuals/v.vol.rst.html (multiple input maps)
> - many more
>
> At least I can assure you that this has been discussed a lot for the
> 7.0.0 release. That said, nothing is set in stone. Obviously most
> things can be improved again, so please feel free to suggest on the
> list. For sure an important discussion.

   Per Markus' request I'm posting my response to the list.

   I suggest that by overthinking subtle semantics the multiple terms for
input maps trips up all users from time to time. Consider v.overlay: it has
two input maps ainput and binput. So why would it necessary for a single
input to be called 'map' or 'elevation' or something else? Seems to me that
input is input regardless of the number or types of maps that need to feed
the module. There's only a single 'output' regardless of type (or number, I
suppose).

   Anyway, I'm proposing that as modules are updated the input(s) names are
changed to 'input.' There could be ainput and binput, or more if needed.
Makes life much simpler. And, search-and-replace could bring all modules and
scripts to use this same name without breaking anything (or so I assume).

   Simplification makes it easier for everyone, new or experienced.

Rich


More information about the grass-user mailing list