---
name: "m.nviz.image"
section: "1grass"
platform: "linux"
package: "grass-doc"
version: "8.4.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/m.nviz.image"
---

# m.nviz.image(1grass)

Creates a 3D rendering of GIS data. Renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D.

## NAME

**m.nviz.image**  - Creates a 3D rendering of GIS data.\
 Renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D.

## KEYWORDS

miscellaneous, visualization, graphics, raster, vector, raster3d

## SYNOPSIS

**m.nviz.image**\
 **m.nviz.image --help**\
 **m.nviz.image** \[-**anb**\]  \[**elevation\_map**=*name*\[,*name*,...\]\]   \[**elevation\_value**=*value*\[,*value*,...\]\]   \[**color\_map**=*name*\[,*name*,...\]\]   \[**color**=*name*\[,*name*,...\]\]   \[**mask\_map**=*name*\[,*name*,...\]\]   \[**transparency\_map**=*name*\[,*name*,...\]\]   \[**transparency\_value**=*value*\[,*value*,...\]\]   \[**shininess\_map**=*name*\[,*name*,...\]\]   \[**shininess\_value**=*value*\[,*value*,...\]\]   \[**emission\_map**=*name*\[,*name*,...\]\]   \[**emission\_value**=*value*\[,*value*,...\]\]   \[**mode**=*string*\[,*string*,...\]\]   \[**resolution\_fine**=*value*\[,*value*,...\]\]   \[**resolution\_coarse**=*value*\[,*value*,...\]\]   \[**style**=*string*\[,*string*,...\]\]   \[**shading**=*string*\[,*string*,...\]\]   \[**wire\_color**=*name*\[,*name*,...\]\]   \[**surface\_position**=*x,y,z*\[,*x,y,z*,...\]\]   \[**vline**=*name*\[,*name*,...\]\]   \[**vline\_layer**=*string*\[,*string*,...\]\]   \[**vline\_width**=*value*\[,*value*,...\]\]   \[**vline\_width\_column**=*name*\[,*name*,...\]\]   \[**vline\_color**=*name*\[,*name*,...\]\]   \[**vline\_color\_column**=*name*\[,*name*,...\]\]   \[**vline\_mode**=*string*\[,*string*,...\]\]   \[**vline\_height**=*value*\[,*value*,...\]\]   \[**vline\_position**=*x,y,z*\[,*x,y,z*,...\]\]   \[**vpoint**=*name*\[,*name*,...\]\]   \[**vpoint\_layer**=*string*\[,*string*,...\]\]   \[**vpoint\_size**=*value*\[,*value*,...\]\]   \[**vpoint\_size\_column**=*name*\[,*name*,...\]\]   \[**vpoint\_width**=*value*\[,*value*,...\]\]   \[**vpoint\_width\_column**=*name*\[,*name*,...\]\]   \[**vpoint\_color**=*name*\[,*name*,...\]\]   \[**vpoint\_color\_column**=*name*\[,*name*,...\]\]   \[**vpoint\_marker**=*string*\[,*string*,...\]\]   \[**vpoint\_marker\_column**=*name*\[,*name*,...\]\]   \[**vpoint\_mode**=*string*\[,*string*,...\]\]   \[**vpoint\_position**=*x,y,z*\[,*x,y,z*,...\]\]   \[**volume**=*name*\[,*name*,...\]\]   \[**volume\_mode**=*string*\[,*string*,...\]\]   \[**volume\_shading**=*string*\[,*string*,...\]\]   \[**volume\_position**=*x,y,z*\[,*x,y,z*,...\]\]   \[**volume\_resolution**=*value*\[,*value*,...\]\]   \[**isosurf\_level**=*volume:value*\[,*volume:value*,...\]\]   \[**isosurf\_color\_map**=*name*\[,*name*,...\]\]   \[**isosurf\_color\_value**=*name*\[,*name*,...\]\]   \[**isosurf\_transparency\_map**=*name*\[,*name*,...\]\]   \[**isosurf\_transparency\_value**=*value*\[,*value*,...\]\]   \[**isosurf\_shininess\_map**=*name*\[,*name*,...\]\]   \[**isosurf\_shininess\_value**=*value*\[,*value*,...\]\]   \[**slice**=*volume:axis*\[,*volume:axis*,...\]\]   \[**slice\_position**=*x1,x2,y1,y2,z1,z2*\[,*x1,x2,y1,y2,z1,z2*,...\]\]   \[**slice\_transparency**=*value*\[,*value*,...\]\]   \[**bgcolor**=*name*\]   \[**position**=*x,y*\]   \[**height**=*value*\]   \[**perspective**=*value*\]   \[**twist**=*value*\]   \[**zexag**=*value*\]   \[**focus**=*x,y,z*\]   \[**light\_position**=*x,y,z*\]   \[**light\_color**=*name*\]   \[**light\_brightness**=*integer*\]   \[**light\_ambient**=*integer*\]   \[**fringe**=*string*\[,*string*,...\]\]   \[**fringe\_color**=*name*\]   \[**fringe\_elevation**=*integer*\]   \[**cplane**=*value*\[,*value*,...\]\]   \[**cplane\_position**=*x,y,z*\[,*x,y,z*,...\]\]   \[**cplane\_rotation**=*value*\[,*value*,...\]\]   \[**cplane\_tilt**=*value*\[,*value*,...\]\]   \[**cplane\_shading**=*string*\]   \[**arrow\_position**=*x,y*\]   \[**arrow\_size**=*value*\]   \[**arrow\_color**=*name*\]  **output**=*name* **format**=*string* **size**=*width,height*  \[--**overwrite**\]  \[--**help**\]  \[--**verbose**\]  \[--**quiet**\]  \[--**ui**\]

