[GRASS-SVN] r64155 - in grass/branches/releasebranch_7_0: gui/wxpython/docs gui/wxpython/nviz gui/wxpython/xml include/Make lib/python/pygrass/modules man raster3d tools

svn_grass at osgeo.org svn_grass at osgeo.org
Tue Jan 13 21:51:21 PST 2015


Author: wenzeslaus
Date: 2015-01-13 21:51:21 -0800 (Tue, 13 Jan 2015)
New Revision: 64155

Modified:
   grass/branches/releasebranch_7_0/gui/wxpython/docs/wxGUI.nviz.html
   grass/branches/releasebranch_7_0/gui/wxpython/nviz/tools.py
   grass/branches/releasebranch_7_0/gui/wxpython/xml/toolboxes.xml
   grass/branches/releasebranch_7_0/gui/wxpython/xml/wxgui_items.xml
   grass/branches/releasebranch_7_0/include/Make/Docs.make
   grass/branches/releasebranch_7_0/lib/python/pygrass/modules/shortcuts.py
   grass/branches/releasebranch_7_0/man/Makefile
   grass/branches/releasebranch_7_0/man/build_class.py
   grass/branches/releasebranch_7_0/man/build_full_index.py
   grass/branches/releasebranch_7_0/man/build_html.py
   grass/branches/releasebranch_7_0/raster3d/raster3dintro.html
   grass/branches/releasebranch_7_0/tools/mkhtml.py
Log:
unify usage of 3D raster (raster3d, raster_3d)

Fixes keyword links in manuals. (Backport of r64053, r64054, r64055, r64145, r64154, and r64109.)


Modified: grass/branches/releasebranch_7_0/gui/wxpython/docs/wxGUI.nviz.html
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/docs/wxGUI.nviz.html	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/gui/wxpython/docs/wxGUI.nviz.html	2015-01-14 05:51:21 UTC (rev 64155)
@@ -8,10 +8,10 @@
 <p>
 <b>wxNviz</b> is a <em><a href="wxGUI.html">wxGUI</a></em> <b>3D view
 mode</b> which allows users to realistically render multiple
-<em>surfaces</em> (raster data) in a 3D space, optionally using
-thematic coloring, draping 2D <em>vector</em> data over the surfaces,
-displaying 3D vector data in the space, and visualization
-of <em>volume</em> data (3D raster data).
+<em>surfaces</em> (2D raster maps) in a 3D space, optionally using
+thematic coloring, draping 2D <em>vector</em> data or different 2D raster data
+over the surfaces, displaying 3D vector data in the space, and visualization
+of <em>3D rasters</em>.
 
 <p>
 To start the wxGUI 3D view mode, choose '3D view' from the map
@@ -120,7 +120,7 @@
 <h3>Data properties</h3> 
 This tab controls the parameters related to map layers. It consists
 of four collapsible panels - <em>Surface</em>, <em>Constant surface</em>, 
-<em>Vector</em> and <em>Volume</em>.
+<em>Vector</em> and <em>3D raster</em>.
 
 <h4>Surface</h4>
 
@@ -240,20 +240,21 @@
   <br><img src="wxGUI_nviz_tools_vector.jpg" border="1" alt="toolbox"><br><br>
 </center>
 
-<h4>Volume</h4>
+<h4>3D rasters</h4>
 
-Volumes (3D raster maps) can be displayed either as isosurfaces or slices.
+3D raster maps (volumes, voxel models) can be displayed either as isosurfaces
+or slices.
 Similarly to surface panel you can define draw <b>shading</b> -
