A mapset holds a distinct set of data layers, each relevant to the same (or a subset of the same) geographic region, and each drawn in the same map coordinate system. At the outset of every GRASS session, the user identifies a GRASS data base, location, and mapset that are to be the user's current data base, current location, and current mapset for the duration of the session; any maps created by the user during the session will be stored under the current mapset set at the session's outset (see g.mapset [without an "s"] and g.gisenv for changing the mapset with a session).
The user can add, modify, and delete data layers that exist under their current mapset. Although the user can also access (i.e., use) data that are stored under other mapsets in the same GRASS location using the mapname@mapsetname notation or mapset search path, the user can only make permanent changes (create or modify data) located in the current mapset. The user's mapset search path lists the order in which other mapsets in the same GRASS location can be searched and their data accessed by the user. The user can modify the listing and order in which these mapsets are accessed by modifying the mapset search path; this can be done using the g.mapsets command. This program allows the user to use other's relevant map data without altering the original data layer, and without taking up disk space with a copy of the original map. The mapname@mapsetname notation may be used irrespective of the mapset search path, i.e., any map found in another mapset with sufficient g.access privileges may be called in such a manner.
g.mapsets shows the user available mapsets under the current GRASS location, lists mapsets to which the user currently has access, and lists the order in which accessible mapsets will be accessed by GRASS programs searching for data files. The user is then given the opportunity to add or delete mapset names from the search path, or modify the order in which mapsets will be accessed.
When the user specifies the name of a data base element file (e.g., a particular vector map, raster map, imagery group file, etc.) to a GRASS program, the program searches for the named file under each of the mapsets listed in the user's mapset search path in the order listed there until the program finds a file of the given name. Users can also specify a file by its mapset, to make explicit the mapset from which the file is to be drawn; e.g., the command:
In each location there is the special mapset PERMANENT included in the mapset search path, as this mapset typically contains base maps relevant to many applications. Often, other mapsets which contain sets of interpreted maps will be likewise included in the user's mapset search path. Suppose, for example, that the mapset Soil_Maps contains interpreted soils map layers to which the user wants access. The mapset Soil_Maps should then be included in the user's search path variable.
The mapset search path is saved as part of the current mapset. When the user works with that mapset in subsequent GRASS sessions, the previously saved mapset search path will be used (and will continue to be used until it is modified by the user with g.mapsets).
Users can restrict others' access to their mapset files through use of g.access. Mapsets to which access is restricted can still be listed in another's mapset search path; however, access to these mapsets will remain restricted.
g.mapsets -l Available mapsets: PERMANENT user1 user2
g.mapsets mapset=user2 operation=add
g.mapsets -p Accessible mapsets: user1 user2
g.mapsets mapset=user1,PERMANENT operation=set
g.mapsets mapset=.,PERMANENT operation=set
g.mapsets -p Accessible mapsets: user1 PERMANENT
© 2003-2021 GRASS Development Team, GRASS GIS 8.0.dev Reference Manual