dwww Home | Manual pages | Find package

grass7(1)                   GRASS GIS User's Manual                  grass7(1)

GRASS startup program
SYNOPSIS
       grass78  [-h | -help | --help] [-v | --version] | [-c | -c geofile | -c
       EPSG:code[:datum_trans]] | -e | -f |  [--text  |  --gtext  |  --gui]  |
       --config | --tmp-location [[[<GISDBASE>/]<LOCATION>/] <MAPSET>] [--exec
       EXECUTABLE]

   Flags:
       -h | -help | --help
           Prints a brief usage message and exits

       -v | --version
           Prints the version of GRASS and exits

       -c
           Creates new GRASS unprojected location in specified GISDBASE

       -c geofile
           Creates new GRASS projected location in specified GISDBASE based on
           georeferenced file

       -c EPSG:code
           Creates  new  GRASS  projected  location in specified GISDBASE with
           given EPSG code

       -c EPSG:code:datum_trans
           Creates new GRASS projected location  in  specified  GISDBASE  with
           given EPSG code and datum transform parameters

       -e
           Exit after creation of location or mapset. Only with -c flag

       -f
           Forces  removal  of  .gislock if exists (use with care!). Only with
           --text flag

       --text
           Indicates that Text-based User Interface should be used (skip  wel-
           come screen)

       --gtext
           Indicates  that Text-based User Interface should be used (show wel-
           come screen)

       --gui
           Indicates that Graphical User Interface (wxGUI) should be used

       --config
           Prints GRASS configuration parameters (options: arch,  build,  com-
           piler, date, path, revision, svn_revision, version)

       --exec EXECUTABLE
           Execute GRASS module or script. The provided executable will be ex-
           ecuted in a GRASS GIS non-interactive session.

       --tmp-location
           Run using a temporary location which is created based on the  given
           coordinate reference system and deleted at the end of the execution
           (use with the --exec flag).  The active mapset will be  the  PERMA-
           NENT mapset.

   Parameters:
       GISDBASE
           Initial  database  directory which should be a fully qualified path
           (e.g., /usr/local/share/grassdata)

       LOCATION
           Initial location directory which is a subdirectory of GISDBASE

       MAPSET
           Initial mapset directory which is a subdirectory of LOCATION  Note:
           These parameters must be specified in one of the following ways:
               MAPSET
               LOCATION/MAPSET
               GISDBASE/LOCATION/MAPSET

DESCRIPTION
       This  command  is  used  to launch GRASS GIS. It will parse the command
       line arguments and then initialize GRASS for the user. Since GRASS mod-
       ules require a specific environment, this program must be called before
       any other GRASS module can run. The command line arguments are optional
       and  provide the user with a method to indicate the desired user inter-
       face, as well as the desired mapset to work on.

       The startup program will remember both the desired user  interface  and
       mapset.  Thus, the next time the user runs GRASS, typing grass78 (with-
       out any options) will start GRASS with the previous  settings  for  the
       user interface and mapset selected.

       If  you  specify a graphical user interface (--gui) the grass78 program
       will try to verify that the system you specified exists  and  that  you
       can  access  it  successfully. If any of these checks fail then grass78
       will automatically switch back to the text user interface mode.

FLAGS
       The flag --config option prints GRASS GIS configuration and version pa-
       rameters, with the options:

           •   arch: system architecture (e.g., x86_64-pc-linux-gnu)

           •   build:   (e.g.,   ./configure   --with-cxx   --enable-largefile
               --with-proj [...])

           •   compiler: (e.g., gcc)

           •   date: (e.g., 2020-04-24T14:49:27+00:00)

           •   path: (e.g., /usr/lib64/grass78)

           •   revision: (e.g., 54aa6fb87)

           •   svn_revision: (e.g., 4aa6fb87)

           •   version: (e.g., 7.8.3)

SAMPLE DATA
       The GRASS GIS project provides several free sample geospatial  datasets
       as   ready-to-use   locations.   They  are  available  to  download  at
       https://grass.osgeo.org/download/sample-data/.   The  "North   Carolina
       data  set"  is  a modern package of geospatial data from North Carolina
       (USA), and it includes raster, vector, LiDAR and satellite  data.  This
       is  the most extensively used data set in the documentation and the ex-
       amples throughout the user manual pages are based upon it.

