Provided by: grass-doc_7.8.7-1_all bug

GRASS GIS Database

       A  GRASS  GIS  Database  is  simply a set of directories and files with certain structure which GRASS GIS
       works efficiently with.  Location is a directory with data  related  to  one  geographic  location  or  a
       project.  All data within one Location has the same cartographic projection.  A Location contains Mapsets
       and  each  Mapset  contains  data  related  to  a  specific task, user or a smaller project.  Within each
       Location, a mandatory PERMANENT Mapset exists which can contain commonly used data within a Location such
       as base maps.  PERMANENT Mapset also contains metadata related to  Location  such  as  projection.   When
       GRASS GIS is started it connects to a Database, Location and Mapset specified by the user.

       Fig. 1: GRASS GIS Database structure as visible to the user

   GRASS GIS Database
       All  data  for  GRASS  GIS  must  be  in  GRASS  GIS  Database which is a directory (visible on the disk)
       containing subdirectories which are GRASS Locations.  User can have one or more of Databases on the disk.
       Typically users have one directory called grassdata in their home directory.  In  multi-user  environment
       users  often have a grassdata directory mounted as a network directory (network file system).  For teams,
       a centralized GRASS DATABASE would be defined in a shared network file system (e.g. NFS).

       GRASS GIS Databases can be safely copied or moved as any  other  directories.   Don’t  be  confused  with
       (relational)  databases which are used in GRASS GIS to hold attribute data and might be part of the GRASS
       GIS Database.  From user point of view, GRASS GIS Database with all its data in it is  similar  to,  e.g.
       PostGIS, database, as it stores all information inside in a specific format and is accessible by specific
       tools.  GRASS GIS Databases is in GRASS GIS often called GISDBASE or DATABASE.

   GRASS Locations
       Location  is  a  directory  which  contains  GRASS Mapsets which are its subdirectories.  All data in one
       Location have the same projection (coordinate system, datum).  Each Location must contain  Mapset  called
       PERMANENT.   Typically,  a  Location  contains  all  data  related  to  one  project or a geographic area
       (geographic location or region).  Alternatively,  Location  can  simply  contain  all  data  in  a  given
       projection.

       GRASS  Locations  can be safely copied or moved as any other directories.  Compressed Location is usually
       what GRASS users exchange between each other when they want to share a lot of data.  For  example,  GRASS
       GIS sample data are provided as Locations.

       Don’t  be  confused  with location as a place (file or directory) in a file system.  The word location in
       GRASS Location refers to a location or area on Earth (or whatever is applicable).  Users and  programmers
       familiar  with relational databases such as PostgreSQL can view Location as an individual database inside
       the system or a storage area which would be equivalent to GRASS GIS Database. Mapsets in a Locations  are
       like namespaces or schemas inside a database.

   GRASS Mapsets
       Mapsets  contains the actual data, mostly geospatial data, referred to as maps in GRASS GIS.  Mapsets are
       a tool for organizing maps in a transparent way as well as  a  tool  for  isolating  different  tasks  to
       prevent data loss.

       GRASS GIS is always connected to one particular Mapset.  GRASS GIS modules can create, modify, change, or
       delete  a  data  only  in  the  current  Mapset.   By  default, only the data from the current Mapset and
       PERMANENT Mapset are visible. Using g.mapsets module or in GUI other Mapsets  can  be  made  visible  and
       seamlessly  accessible.   All  data  are  available  for reading when Mapset is specified explicitly, for
       example to access map streets in Mapset new_highway user can use streets@new_highway.  For maps which are
       in the current or PERMAENT Mapsets or Mapsets sets as visible (accessible),  there  is  no  need  to  use
       @mapset syntax.

       Mapsets  are  used  to  store  maps  related  to  one  project,  smaller project, specific task, issue or
       subregions.  In multi-user environment, when a team  works  together  on  one  project,  Mapsets  support
       simultaneous  access of several users to the maps stored within the same Location.  Besides access to his
       or her own Mapset, each user can also read maps in PERMANENT Mapsent and in  other  users’  Mapsets  when
       set.  However, each user can modify or remove only the maps in his or her own Mapset.

       Besides the geospatial data, Mapset holds additional data such as color tables (managed e.g. by r.colors)
       and  the current computational region’s extent and resolution stored in a file called WIND and managed by
       g.region.

       Mapsets can be copied and moved as directories, however only when it is clear  that  the  projections  of
       both Locations (as reported by g.proj) match each other. Since this is sometimes hard to to establish, it
       is  recommended  to  use r.proj or v.proj to reproject the data.  The files and directories should not be
       moved or modified directly, but only using GRASS GIS tools.

   The role of the PERMANENT Mapset
       When creating a new Location, GRASS GIS automatically creates a special Mapset called PERMANENT where the
       core data for the Location are stored.

       Since the maps in PERMANENT Mapset are visible from all the other Mapsets, it can be used  to  store  the
       base  maps  (base  cartography),  data  common  to  all projects or needed for different analyses done is
       separate Mapsets.

       In multi-user environment, data in the PERMANENT Mapset can only be added, modified  or  removed  by  the
       owner  of the PERMANENT Mapset; however, they can be accessed, analyzed, and copied into their own Mapset
       by the other users. The PERMANENT Mapset is useful for providing general spatial data (e.g. an  elevation
       model),  accessible but write-protected to all users who are working in the same Location as the database
       owner.  To manipulate or add data to PERMANENT, the owner can start GRASS GIS  and  choose  the  relevant
       Location and the PERMANENT Mapset.

       The  PERMANENT  Mapset also contains the DEFAULT_WIND file which holds the default computational region’s
       extent and resolution values for the Location (which all Mapsets will inherit  when  they  are  created).
       Users have the option of switching back to the default region at any time.

   Importing, exporting and linking data
       GRASS  GIS  works  only  with  data  which  are  imported  into a GRASS Database, so all data needs to be
       imported, e.g. by r.in.gdal or highly convenient r.import, before the actual  analysis.   Data  in  GRASS
       Datable can be exported using for example r.in.gdal in case of raster maps.

       For cases when import is not desirable, an option to link external data exists.  Projection of the linked
       data  must match the Location’s projection otherwise the external data cannot be linked. (Linking data in
       different projection is not allowed as  it  would  require  on-the-fly  reprojection  which  could  cause
       inconsistencies in the data.

       For  example,  module  r.external  links  external  raster data, so that the data are accessible in GRASS
       Database as standard raster maps. Similarly for newly created maps, r.external.out setups  a  format  and
       directory  where  the  actual  data will be stored, however in GRASS Database the data will be created as
       standard maps.

   Starting GRASS GIS using GUI
       After launching GRASS GIS, the startup window will open (Fig. 2).

       Fig. 2: GRASS GIS startup window The startup windows provides these functions:

       1      Selecting the GRASS GIS Database directory.

       2      Selecting the Location (e.g. a project or area).  See the Location Wizard  (4)  for  creating  new
              Locations.

       3      Selecting the Mapset (a subproject or task).  Creating a new Mapset requires only name.

       4      The  Location  Wizard for creating new Locations based for example, on existing georeferenced file
              or EPSG code.

       5      Download a sample Location from the Internet.

       6      Start GRASS GIS once you have selected an existing Location and Mapset or defined a new  one.  The
              graphical  user  interface  wxGUI  will open and provide you with a menu system, map visualization
              tool, digitizer, and more.

   Starting GRASS GIS using command line
       GRASS GIS can be started with given Database, Location and Mapset from the command line. For example, the
       following will start in a given Mapset with only command line interface:
       grass78 --text ~/grassdata/mylocation/mymapset
       And the following will create the given Location with projection given by the EPSG code and it will start
       the default interface (GUI or command line):
       grass78 -c EPSG:5514:3 ~/grassdata/mylocation
       See grass command manual for more details.

   Creating a New Location with the Location Wizard
       The wxGUI graphical user interface provides a graphical Location Wizard which lets you  easily  create  a
       new  Location  for  your  own data. You will be guided through a series of dialogues to browse and select
       predefined projections or to define custom projections.

       The most convenient way of using Location Wizard is creating new Location based on a georeferenced  file,
       such  as  Shapefile or GeoTIFF, or by selecting the corresponding EPSG projection code.  In case of using
       georeferenced file, you are asked whether the data itself should be imported into the new Location.   The
       default region is then set to match imported map.

       After  defining  a  new Location, wxGUI starts automatically.  If data were already imported, you can add
       them into the Layer Manager now and display them.  More data can be  imported  into  the  Location,  e.g.
       using import options in the File menu in Layer Manager or r.import.

See also

        GRASS GIS 7 Reference Manual
       GRASS GIS 7 startup program manual page
       Importing data on GRASS Wiki
       r.import, v.import, r.external, v.external, r.proj, v.proj,

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

       © 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual

GRASS 7.8.7                                                                               grass_database(1grass)