-<em>gouraud</em> (draws the volumes with a smooth shading to blend
-individual cell colors together) and <em>flat</em> (draws the volumes with
-flat shading with one color for every two cells. The volume appears
+<em>gouraud</em> (draws the 3D rasters with a smooth shading to blend
+individual cell colors together) and <em>flat</em> (draws the 3D rasters with
+flat shading with one color for every two cells. The 3D raster appears
 faceted). As mentioned above currently are supported two visualization
 modes:
 
 <ul>
   <li><b>isosurface</b> - the levels of values for drawing the
-  volume(s) as isosurfaces,</li>
-  <li>and <b>slice</b> -  drawing the volume
+  3D raster(s) as isosurfaces,</li>
+  <li>and <b>slice</b> -  drawing the 3D raster
   as cross-sections.</li>
 </ul>
 <p>
@@ -268,23 +269,23 @@
   <li><b>isosurface value</b> - reference isosurface value (height in map
   units).</li>
   <li><b>color</b> - raster map or constant color to drape over the
-  current volume.</li>
+  current 3D raster.</li>
   <li><b>mask</b> - raster map that controls the areas displayed from
-    the current volume.</li>
+    the current 3D raster.</li>
   <li><b>transparency</b> - raster map or constant value that controls
-    the transparency of the current volume. The default is completely
+    the transparency of the current 3D raster. The default is completely
     opaque. Range from 0 (opaque) to 100 (transparent).</li>
   <li><b>shininess</b> - raster map or constant value that controls
-    the shininess (reflectivity) of the current volume. Range from 0 to
+    the shininess (reflectivity) of the current 3D raster. Range from 0 to
     100.</li>
 </ul>
 
-In case of volume slice the bottom part of the panel controls the slice 
+In case of 3D raster slice the bottom part of the panel controls the slice 
 attributes (which axis is slice parallel to, position of slice edges,
 transparency). Press button <em>Reset</em> to reset slice position
 attributes.
 <p>
-Volumes can be moved the same way like surfaces do.
+3D rasters can be moved the same way like surfaces do.
 
 <center>
   <br><img src="wxGUI_nviz_tools_volume.jpg" border="1" alt="toolbox"><br><br>
@@ -350,7 +351,7 @@
 <h2>Settings</h2>
 
 This panel has controls which allows user to set default surface,
-vector and volume data attributes. You can also modify default view
+vector and 3D raster data attributes. You can also modify default view
 parameters, or to set the background color of the Map Display Window
 (the default color is white).
 

Modified: grass/branches/releasebranch_7_0/gui/wxpython/nviz/tools.py
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/nviz/tools.py	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/gui/wxpython/nviz/tools.py	2015-01-14 05:51:21 UTC (rev 64155)
@@ -560,7 +560,7 @@
         self.EnablePage("vector", enabled = False)
         
         # volume page
-        volumePanel = self.foldpanelData.AddFoldPanel(_("Volume"), collapsed = True)
+        volumePanel = self.foldpanelData.AddFoldPanel(_("3D raster"), collapsed=True)
         self.foldpanelData.AddFoldPanelWindow(volumePanel,
             window = self._createVolumePage(parent = volumePanel), flags = fpb.FPB_ALIGN_WIDTH)
         self.EnablePage("volume", enabled = False)

Modified: grass/branches/releasebranch_7_0/gui/wxpython/xml/toolboxes.xml
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/xml/toolboxes.xml	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/gui/wxpython/xml/toolboxes.xml	2015-01-14 05:51:21 UTC (rev 64155)
@@ -154,7 +154,7 @@
     </items>
   </toolbox>
   <toolbox name="Volumes">
-    <label>V&olumes</label>
+    <label>3D r&aster</label>
     <items>
       <subtoolbox name="DevelopVolumes"/>
       <subtoolbox name="Raster3dMapTypeConversions"/>
@@ -167,7 +167,7 @@
       </module-item>
       <separator/>
       <module-item name="r3.mask">
-        <label>3D Mask</label>
+        <label>3D mask</label>
       </module-item>
       <wxgui-item name="VolumeCalculator"/>
       <module-item name="r3.cross.rast">
@@ -177,7 +177,7 @@
         <label>Groundwater modeling</label>
       </module-item>
       <module-item name="v.vol.rst">
-        <label>Interpolate volume from points</label>
+        <label>Interpolate 3D raster from points</label>
       </module-item>
       <separator/>
       <subtoolbox name="Raster3dReportsAndStatistics"/>
@@ -515,24 +515,24 @@
         <label>Raster to vector</label>
       </module-item>
       <module-item name="r.to.rast3">
-        <label>Raster series to volume</label>
+        <label>Raster series to 3D raster</label>
       </module-item>
       <module-item name="r.to.rast3elev">
-        <label>Raster 2.5D to volume</label>
+        <label>Raster 2.5D to 3D raster</label>
       </module-item>
       <separator/>
       <module-item name="v.to.rast">
         <label>Vector to raster</label>
       </module-item>
       <module-item name="v.to.rast3">
-        <label>Vector to volume</label>
+        <label>Vector to 3D raster</label>
       </module-item>
       <module-item name="v.to.3d">
         <label>2D vector to 3D vector</label>
       </module-item>
       <separator/>
       <module-item name="r3.to.rast">
-        <label>Volume to raster series</label>
+        <label>3D raster to raster series</label>
       </module-item>
     </items>
   </toolbox>
@@ -708,10 +708,10 @@
         <label>Raster to vector</label>
       </module-item>
       <module-item name="r.to.rast3">
-        <label>Raster series to volume</label>
+        <label>Raster series to 3D raster</label>
       </module-item>
       <module-item name="r.to.rast3elev">
-        <label>Raster 2.5D to volume</label>
+        <label>Raster 2.5D to 3D raster</label>
       </module-item>
     </items>
   </toolbox>
@@ -1253,7 +1253,7 @@
         <label>Vector to raster</label>
       </module-item>
       <module-item name="v.to.rast3">
-        <label>Vector to volume</label>
+        <label>Vector to 3D raster</label>
       </module-item>
       <module-item name="v.to.3d">
         <label>2D vector to 3D vector</label>
@@ -1645,7 +1645,7 @@
     </items>
   </toolbox>
   <toolbox name="DevelopVolumes">
-    <label>Develop volumes</label>
+    <label>Develop 3D raster map</label>
     <items>
       <module-item name="r3.null">
         <label>Manage 3D NULL values</label>
@@ -1659,7 +1659,7 @@
     <label>Map type conversions</label>
     <items>
       <module-item name="r3.to.rast">
-        <label>Volume to raster series</label>
+        <label>3D rasters to raster series</label>
       </module-item>
     </items>
   </toolbox>
@@ -1667,13 +1667,13 @@
     <label>Reports and Statistics</label>
     <items>
       <module-item name="r3.info">
-        <label>Basic volume metadata</label>
+        <label>Basic 3D raster metadata</label>
       </module-item>
       <module-item name="r3.stats">
-        <label>Voxel statistics</label>
+        <label>3D raster statistics</label>
       </module-item>
       <module-item name="r3.univar">
-        <label>Univariate statistics for volumes</label>
+        <label>Univariate statistics for 3D rasters</label>
       </module-item>
     </items>
   </toolbox>
@@ -1783,7 +1783,7 @@
     </items>
   </toolbox>
   <toolbox name="Temporal">
-    <label>Temporal</label>
+    <label>&Temporal</label>
     <items>
       <subtoolbox name="TemporalManageDatasets"/>
       <subtoolbox name="TemporalManageMapsInDatasets"/>
@@ -1791,7 +1791,7 @@
       <subtoolbox name="TemporalImport"/>
       <subtoolbox name="TemporalExport"/>
       <module-item name="t.rast.to.rast3">
-        <label>Convert raster dataset to volume</label>
+        <label>Convert raster dataset to 3D raster</label>
       </module-item>
       <separator/>
       <subtoolbox name="TemporalExtraction"/>

Modified: grass/branches/releasebranch_7_0/gui/wxpython/xml/wxgui_items.xml
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/xml/wxgui_items.xml	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/gui/wxpython/xml/wxgui_items.xml	2015-01-14 05:51:21 UTC (rev 64155)
@@ -72,7 +72,7 @@
     <label>Raster map calculator</label>
     <handler>OnMapCalculator</handler>
     <related-module>r.mapcalc</related-module>
-    <description>Raster map calculator.</description>
+    <description>Raster map calculator</description>
     <keywords>raster,algebra</keywords>
   </wxgui-item>
   <wxgui-item name="Histogram">
@@ -81,10 +81,10 @@
     <description>Generate histogram of image</description>
   </wxgui-item>
   <wxgui-item name="VolumeCalculator">
-    <label>Volume calculator</label>
+    <label>3D raster map calculator</label>
     <handler>OnMapCalculator</handler>
     <related-module>r3.mapcalc</related-module>
-    <description>3D raster map calculator.</description>
+    <description>3D raster map calculator</description>
     <keywords>raster,algebra</keywords>
   </wxgui-item>
   <wxgui-item name="GRASSHelp">

Modified: grass/branches/releasebranch_7_0/include/Make/Docs.make
===================================================================
--- grass/branches/releasebranch_7_0/include/Make/Docs.make	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/include/Make/Docs.make	2015-01-14 05:51:21 UTC (rev 64155)
@@ -62,7 +62,7 @@
 	photo.html \
 	postscript.html \
 	raster.html \
-	raster3D.html \
+	raster3d.html \
 	vector.html
 
 html_pdf = \

Modified: grass/branches/releasebranch_7_0/lib/python/pygrass/modules/shortcuts.py
===================================================================
--- grass/branches/releasebranch_7_0/lib/python/pygrass/modules/shortcuts.py	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/lib/python/pygrass/modules/shortcuts.py	2015-01-14 05:51:21 UTC (rev 64155)
@@ -56,7 +56,7 @@
 #  m.*	miscellaneous commands
 #  ps.*	postscript commands
 #  r.*	raster commands
-#  r3.*	raster3D commands
+#  r3.*	3D raster commands
 #  t.*	temporal commands
 #  v.*	vector commands
 
@@ -67,6 +67,6 @@
 miscellaneous = MetaModule('m')
 postscript = MetaModule('ps')
 raster = MetaModule('r')
-raster3D = MetaModule('r3')
+raster3d = MetaModule('r3')
 temporal = MetaModule('t')
 vector = MetaModule('v')

Modified: grass/branches/releasebranch_7_0/man/Makefile
===================================================================
--- grass/branches/releasebranch_7_0/man/Makefile	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/man/Makefile	2015-01-14 05:51:21 UTC (rev 64155)
@@ -17,7 +17,7 @@
 	m:misc \
 	ps:postscript \
 	r:raster \
-	r3:raster3D \
+	r3:raster3d \
 	t:temporal \
 	v:vector
 

Modified: grass/branches/releasebranch_7_0/man/build_class.py
===================================================================
--- grass/branches/releasebranch_7_0/man/build_class.py	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/man/build_class.py	2015-01-14 05:51:21 UTC (rev 64155)
@@ -26,8 +26,11 @@
 
 write_html_header(f, "GRASS GIS %s Reference Manual: %s" % (grass_version, modclass))
 if modclass.lower() not in ['general', 'misc', 'postscript']:
+    if modclass == 'raster3d':
+        # covert keyword to nice form
+        modclass = '3D raster'
     f.write(modclass_intro_tmpl.substitute(modclass = modclass, modclass_lower = modclass.lower()))
-f.write(modclass_tmpl.substitute(modclass = modclass.title()))
+f.write(modclass_tmpl.substitute(modclass=to_title(modclass)))
 
 #for all modules:
 for cmd in html_files(cls):

Modified: grass/branches/releasebranch_7_0/man/build_full_index.py
===================================================================
--- grass/branches/releasebranch_7_0/man/build_full_index.py	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/man/build_full_index.py	2015-01-14 05:51:21 UTC (rev 64155)
@@ -23,7 +23,7 @@
     'm' : 'miscellaneous',
     'ps' : 'postscript',
     'r' : 'raster',
-    'r3' : '3d raster',
+    'r3' : '3D raster',
     't' : 'temporal',
     'v' : 'vector'
 }
@@ -48,7 +48,7 @@
 
 #for all module groups:
 for cls, cls_label in classes:
-    f.write(cmd2_tmpl.substitute(cmd_label = cls_label.title(), cmd = cls))
+    f.write(cmd2_tmpl.substitute(cmd_label=to_title(cls_label), cmd=cls))
     #for all modules:  
     for cmd in html_files(cls):
 	basename = os.path.splitext(cmd)[0]

Modified: grass/branches/releasebranch_7_0/man/build_html.py
===================================================================
--- grass/branches/releasebranch_7_0/man/build_html.py	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/man/build_html.py	2015-01-14 05:51:21 UTC (rev 64155)
@@ -131,7 +131,7 @@
       <td width="33%" valign="top" class="box"><h3> 3D raster processing</h3>
        <ul>
         <li class="box"><a href="raster3dintro.html">Intro: 3D raster map (voxel) processing</a></li>
-        <li class="box"><a href="raster3D.html">3D raster (voxel) commands manual</a></li>
+        <li class="box"><a href="raster3d.html">3D raster (voxel) commands manual</a></li>
       </ul></td>
       <td width="33%" valign="top" class="box"><h3> Image processing</h3>
        <ul>
@@ -399,6 +399,10 @@
 
     return ""
 
+def to_title(name):
+    """Convert name of command class/family to form suitable for title"""
+    return name.capitalize()
+
 ############################################################################
 
 arch_dist_dir = os.environ['ARCH_DISTDIR']