ENVIRONMENT VARIABLES
       A number of environment variables are available at GRASS startup to as-
       sist  with  automation  and  customization. Most users will not need to
       bother with these.

       In addition to these shell environment variables GRASS maintains a num-
       ber  of  GIS  environment  variables in the $HOME/.grass7/rc file. User
       changes to this file will be read during the next startup of GRASS.  If
       this  file  becomes corrupted the user may edit it by hand or remove it
       to start afresh.  See the list of implemented GRASS variables for  more
       information.  The rest of this help page will only consider shell envi-
       ronment variables.

       Note that you will need to set these variables  using  the  appropriate
       method  required  for the UNIX shell that you use (e.g. in a Bash shell
       you must export the variables for them to propagate).

   User Interface Environment Variable
       The grass78 program will check for  the  existence  of  an  environment
       variable  called  GRASS_GUI  which indicates the type of user interface
       for GRASS to use. If this variable is not set when grass78 is run, then
       it  will be created and then saved in the $HOME/.grass7/rc file for the
       next time GRASS is run. It can be set to text, gtext or gui.

       There is an order of precedence in the way grass78 determines the  user
       interface  to  use.  The following is the hierarchy from highest prece-
       dence to lowest.

       1      Command line argument

       2      Environment variable GRASS_GUI

       3      Value set in $HOME/.grass7/rc (GUI)

       4      Default value - gui

   Python Environment Variables
       If you choose to use wxGUI interface, then the GRASS_PYTHON environment
       variable can be used to override your system default python command.

       Suppose  for  example  your system has Python 3.6 installed and you in-
       stall a personal version of the Python 3.7  binaries  under  $HOME/bin.
       You  can use the above variables to have GRASS use the Python 3.7 bina-
       ries instead.
          GRASS_PYTHON=python3.7

   Addon Path to Extra User Scripts
       This environment variable allows the user to extend the  GRASS  program
       search  paths  to  include locally developed/installed GRASS modules or
       user scripts.
          GRASS_ADDON_PATH=/usr/mytools
          GRASS_ADDON_PATH=/usr/mytools:/usr/local/othertools

       In this example above path(s) would be added to the standard GRASS path
       environment.

   Addon Base for Extra Local GRASS Addon Modules
       This  environment  variable allows the user to extend the GRASS program
       search paths to include locally installed (see g.extension for details)
       GRASS  Addon  modules which are not distributed with the standard GRASS
       release.
          GRASS_ADDON_BASE=/usr/grass-addons

       In this example above path would be added to the  standard  GRASS  path
       environment.

       If  not  defined by user, this variable is set by GRASS startup program
       to $HOME/.grass7/addons on GNU/Linux and $APPDATA\GRASS7\addons  on  MS
       Windows.

   HTML Browser Variable
       The  GRASS_HTML_BROWSER environment variable allows the user to set the
       HTML web browser to use for displaying help pages.

   Running non-interactive batch jobs
       If the GRASS_BATCH_JOB environment variable is set to the full path and
       filename  of a shell script then GRASS will be launched in a non-inter-
       active way and the script will be run. The script itself can be  inter-
       active  if  that  is  what the user requires. When it is finished GRASS
       will automatically exit  using  the  exit-success  code  given  by  the
       script. The script file must have its executable bit set.

