GRASS GIS - wxPython Graphical User Interface (wxGUI)

February 19, 2025 ยท View on GitHub

DateDate

1 - REQUIREMENTS

GRASS GIS >= 6.4 Python >= 2.4 Python ElementTree (only for Python 2.4) wxPython >= 2.8.10.1 NumPy >= 1.0.4 PIL >= 1.1.7

2 - STARTUP WITH GRASS INITIALIZATION

If you want to launch wxPython GUI automatically, start GRASS with --gui parameter

$ grass --gui

3 - STARTUP FROM GRASS TERMINAL

Simply run

$ g.gui wxpython

from the GRASS terminal.

You can also specify workspace file to load on startup.

$ g.gui gui=wxpython workspace=myworkspace.gxw

4 - DEBUGGING

To enable GUI debug messages on given level set WX_DEBUG environment variable, e.g.

$ g.gisenv set="WX_DEBUG=3"

5 - CLI BASED DISPLAY USAGE

Use command d.mon (shell script in gui/scripts directory) to start map display:

GRASS> d.mon wx[0-6]

After a while, new window should appear. If this is your case, add some raster layer to the map display:

GRASS> d.rast aspect

And try the vector layer too

GRASS> d.vect roads

You should be able to zoom && pan through the map, once the layers are displayed. You should be also able to store the display content as well as clear the display and start from scratch.

6 TRANSLATION HANDLING

Notes:

  • Help part of menu entries is coming from the module descriptions
  • The menu is maintained manually in xml/menudata.xml

Update of module description strings in xml/menudata.xml:

  • in a GRASS session, run tools/update_menudata.py

From this (updated) xml/menudata.xml, the gettext strings are generated via Makefile and stored into the file "menustrings.py".

When generating the po files in locale/po/ but locale/Makefile, all .py files are parsed and the strings are stored in locale/po/grasswxpy_XX.po