### Flags:

- **-a**

  Use draw mode for all loaded surfaces

- **-n**

  Toggles normal direction of all isosurfaces (changes light effect)

- **-b**

  Draw volume box

- **--overwrite**

  Allow output files to overwrite existing files

- **--help**

  Print usage summary

- **--verbose**

  Verbose module output

- **--quiet**

  Quiet module output

- **--ui**

  Force launching GUI dialog

### Parameters:

- **elevation\_map**=*name\[,name*,...\]

  Name of raster map(s) for elevation

- **elevation\_value**=*value\[,value*,...\]

  Constant elevation value(s) to use instead of a raster DEM

- **color\_map**=*name\[,name*,...\]

  Name of raster map(s) for color

- **color**=*name\[,name*,...\]

  Color value(s)\
   Either a standard color name or R:G:B triplet

- **mask\_map**=*name\[,name*,...\]

  Name of raster map(s) for mask

- **transparency\_map**=*name\[,name*,...\]

  Name of raster map(s) for transparency

- **transparency\_value**=*value\[,value*,...\]

  Transparency value(s)\
   Options: *0-255*

- **shininess\_map**=*name\[,name*,...\]

  Name of raster map(s) for shininess

- **shininess\_value**=*value\[,value*,...\]

  Shininess value(s)\
   Options: *0-255*

- **emission\_map**=*name\[,name*,...\]

  Name of raster map(s) for emission

- **emission\_value**=*value\[,value*,...\]

  Emission value(s)\
   Options: *0-255*

- **mode**=*string\[,string*,...\]

  Draw mode\
   Options: *coarse, fine, both*\
   Default: *fine*

- **resolution\_fine**=*value\[,value*,...\]

  Fine resolution\
   Default: *6*

- **resolution\_coarse**=*value\[,value*,...\]

  Coarse resolution\
   Default: *9*

- **style**=*string\[,string*,...\]

  Draw style\
   Options: *wire, surface*\
   Default: *surface*

- **shading**=*string\[,string*,...\]

  Shading\
   Options: *flat, gouraud*\
   Default: *gouraud*

- **wire\_color**=*name\[,name*,...\]

  Wire color\
   Either a standard color name or R:G:B triplet\
   Default: *136:136:136*

- **surface\_position**=*x,y,z\[,x,y,z*,...\]

  Surface position\
   Default: *0,0,0*

- **vline**=*name\[,name*,...\]

  Name of vector map\
   Name of line vector overlay map(s)

- **vline\_layer**=*string\[,string*,...\]

  Layer number or name\
   Layer number or name for thematic mapping\
   Default: *1*