Modified: grass/branches/releasebranch_7_0/raster3d/raster3dintro.html
===================================================================
--- grass/branches/releasebranch_7_0/raster3d/raster3dintro.html	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/raster3d/raster3dintro.html	2015-01-14 05:51:21 UTC (rev 64155)
@@ -1,42 +1,93 @@
-<!-- meta page description: 3D raster data (voxel) processing in GRASS GIS -->
-<!-- meta page index: raster3D -->
-<h3>3D Raster maps (voxels) in general</h3>
+<!-- meta page description: 3D raster data in GRASS GIS -->
+<!-- meta page index: raster3d -->
+<h3>3D raster maps in general</h3>
 
-GRASS GIS is one of the few GIS software packages with volume data support.
-Here data are stored as a 3D raster with a unit volume called a voxel
-(volume pixel). Voxels are designed to support representations of
-trivariate continuous fields. The vertical dimension supports spatial and temporal units.
-Hence space time voxel cubes with different temporal resolutions can be created and processed.
+GRASS GIS is one of the few GIS software packages with 3D raster data support.
+Data are stored as a 3D raster with 3D cells of a given volume.
+3D rasters are designed to support representations of
+trivariate continuous fields.
+The vertical dimension supports spatial and temporal units.
+Hence space time 3D raster with different temporal resolutions
+can be created and processed.
+
 <p>
-
 GRASS GIS 3D raster maps use the same coordinate system as
 2D raster maps (row count from north to south) with an additional z dimension (depth)
-counting from bottom to top. The upper left corner (NW) is the origin of the voxel. 
-Volumes are stored using a tile cache based approach. This allows abritrary read 
-and write operations in the created volume. The size of the tiles can be specified at import time
-with <a href="r3.in.ascii.html">r3.in.ascii</a> or the data can be retiled using
+counting from bottom to top. The upper left corner (NW) is the origin. 
+3D rasters are stored using a tile cache based approach. This allows arbitrary
+read and write operations in the created 3D raster. The size of the tiles
+can be specified at import time with a given import module such as
+<a href="r3.in.ascii.html">r3.in.ascii</a> or the data can be retiled using
 <a href="r3.retile.html">r3.retile</a> after import or creation.
 
 <div align="center" style="margin: 10px">
 <img src="r3_volume_layout.png" border=0><br>
-<i>The volume coordinate system and tile layout of the RASTER3D library</i>
+<i>The 3D raster map coordinate system and tile layout of the RASTER3D library</i>
 </div>
 
-<h3>3D Raster (voxel) import</h3>
+<h3>Terminology and naming</h3>
 
+GRASS GIS uses terminology where continuous 3D data represented by regular grid
+or lattice is called <em>3D raster map</em>.
+3D raster map works in 3D in the same as (2D) raster map in 2D,
+so it is called the same except for the additional 3D.
+Some literature or other software may use terms such as 3D grid, 3D lattice,
+3D matrix, 3D array, volume, voxel, voxel model, or voxel cube.
+Note that terms volume and volumetric often refer to measuring
+volume (amount) of some substance which may or may not be related to 3D rasters.
+
+Note that GRASS GIS uses the term 3D raster map or just 3D raster for short,
+rather than 3D raster layer because term map emphasizes
+the mapping of positions to values which is the purpose of 3D raster map
+(in mathematics, map or mapping is close to a term function).
+While the term layer emphasizes overlaying or stacking up.
+The former is not the only only operation done with data
+and the latter could be confusing in case of 3D raster data.
+
+3D raster map is divided into cells in the same as the (2D) raster map.
+A cell is a cuboid or cube depending on the resolution.
+The resolution influences volume of one cell.
+Some literature or other software may use terms such as volume, volume unit,
+volumetric pixel, volume pixel, or voxel.
+Note that voxel can be sometimes used to refer to a whole 3D raster
+and that for example in 3D computer graphics, voxel can denote object
+with some complicated shape.
+
+Type of map and element name in GRASS GIS is called <code>raster_3d</code>.
+The module family prefix is <code>r3</code>.
+Occasionally, for example in Python, 3D raster related things can be
+referred differently, for example according to a programming language standards.
+
+In GRASS GIS 3D rasters as stored in tiles which are hidden from user most
+of the time. When analyzing or visualizing 3D rasters user can create
+slices or cross sections. Slices can be horizontal, vertical, or general
+plains going through a 3D raster. Slices, especially the horizontal ones, may be
+called layers in some literature or some other software.
+Cross sections are general functions, e.g. defined by 2D raster, going through
+a 3D raster.
+
+When 3D raster is used in the way that vertical dimension represents time
+3D raster can be referred to as space time cubes (STC) or space time cube
+3D raster. Some literature may also use space time voxel cube,
+space time voxel model or some other combination.
+
+<h3>3D raster import</h3>
+
 The modules <a href="r3.in.ascii.html">r3.in.ascii</a> and
  <a href="r3.in.bin.html">r3.in.bin</a> supports
