m.nviz.image(1grass)
π m.nviz.image π
okay bestie, welcome to the m.nviz.image page from the GRASS User's Manual β yes it's a whole manual page, yes it's long, and yes we're doing all of it together. grab a snack π
β¨ NAME β¨
m.nviz.image β creates a 3D rendering of GIS data.
It renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D. it's giving full cinematic universe fr fr π
π 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 elevationelevation_value=value[,value,...]β constant elevation value(s) to use instead of a raster DEMcolor_map=name[,name,...]β name of raster map(s) for colorcolor=name[,name,...]β color value(s)- either a standard color name or
R:G:Btriplet
- either a standard color name or
mask_map=name[,name,...]β name of raster map(s) for masktransparency_map=name[,name,...]β name of raster map(s) for transparencytransparency_value=value[,value,...]β transparency value(s)- options:
0-255
- options:
shininess_map=name[,name,...]β name of raster map(s) for shininessshininess_value=value[,value,...]β shininess value(s)- options:
0-255
- options:
emission_map=name[,name,...]β name of raster map(s) for emissionemission_value=value[,value,...]β emission value(s)- options:
0-255
- options:
mode=string[,string,...]β draw mode- options:
coarse,fine,both - default:
fine
- options:
resolution_fine=value[,value,...]β fine resolution- default:
6
- default:
resolution_coarse=value[,value,...]β coarse resolution- default:
9
- default:
style=string[,string,...]β draw style- options:
wire,surface - default:
surface
- options:
shading=string[,string,...]β shading- options:
flat,gouraud - default:
gouraud
- options:
wire_color=name[,name,...]β wire color- either a standard color name or
R:G:Btriplet - default:
136:136:136
- either a standard color name or
surface_position=x,y,z[,x,y,z,...]β surface position- default:
0,0,0
- default:
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
- options:
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:Btriplet - default:
blue
- either a standard color name or
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 surfaceflat: draw at constant elevation
- options:
vline_height=value[,value,...]β vector line height- options:
0-1000 - default:
0
- options:
vline_position=x,y,z[,x,y,z,...]β vector lines position- default:
0,0,0
- default:
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
- options:
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
- options:
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:Btriplet - default:
blue
- either a standard color name or
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
- options:
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 surface3D: place at 3D point's z-elevation
- options:
vpoint_position=x,y,z[,x,y,z,...]β vector points position- default:
0,0,0
- default:
volume=name[,name,...]β name of 3D raster map(s)volume_mode=string[,string,...]β volume draw mode- options:
isosurface,slice - default:
isosurface
- options:
volume_shading=string[,string,...]β volume shading- options:
flat,gouraud - default:
gouraud
- options:
volume_position=x,y,z[,x,y,z,...]β volume position- default:
0,0,0
- default:
volume_resolution=value[,value,...]β volume resolution- default:
3
- default:
isosurf_level=volume:value[,volume:value,...]β isosurface levelisosurf_color_map=name[,name,...]β name of volume for isosurface colorisosurf_color_value=name[,name,...]β isosurface color- either a standard color name or
R:G:Btriplet
- either a standard color name or
isosurf_transparency_map=name[,name,...]β name of 3D raster map(s) for isosurface transparencyisosurf_transparency_value=value[,value,...]β transparency value(s) for isosurfaces- options:
0-255
- options:
isosurf_shininess_map=name[,name,...]β name of 3D raster map(s) for shininessisosurf_shininess_value=value[,value,...]β shininess value(s) for isosurfaces- options:
0-255
- options:
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
- default:
slice_transparency=value[,value,...]β volume slice transparency- options:
0-255 - default:
0
- options:
bgcolor=nameβ background color- either a standard color name or
R:G:Btriplet - default:
white
- either a standard color name or
position=x,yβ viewpoint position (x,y model coordinates)- options:
0.0-1.0 - default:
0.84,0.16
- options:
height=valueβ viewpoint height (in map units)perspective=valueβ viewpoint field of view (in degrees)- options:
1-180 - default:
40
- options:
twist=valueβ viewpoint twist angle (in degrees)- options:
-180-180 - default:
0
- options:
zexag=valueβ vertical exaggerationfocus=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
- default:
light_color=nameβ light color- either a standard color name or
R:G:Btriplet - default:
white
- either a standard color name or
light_brightness=integerβ light brightness- options:
0-100 - default:
80
- options:
light_ambient=integerβ light ambient- options:
0-100 - default:
20
- options:
fringe=string[,string,...]β fringe edges- options:
nw,ne,sw,se nw: North-West edgene: North-East edgesw: South-West edgese: South-East edge
- options:
fringe_color=nameβ fringe color- either a standard color name or
R:G:Btriplet - default:
grey
- either a standard color name or
fringe_elevation=integerβ fringe elevation- default:
55
- default:
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
- default:
cplane_rotation=value[,value,...]β cutting plane rotation along the vertical axis- options:
0-360 - default:
0
- options:
cplane_tilt=value[,value,...]β the tilt of your cutting plane(s). Accepts a whole lil list of values if you got multiple planes, separated by commas β¨- Options:
0-360 - Default:
0
- Options:
cplane_shading=stringβ how the cutting plane gets colored, you know, the bit between two surfaces π¨- Options:
clear,top,bottom,blend,shaded - Default:
clear
- Options:
arrow_position=x,yβ drops the north arrow exactly where you want it (screen coordinates, measured from the bottom left corner, bestie, don't forget that part π§)arrow_size=valueβ how big the north arrow is, in map unitsarrow_color=nameβ the north arrow's color. Either a standard color name or anR:G:Btriplet, your call π- Default:
black
- Default:
output=nameβ [required] the name for your output image file, and no extension, she's naked on purpose, the format handles that part πformat=stringβ [required] which graphics file format you're serving today- Options:
ppm,tif - Default:
ppm
- Options:
size=width,heightβ [required] the size (width, height) of the output image- Default:
640,480
- Default:
π DESCRIPTION π
So m.nviz.image lets you realistically render multiple surfaces (that's raster data, babes) in a 3D space, all from the command line β no GUI required, main character energy only π₯
And it's not just surfaces. You can optionally:
- use thematic coloring π¨
- drape 2D vector data over the surfaces
- display 3D vector data in the space
- visualize volume data (that's 3D raster data, for the uninitiated) π¦
All of it, from your terminal. Periodt.
β¨ EXAMPLE β¨
Render that elevation map in a 3D space, let's go:
g.region raster=elevation
m.nviz.image elevation_map=elevation output=elev perspective=15
Ate. No crumbs. π«Ά
π 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)
Absolute legends, every one of them ππ
π¦ SOURCE CODE π¦
Available at: m.nviz.image source code (history)
Latest change: Friday Apr 17 01:04:26 2026 in commit: 32a143358df26b2e518b03c7e0d79541e8d1e5b1
- Main index | Miscellaneous index | Topics index | Keywords index | Graphical index | Full index
Β© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual
ok bestie that's a wrap on m.nviz.image(1grass) π go render something iconic, and remember: this whole thing lives in GRASS 8.5.0, so when you're lost just holler at the man page again. slay πβ¨
π¦ where this page comes from
- alpine 3.24: grass-gis-doc 8.5.0-r1 Β· GPL-2.0-or-later
- ubuntu stonking: grass-doc 8.5.0-1ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms