m.nviz.image(1)

✨ NAME ✨

m.nviz.image β€” the GRASS GIS girlie who creates a 3D rendering of GIS data. πŸ’…

She renders surfaces (raster data), 2D/3D vector data, and volumes (3D raster data) in 3D. Like, all of it. In three whole dimensions. Obsessed. πŸ¦‹


🌈 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 (this changes the light effect, so like… it's giving different lighting, periodt)
  • -b β€” draw volume box
  • --overwrite β€” allow output files to overwrite existing files (yes bestie, it will actually replace them 😭)
  • --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,...] β€” how much the cutting plane is tilted. Options: 0-360. Default: 0
  • cplane_shading=string β€” the color of the cutting plane, like, the space between the two surfaces. Options: clear, top, bottom, blend, shaded. Default: clear
  • arrow_position=x,y β€” drops the north arrow at the position you give it. 🧭 coordinates are in screen space, measured from the bottom-left corner, bestie.
  • arrow_size=value β€” how big the north arrow is (in map units).
  • arrow_color=name β€” the north arrow's color. You can hand it a standard color name or an R:G:B triplet. Default: black
  • output=name [required] β€” the name for your output image file, and no extension okay?? just the name.
  • format=string [required] β€” what graphics file format you want. Options: ppm, tif. Default: ppm
  • size=width,height [required] β€” the size (width, height) of your output image. Default: 640,480

✨ DESCRIPTION ✨

m.nviz.image lets you realistically render multiple surfaces (that's your raster data πŸ—ΊοΈ) out in 3D space, all from the command line. And it's not just bare surfaces either β€” optionally you get thematic coloring, you can drape 2D vector data over the surfaces, show 3D vector data floating in the space, and visualize volume data (3D raster data) too. it's giving full 3D main character energy πŸ’…


🌸 EXAMPLE 🌸

Render that elevation map in 3D space, periodt:

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: Saturday Jan 17 05:41:37 2026

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

Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual


okay bestie that's the whole page, you're literally a 3D rendering icon now 🌈✨ this is from the GRASS GIS 8.4.2 reference manual, page m.nviz.image(1), accessed Saturday Jan 17 05:41:37 2026 β€” go make something gorgeous, ilysm πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from