-generic x,y,z ASCII and binary array import. Alternatively, volumes can be generated
+generic x,y,z ASCII and binary array import.
+Alternatively, 3D rasters can be generated
 from 3D point vector data (<a href="v.to.rast3.html">v.to.rast3</a>). 
 Always the full map is imported.
-Volumes can also be created based on 2D elevation map(s) and value raster map(s)
+3D raster can also be created based on 2D elevation map(s) and value raster map(s)
 (<a href="r.to.rast3elev.html">r.to.rast3elev</a>). Alternatively,
-a volume can be composed of several 2D raster map slices which are
-merged into one 3D raster (voxel) map (<a href="r.to.rast3.html">r.to.rast3</a>).
+a 3D raster can be composed of several 2D raster maps.
+2D rasters are considered as slices in this case and
+merged into one 3D raster map (<a href="r.to.rast3.html">r.to.rast3</a>).
 
 <h3>3D region settings and 3D MASK</h3>
 
-GRASS 3D raster map processing is always performed in the current 3D region
+GRASS GIS 3D raster map processing is always performed in the current 3D region
 settings (see <a href="g.region.html">g.region</a>, <em>-p3</em> flags), i.e.
 the current region extent, vertical extent and current 3D resolution are used.
 If the 3D resolution differs from that of the input raster map(s),
@@ -45,61 +96,76 @@
 beforehand with one of the dedicated modules.
 Masks can be set (<a href="r3.mask.html">r3.mask</a>).
 
-<h3>Volume operations</h3>
+<h3>3D raster analyses and operations</h3>
 
-Powerful 3D map algebra is implemented in <a href="r3.mapcalc.html">r3.mapcalc</a>.
+Powerful 3D raster map algebra is implemented in
+<a href="r3.mapcalc.html">r3.mapcalc</a>.
 
 A 3D groundwater flow model is implemented in <a href="r3.gwflow.html">r3.gwflow</a>.
 
 <h3>3D raster conversion to vector or 2D raster maps</h3>
 
-3D vector point data can be converted to a GRASS 3D raster map
-(<a href="v.to.rast3.html">v.to.rast3</a>).
-Layers from a 3D raster map can be converted to a 2D raster map
+Slices from a 3D raster map can be converted to a 2D raster map
 (<a href="r3.to.rast.html">r3.to.rast</a>).
 Cross sectional 2D raster map can be extracted from 3D raster map based
 on a 2D elevation map (<a href="r3.cross.rast.html">r3.cross.rast</a>).
 
 <h3>3D raster statistics</h3>
 
-Volume statistics can be calculated with <a href="r3.stats.html">r3.stats</a>
+3D raster statistics can be calculated with <a href="r3.stats.html">r3.stats</a>
 and <a href="r3.univar.html">r3.univar</a>.
 
 <h3>3D raster interpolation</h3>
 
 From 3D vector points, GRASS 3D raster maps can be interpolated
-(<a href="v.vol.rst.html">v.vol.rst</a>). Results are volumes,
-or 2D raster maps can be also extracted.
+(<a href="v.vol.rst.html">v.vol.rst</a>).
+Results are 3D raster maps, however 2D raster maps can be also extracted.
 
 <h3>3D raster export</h3>
 
 The modules <a href="r3.out.ascii.html">r3.out.ascii</a> and
- <a href="r3.out.bin.html">r3.out.bin</a> support the export of
- 3D raster maps as ASCII or binary files. The output of these modules
- can be imported with the coresponding import modules noted above.
+<a href="r3.out.bin.html">r3.out.bin</a> support the export of
+3D raster maps as ASCII or binary files. The output of these modules
+can be imported with the corresponding import modules noted above.
+
 <p>
 NetCDF export of 3D raster maps can be performed using the module 
 <a href="r3.out.netcdf.html">r3.out.netcdf</a>. It supports 3D raster maps
-with spatial and temporal vertical dimension (Space time voxel cubes).
+with spatial dimensions and temporal (vertical) dimension.
+
 <p>
-GRASS 3D raster maps can be exported to VTK (<a href="r3.out.vtk.html">r3.out.vtk</a>).
+GRASS GIS 3D raster maps can be exported to VTK
+using <a href="r3.out.vtk.html">r3.out.vtk</a>.
 VTK files can be visualized with the 
-<em><a href="http://www.vtk.org">VTK Toolkit</a></em>, 
-<em><a href="http://www.paraview.org">Paraview</a></em> and 
+<em><a href="http://www.vtk.org">VTK Toolkit</a></em>,
+<em><a href="http://www.paraview.org">Paraview</a></em> and
 <em><a href="http://mayavi.sourceforge.net">MayaVi</a></em>.
-GRASS 2D raster maps can be exported to VTK with <a href="r.out.vtk.html">r.out.vtk</a>,
-GRASS vector maps can be exported to VTK with <a href="v.out.vtk.html">v.out.vtk</a>.
+Moreover, GRASS GIS 2D raster maps can be exported to VTK with
+<a href="r.out.vtk.html">r.out.vtk</a>
+and GRASS GIS vector maps can be exported to VTK with
+<a href="v.out.vtk.html">v.out.vtk</a>.
+
 <p>
 Alternatively, GRASS 3D raster maps can be imported and exported from/to Vis5D
 (<a href="r3.in.v5d.html">r3.in.v5d</a>, <a href="r3.out.v5d.html">r3.out.v5d</a>).
 Note that Vis5D is limited in the number of supported volumes.