- **vline\_width**=*value\[,value*,...\]

  Vector line width\
   Options: *1-100*\
   Default: *2*

- **vline\_width\_column**=*name\[,name*,...\]

  Name of width definition column\
   Name of attribute column

- **vline\_color**=*name\[,name*,...\]

  Vector line color\
   Either a standard color name or R:G:B triplet\
   Default: *blue*

- **vline\_color\_column**=*name\[,name*,...\]

  Name of color definition column\
   Name of attribute column

- **vline\_mode**=*string\[,string*,...\]

  Vector line display mode\
   Options: *surface, flat*\
   Default: *surface*\
   **surface**: drape on raster surface\
   **flat**: draw at constant elevation

- **vline\_height**=*value\[,value*,...\]

  Vector line height\
   Options: *0-1000*\
   Default: *0*

- **vline\_position**=*x,y,z\[,x,y,z*,...\]

  Vector lines position\
   Default: *0,0,0*

- **vpoint**=*name\[,name*,...\]

  Name of vector map\
   Name of point vector overlay map(s)

- **vpoint\_layer**=*string\[,string*,...\]

  Layer number or name\
   Layer number or name for thematic mapping\
   Default: *1*

- **vpoint\_size**=*value\[,value*,...\]

  Icon size (map units)\
   Options: *0-1000*\
   Default: *100*

- **vpoint\_size\_column**=*name\[,name*,...\]

  Name of size definition column\
   Name of attribute column

- **vpoint\_width**=*value\[,value*,...\]

  Icon width\
   Options: *1-1000*\
   Default: *2*

- **vpoint\_width\_column**=*name\[,name*,...\]

  Name of width definition column\
   Name of attribute column

- **vpoint\_color**=*name\[,name*,...\]

  Icon color\
   Either a standard color name or R:G:B triplet\
   Default: *blue*

- **vpoint\_color\_column**=*name\[,name*,...\]

  Name of color definition column\
   Name of attribute column

- **vpoint\_marker**=*string\[,string*,...\]

  Icon marker\
   Options: *x, box, sphere, cube, diamond, dec\_tree, con\_tree, aster, gyro, histogram*\
   Default: *sphere*

- **vpoint\_marker\_column**=*name\[,name*,...\]

  Name of marker definition column\
   Name of attribute column

- **vpoint\_mode**=*string\[,string*,...\]

  3D vector point display mode\
   Options: *surface, 3D*\
   Default: *3D*\
   **surface**: drape on raster surface\
   **3D**: place at 3D point’s z-elevation

- **vpoint\_position**=*x,y,z\[,x,y,z*,...\]

  Vector points position\
   Default: *0,0,0*

- **volume**=*name\[,name*,...\]

  Name of 3D raster map(s)

- **volume\_mode**=*string\[,string*,...\]

  Volume draw mode\
   Options: *isosurface, slice*\
   Default: *isosurface*

- **volume\_shading**=*string\[,string*,...\]

  Volume shading\
   Options: *flat, gouraud*\
   Default: *gouraud*

- **volume\_position**=*x,y,z\[,x,y,z*,...\]

  Volume position\
   Default: *0,0,0*

- **volume\_resolution**=*value\[,value*,...\]

  Volume resolution\
   Default: *3*

- **isosurf\_level**=*volume:value\[,volume:value*,...\]

  Isosurface level

- **isosurf\_color\_map**=*name\[,name*,...\]

  Name of volume for isosurface color

- **isosurf\_color\_value**=*name\[,name*,...\]

  Isosurface color\
   Either a standard color name or R:G:B triplet

- **isosurf\_transparency\_map**=*name\[,name*,...\]

  Name of 3D raster map(s) for isosurface transparency

- **isosurf\_transparency\_value**=*value\[,value*,...\]

  Transparency value(s)for isosurfaces\
   Options: *0-255*

- **isosurf\_shininess\_map**=*name\[,name*,...\]

  Name of 3D raster map(s) for shininess

- **isosurf\_shininess\_value**=*value\[,value*,...\]

  Shininess value(s) for isosurfaces\
   Options: *0-255*

- **slice**=*volume:axis\[,volume:axis*,...\]

  Volume slice parallel to given axis (x, y, z)