EXAMPLES
       The following are some examples of how you could start GRASS

       grass78
           Start  GRASS  using  the  default  user interface. The user will be
           prompted to choose the appropriate location and mapset.

       grass78 --gui
           Start GRASS using the graphical user interface. The  user  will  be
           prompted to choose the appropriate location and mapset.

       grass78 --text
           Start  GRASS using the text-based user interface. Appropriate loca-
           tion and mapset must be set by environmental variables  (see  exam-
           ples below) otherwise taken from the last GRASS session.

       grass78 --gtext
           Start  GRASS  using the text-based user interface. The user will be
           prompted to choose the appropriate location and mapset.

       grass78 $HOME/grassdata/spearfish70/user1
           Start GRASS using the  default  user  interface  and  automatically
           launch into the given mapset, bypassing the mapset selection menu.

       grass78 --gui -
           Start  GRASS  using  the graphical user interface and try to obtain
           the location and mapset from environment variables.

       grass78 -c EPSG:4326 $HOME/grassdata/mylocation
           Creates a new GRASS location with EPSG code  4326  (latitude-longi-
           tude, WGS84) in the specified GISDBASE

       grass78 -c EPSG:5514:3 $HOME/grassdata/mylocation
           Creates  a  new GRASS location with EPSG code 5514 (S-JTSK / Krovak
           East North - SJTSK) with datum transformation  parameters  used  in
           Czech Republic in the specified GISDBASE

       grass78    -c    XY    $HOME/grassdata/gnomonic    --exec   g.proj   -c
       proj4=’+proj=gnom +lat_0=90 +lon_0=-50’
           Creates a new GRASS location from  PROJ  definition  string  (here:
           gnomonic) in the specified GISDBASE

       grass78 -c myvector.shp $HOME/grassdata/mylocation
           Creates a new GRASS location based on georeferenced Shapefile

       grass78 -c myraster.tif $HOME/grassdata/mylocation
           Creates a new GRASS location based on georeferenced GeoTIFF file

   Batch jobs with the exec interface
       Creating  a  new Location based on a geodata file’s projection (-c) and
       exit (-e) immediately:
       grass78 -c elevation.tiff -e /path/to/grassdata/test1/
       Linking external raster data to PERMANENT Mapset:
       grass78 /path/to/grassdata/test1/PERMANENT/ --exec r.external input=basins.tiff output=basins
       grass78 /path/to/grassdata/test1/PERMANENT/ --exec r.external input=elevation.tiff output=elevation
       Get statistics for one raster map:
       grass78 /path/to/grassdata/test1/PERMANENT/ --exec r.univar map=elevation
       Compare the rasters visually:
       grass78 /path/to/grassdata/test1/PERMANENT/ --exec g.gui.mapswipe first=elevation second=basins

   Execution of shell and Python scripts instead of single commands
       A sequence of commands can be bundled in a script  and  executed  using
       the exec interface.

       Shell script example: the command to execute a shell script might be:
       grass78 /path/to/grassdata/test1/PERMANENT/ --exec sh test.sh
       A very simple bash script ("test.sh") may look like this:
       #!/bin/bash
       g.region -p
       g.list type=raster
       r.info elevation

       Python script example: the command to execute a Python script might be:
       grass78 /path/to/grassdata/test1/PERMANENT/ --exec python test.py
       A very simple Python script ("test.py") may look like this:
       #!/usr/bin/env python3
       # import GRASS Python bindings (see also pygrass)
       import grass.script as gscript
       import grass.script.setup as gsetup
       gscript.message(’Current GRASS GIS 7 environment:’)
       print(gscript.gisenv())
       gscript.message(’Available raster maps:’)
       for raster in gscript.list_strings(type=’raster’):
           print(raster)
       gscript.message(’Available vector maps:’)
       for vector in gscript.list_strings(type=’vector’):
           print(vector)

   Using temporary location
       Creating  a new temporary location based on a georeferenced file’s pro-
       jection coordinate reference system (CRS) and  simultaneously  starting
       computation in a shell script:
       grass78 --tmp-location elevation.tiff --exec test.sh
       The same, but using an EPSG code and a Python script:
       grass78 --tmp-location EPSG:3358 --exec test.py
       Finally,  for  special  cases, we can create an XY location without any
       CRS:
       grass78 --tmp-location XY --exec test.py
       Temporary location is automatically deleted after computation,  so  the
       script  is  expected  to  export, link or otherwise preserve the output
       data before ending.

       A single command can be also executed, e.g. to  examine  properties  of
       the temporary location:
       grass78 --tmp-location EPSG:3358 --exec g.proj -p
       A  temporary  XY  location  with single command is useful, e.g. to show
       help text of a module:
       grass78 --tmp-location XY --exec r.neighbors --help

   Troubleshooting
       Importantly, to avoid an "[Errno 8] Exec format error" there must be  a
       shebang  line at the top of the script (like #!/bin/sh, #!/bin/bash, or
       #!/usr/bin/env python3) indicating which interpreter to be used for the
       script. The script file must have its executable bit set.

CAVEAT
       If  you  start  GRASS  using the wxGUI interface you must have a python
       command in your $PATH variable. That is,  the  command  must  be  named
       python  and  not something like python3.6. Rarely some Python installa-
       tions do not create a python command. In these cases you  can  override
       python by GRASS_PYTHON environmental variable.

       Furthermore,  if  you  have  more than one version of Python installed,
       make sure that the version you  want  to  use  with  GRASS  is  set  by
       GRASS_PYTHON environmental variable.

SEE ALSO
       List of GRASS environment variables

       GRASS GIS Web site
       GRASS GIS User Wiki
       GRASS GIS Bug Tracker
       GRASS GIS 7 Programmer’s Manual

AUTHORS (of this page)
       Justin Hickey
       Markus Neteler
       Hamish Bowman
       Martin Landa, Czech Technical University in Prague, Czech Republic

       Main index | Topics index | Keywords index | Graphical index | Full in-
       dex

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

GRASS 7.8.7                                                          grass7(1)

Generated by dwww version 1.14 on Sun Dec 29 18:01:07 CET 2024.