+<!-- it is not clear what 'volume' means here -->
 
+
+<h3>3D raster data types</h3>
+
+3D raster's single-precision data type is most often called "FCELL" or "float",
+and the double-precision one "DCELL" or "double".
+
+
 <h3>See also</h3>
 
 <ul>
   <li><a href="rasterintro.html">Introduction into raster data processing</a></li>
   <li><a href="vectorintro.html">Introduction into vector data processing</a></li>
   <li><a href="imageryintro.html">Introduction into image processing</a></li>
-  <li><a href="databaseintro.html">Database management</a></li>
+  <li><a href="temporalintro.html">Temporal data processing</a></li>
   <li><a href="projectionintro.html">Projections and spatial transformations</a></li>
+  <li><a href="wxGUI.nviz.html">wxGUI 3D View Mode</a></li>
+  <li><em><a href="m.nviz.image.html">m.nviz.image</a></em></li>
 </ul>

Modified: grass/branches/releasebranch_7_0/tools/mkhtml.py
===================================================================
--- grass/branches/releasebranch_7_0/tools/mkhtml.py	2015-01-14 05:27:41 UTC (rev 64154)
+++ grass/branches/releasebranch_7_0/tools/mkhtml.py	2015-01-14 05:51:21 UTC (rev 64155)
@@ -55,7 +55,7 @@
 
 footer_index = string.Template(\
 """<hr class="header">
-<p><a href="index.html">Main index</a> | <a href="${INDEXNAME}.html">${INDEXNAMECAP} index</a> | <a href="topics.html">Topics index</a> | <a href="keywords.html">Keywords Index</a> | <a href="full_index.html">Full index</a></p>
+<p><a href="index.html">Main index</a> | <a href="${INDEXNAME}.html">${INDEXNAMECAP} index</a> | <a href="topics.html">Topics index</a> | <a href="keywords.html">Keywords index</a> | <a href="full_index.html">Full index</a></p>
 <p>© 2003-${YEAR} <a href="http://grass.osgeo.org">GRASS Development Team</a>, GRASS GIS ${GRASS_VERSION} Reference Manual</p>
 </div>
 </body>
@@ -64,7 +64,7 @@
 
 footer_noindex = string.Template(\
 """<hr class="header">
-<p><a href="index.html">Main index</a> | <a href="topics.html">Topics index</a> | <a href="keywords.html">Keywords Index</a> | <a href="full_index.html">Full index</a></p>
+<p><a href="index.html">Main index</a> | <a href="topics.html">Topics index</a> | <a href="keywords.html">Keywords index</a> | <a href="full_index.html">Full index</a></p>
 <p>© 2003-${YEAR} <a href="http://grass.osgeo.org">GRASS Development Team</a>, GRASS GIS ${GRASS_VERSION} Reference Manual</p>
 </div>
 </body>
@@ -231,12 +231,23 @@
     'ps': 'postscript',
     'p' : 'paint',
     'r' : 'raster',
-    'r3': 'raster3D',
+    'r3': 'raster3d',
     's' : 'sites',
     't' : 'temporal',
     'v' : 'vector'
     }
 
+def to_title(name):
+    """Convert name of command class/family to form suitable for title"""
+    return name.capitalize()
+
+index_titles = {}
+for key, name in index_names.iteritems():
+    if key == 'r3':
+        index_titles[key] = '3D raster'
+    else:
+        index_titles[key] = to_title(name)
+
 # process footer
 index = re.search('(<!-- meta page index:)(.*)(-->)', src_data, re.IGNORECASE)
 if index:
@@ -248,7 +259,7 @@
 else:
     mod_class = pgm.split('.', 1)[0]
     index_name = index_names.get(mod_class, '')
-    index_name_cap = index_name.title()
+    index_name_cap = index_titles.get(mod_class, '')
 
 grass_version = os.getenv("VERSION_NUMBER", "unknown")
 year = os.getenv("VERSION_DATE")



More information about the grass-commit mailing list