- **slice\_position**=*x1,x2,y1,y2,z1,z2\[,x1,x2,y1,y2,z1,z2*,...\]

  Volume slice position\
   Default: *0,1,0,1,0,1*

- **slice\_transparency**=*value\[,value*,...\]

  Volume slice transparency\
   Options: *0-255*\
   Default: *0*

- **bgcolor**=*name*

  Background color\
   Either a standard color name or R:G:B triplet\
   Default: *white*

- **position**=*x,y*

  Viewpoint position (x,y model coordinates)\
   Options: *0.0-1.0*\
   Default: *0.84,0.16*

- **height**=*value*

  Viewpoint height (in map units)

- **perspective**=*value*

  Viewpoint field of view (in degrees)\
   Options: *1-180*\
   Default: *40*

- **twist**=*value*

  Viewpoint twist angle (in degrees)\
   Options: *-180-180*\
   Default: *0*

- **zexag**=*value*

  Vertical exaggeration

- **focus**=*x,y,z*

  Focus to point on surface (from SW corner in map units)

- **light\_position**=*x,y,z*

  Light position (x,y,z model coordinates)\
   Default: *0.68,-0.68,0.80*

- **light\_color**=*name*

  Light color\
   Either a standard color name or R:G:B triplet\
   Default: *white*

- **light\_brightness**=*integer*

  Light brightness\
   Options: *0-100*\
   Default: *80*

- **light\_ambient**=*integer*

  Light ambient\
   Options: *0-100*\
   Default: *20*

- **fringe**=*string\[,string*,...\]

  Fringe edges\
   Options: *nw, ne, sw, se*\
   **nw**: North-West edge\
   **ne**: North-East edge\
   **sw**: South-West edge\
   **se**: South-East edge

- **fringe\_color**=*name*

  Fringe color\
   Either a standard color name or R:G:B triplet\
   Default: *grey*

- **fringe\_elevation**=*integer*

  Fringe elevation\
   Default: *55*

- **cplane**=*value\[,value*,...\]

  Cutting plane index (0-5)

- **cplane\_position**=*x,y,z\[,x,y,z*,...\]

  Cutting plane x,y,z coordinates\
   Default: *0,0,0*

- **cplane\_rotation**=*value\[,value*,...\]

  Cutting plane rotation along the vertical axis\
   Options: *0-360*\
   Default: *0*

- **cplane\_tilt**=*value\[,value*,...\]

  Cutting plane tilt\
   Options: *0-360*\
   Default: *0*

- **cplane\_shading**=*string*

  Cutting plane color (between two surfaces)\
   Options: *clear, top, bottom, blend, shaded*\
   Default: *clear*

- **arrow\_position**=*x,y*

  Place north arrow at given position    (in screen coordinates from bottom left corner)

- **arrow\_size**=*value*

  North arrow size (in map units)

- **arrow\_color**=*name*

  North arrow color\
   Either a standard color name or R:G:B triplet\
   Default: *black*

- **output**=*name* **\[required\]**

  Name for output image file (without extension)

- **format**=*string* **\[required\]**

  Graphics file format\
   Options: *ppm, tif*\
   Default: *ppm*

- **size**=*width,height* **\[required\]**

  Size (width, height) of output image\
   Default: *640,480*

## DESCRIPTION

*m.nviz.image* allows users to realistically render multiple *surfaces* (raster data) in a 3D space, optionally using thematic coloring, draping 2D *vector* data over the surfaces, displaying 3D vector data in the space, and visualization of *volume* data (3D raster data) from the command line.

## EXAMPLE

Render elevation map in a 3D space.\

```
g.region raster=elevation
m.nviz.image elevation_map=elevation output=elev perspective=15
```

## SEE ALSO

*wxGUI 3D viewer*

## AUTHORS

Martin Landa, Google Summer of Code 2008 (mentor: Michael Barton) and Google Summer of Code 2010 (mentor: Helena Mitasova)\
 Anna Kratochvilova, Google Summer of Code 2011 (mentor: Martin Landa)

## SOURCE CODE

Available at: m.nviz.image source code (history)

Accessed: Monday Feb 24 17:51:29 2025

Main index \| Miscellaneous index \| Topics index \| Keywords index \| Graphical index \| Full index

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual
