GRASS logo


d.rast.edit - Edits cell values in a raster map.


display, editing, raster


d.rast.edit --help
d.rast.edit input=name output=name [aspect=name] [width=integer] [height=integer] [size=integer] [rows=integer] [cols=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


input=name [required]
Name of input raster map
output=name [required]
Name for output raster map
Name of input aspect raster map
Width of display canvas
Default: 640
Height of display canvas
Default: 480
Minimum size of each cell
Default: 12
Maximum number of rows to load
Default: 100
Maximum number of columns to load
Default: 100

Table of contents


The d.rast.edit program allows users to interactively edit cell category values in a raster map layer displayed to the graphics monitor using a mouse cursor.

Overview window

An overview window shows the entire map with a red box showing the current editing region. The edit window shows the cells within the selected area. Click on a new spot on the overview window to move the editing area.

Raster cell editing

Cell editing is done using the mouse cursor to indicate the cell(s) on the displayed raster map that are to be edited.

To change the value of a cell put the new value to use in the "New value" box at the bottom left of the edit window. A value of "*" indicates a NULL value should be used.

Important: the new value in the "New value" box must be confirmed with ENTER, otherwise it is not yet active.

Saving the edited map

To save the edited map, the "File" menu contains the entry Save. To leave d.rast.edit, use Exit in the menu.

Map pan with arrow keys

The map can be shifted using the arrow keys on the keyboard.


There is no "undo" command nor way to exit edit mode without saving changes to the output map.

Any MASK in place will be respected when writing the new raster map layer, including any edits to the MASKed areas.

Geographic Region Concerns

d.rast.edit reads the region definition for the raster map layer being edited from its internal cell header file. The new, edited copy of the raster layer will be created with the same resolution and region dimensions.

The primary bane of the d.rast.edit program involves large map layers with lots of rows and columns) and/or slow computers, since the program must read and write raster map layers row by row for the full size of the map layer as dictated by its region size and resolution. (The current region settings of north, south, east, and west will not limit the size of the edited copy of the map layer, since by use of the overview selection these values may change several times during the editing session).


Editing raster values in a LiDAR DEM, North Carolina sample data:
g.region raster=elev_lid792_1m -p

# pan to area of interest and edit raster cells (I used "102" as value to modify cells
# Use:  File > Save to save
# then: File > Exit
d.rast.edit input=elev_lid792_1m output=elev_lid792_1m_modified

# comparison of raster statistics
# original stats, note the min value
r.univar -g elev_lid792_1m

# modified map stats, note the min value
r.univar -g elev_lid792_1m_modified
d.rast.edit example
Figure: Editing of pixels in an elevation raster map using d.rast.edit


d.rast.edit should not create a new raster map layer if the user makes no cell edits while running the program and leaving it without saving.

It would be nice to incorporate a scrollable version of d.legend (such that one could see a label legend for files with many categories on a standard size sub-frame). It would be even nicer to be able to select the category values from a graphical legend when editing cell values (thereby saving a trip to the text frame to type in the new value).

Perhaps method(s) for multiple or mass cell edits would be useful. This could be done by providing modes in which the user may:

  1. edit a block of cells to a given value by drawing a box;
  2. be able to choose a given value which is automatically used as the new value on each cell chosen until a different value is desired.

There is no user-interrupt handling. This could leave files in .tmp or (rarely) result in half-baked raster maps. The original file would survive unscathed by an interrupt at most any point in execution. Beware of exiting the program by means other than using exit on the Main Menu.


d.rast.arrow, d.rast.num, wxGUI.rdigit


Tcl/Tk (2007) and wxPython versions (2008): Glynn Clements

Replaces Xdriver version in C by Chris Rewerts, April 1991, Agricultural Engineering, Purdue University


Available at: d.rast.edit source code (history)

Latest change: Monday Feb 27 13:45:25 2023 in commit: a82501dc85294207e8e58437c3ec7f1056465ed4

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

© 2003-2024 GRASS Development Team, GRASS GIS 8.3.3dev Reference Manual