[GRASS-dev] g.mapsets, print only accessible mapsets

Glynn Clements glynn at gclements.plus.com
Thu Mar 20 23:41:31 EDT 2008

Martin Landa wrote:

> >  > is there a way how to determine if a mapset is accessible without need
> >  > to switch 'g.mapset name' -> 'ERROR: You don't have permission to use
> >  > this mapset'. If not maybe new flag for g.mapsets would make sense?
> >  >
> >  > -a 'List all accessible mapsets'
> >
> > At the C level, G__mapset_permissions() and G__mapset_permissions2()
> >  determines whether or not a specific mapset can be used as the current
> >  mapset (i.e. it's a directory, and you own it).
> >
> >  AFAIK, there isn't a user command to determine this. If it's useful,
> >  it really belongs in g.mapset rather than g.mapsets, as the former
> >  deals with the current mapset (used for output) while the latter deals
> >  with the mapsets used for input.
> I think it would be useful, at least for creating list of mapsets in
> GUI start-up screen. Currently is used 'g.mapsets -l' which prints all
> mapsets in the location. I don't fully understand here, why g.mapsets
> is not good place for that.

"g.mapsets -l" displays a list of mapsets which are suitable for use
as values in g.mapsets' mapset= and addmapset= options.

You are essentially asking about mapsets which are suitable for use as
values in the mapset= option of g.mapset[1]. The logical place for
such an option is in g.mapset.

[1] init.sh/init.bat have their own built-in clone of g.mapset. It
would be worth looking into whether they can be changed to use
g.mapset instead.

There is a great deal of asymmetry between output and input; the
current mapset and the mapset search path are really very different
entities. g.mapset deals exclusively with the former, g.mapsets deals
exclusively with the latter.

And the option which you're proposing is related to the former.

> g.mapsets -l -> prints *all* mapsets
> g.mapsets -a -> print only *accessible* mapset

"accessible" is the wrong word here. You can "access" any mapset for
which you have read permission.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list