mbm_grd2geovrml
Section: MB-System 5.0 (1)
Updated: 3 June 2013
Index
NAME
mbm_grd2geovrml - Create and execute commands which generate a TerraVision tileset and GeoVRML terrain set that can be combined with other geospatial data for viewing in a web browser.VERSION
Version 5.0SYNOPSIS
mbm_grd2geovrml bath_file -tvdir tvparent -vrmldir vrmlparent -olat lat -olon lon -vrmlurl url
Additional Options:
-elevscale vert_exag -nowrz -noview -pallette pal -newimage type|file -white -zmax maxclip -zmin minclip -basename basename
DESCRIPTION
mbm_grd2geovrml is a macro that takes as input a GMT geographic-coordinate bathymetry grid file (bath_file) and produces a terrain tile set that may be viewed in a web browser with an appropriate plugin. The bathymetry (geometry) is paired with imagery (texture) to produce artificially illuminated terrain or slope shaded terrain. Alternatively, a co-registered image may be provided as a substitute to the latter imagery which is generated from the bathymetry data. This may be used to, for instance, draping a side scan sonar image over the bathymetry.Before the geoVRML files can be created an intermediate TerraVision tile set must be created from the input GMT bathymetry file and a TIFF image that is either generated from the bathymetry or specified from an existing file with the -newimage option.
This tileset is then used to generate a GeoVRML quadtree multi-resolution set of files. The resulting set of files will be created in vrmlparent/<basename>, where <basename> is the same as bath_file without the usual '.grd' extension. This behavior may be overridded with the -basename option. This is useful if an existing image file is specified with the -newimage file option, in which case the image file base name should be used with -basename (see second example below).
The index.html file produced in this directory can be loaded into Netscape 4.7 on a PC (properly configured with CosmoPlayer and GeoVRML 1.1) for interactive visualization. The resulting terrain can be used as a 3D basemap for use in visualizing other georeferenced data that has also been placed in GeoVRML using the same -olat and -olon settings.
GeoVRML (and TerraVision) expects rectangular gridded elevation data and browsers render all terrain data within the rectangle. This presents a problem for ocean bathymetric data which often have irregular (not rectangular) boundaries. Before converting a grid file to TerraVision format mbm_grd2geovrml replaces all no-data elevation values with a coarse resolution spline-filled extrapolation from the data in the irregular area. This results in a rectangular grid with smooth transitions from areas of elevation data to areas of no data. In the resulting GeoVRML the no data areas are colored black (or white if -white is specified). If -newimage file is specified then the outer boundaries will stay the same color as in the image.
AUTHORSHIP
Mike McCann (mccann@mbari.org)
Monterey Bay Aquarium Research Institute
SIMPLE DESCRIPTION OF BASIC OPTIONS
The TerraVision tileset destination directory. A subdirectory named bath_file (without the .grd extension) will be created here.
The geoOrigin latitude and longitude in decimal degrees. Because of single
precision arithmetic in VRML97 it is necessary to define
a geoOrigin from which offsets are computed before coordinates
are passed into the visualization pipeline. The geoOrigin should
be within 5 degrees of the extent of the grid file in order to
have submeter precision in the location of objects within the
resulting GeoVRML output. See the GeoVRML spec for more details.
The GeoOrigin of the terrain must be the same as the GeoOrigin
of any other GeoVRML content (e.g. navigation tracks, sample
locations) that you wish to combine with the terrain.
type|file is the type used in the -G option of mbm_grdtiff(1)
or the name of a TIFF file that you wish draped over the bathymetry.
The default type value is 2 for synthetic illumination with Haxby color map (this may be modified with the -pallette option). Use 5 to shade the image by slope value. If <type|file> is an image file name then that file is assumed to be orthorectified TIFF image (ending in .tif) that is co-registered with the bathymetry file. This can be used to for example drape a side-scan sonar image over the elevation data. It is up to the user to confirm the co-registration between the terrain data and the image data.
Maxclip and minclip may be used clip the elevation data at set values. For instance, to clip the elevation data at sealevel and tile only bathymetry use -zmax 0. To force a color map of the standard Haxby colors between 4000 and 3000 meters depth use -zmin -4000 -zmax -3000.
The number of Color Lookup Table
that is passed on to the -W1/ option of mbm_grdtiff(1).
The default value is 1 - the Haxby color map. For reference, the
color tables values are:
pallette = 1: Haxby colors [default]
pallette = 2: high Intensity colors
pallette = 3: low Intensity colors
pallette = 4: grayscale
pallette = 5: uniform grayscale
The environment variable TMPDIR must be defined. It specifies the directory in which mbm_grd2geovrml does its work. $TMPDIR should have sufficient space to hold the temporary grid and image files that get created. The resulting 4 times magnified tiff images are left in $TMPDIR. These large image files are reused unless the -newimage option is specified.
A log file is saved at the end of processing in the vrmlparent directory. It includes all the commands and their output. This file may be edited and executed again in order to produce customized output.
mbm_grd2geovrml PapauA_bath \
-olat 21 -olon -157 \
-tvdir ~/TileSets/Pyramids/hawaii \
-vrmldir ~/TileSets/geoVRML/hawaii \
-nowrz -vrmlurl \
http://menard/vrml/terrain/hawaii/PapauA_bath
This example creates a grid file of the Northeast Pacific
at one minute resolution and creates the GeoVRML tiles of it
with the elevations clipped at sea level. A new synthetic
illuminated Haxby-colored image is generated from the elevation data.
# Extract 1 minute data for Northeastern Pacific Ocean
# and convert it to GeoVRML terrain
#
grdraster 4 -R-165/-105/15/50\
-GNEPacific.grd \
-I1m -V
mbm_grd2geovrml NEPacific.grd \
-tvdir ~/TileSets/Pyramids/pacific \
-vrmldir ~/TileSets/geoVRML/pacific \
-vrmlurl \
http://menard/vrml/terrain/hawaii/NEPacific \
-zmax 0 -olat 35 -olon -135 -newimage
This example generates a slope-shaded image from the bathymetry
data in PapauA_bath.grd and saves the geoVRML file in the directory
~/TileSets/geoVRML/hawaii/PapauA_slope. No viewpoints are specified.
mbm_grd2geovrml PapauA_bath \
-olat 21 -olon -157 \
-tvdir ~/TileSets/Pyramids/hawaii \
-vrmldir ~/TileSets/geoVRML/hawaii \
-vrmlurl \
http://menard/vrml/terrain/hawaii/PapauA_slope \
-noview \
-newimage 5 \
-basename PapauA_slope
This example uses a pre-generated side-scan sonar TIFF image and drapes
it over the bathymetry data in PapauA_bath.grd. Viewpoints are excluded.
Ouptut is written to ~/TileSets/geoVRML/hawaii/PapauA_ssdtl.
mbm_grd2geovrml PapauA_bath \
-olat 21 -olon -157 \
-tvdir ~/TileSets/Pyramids/hawaii \
-vrmldir ~/TileSets/geoVRML/hawaii \
-vrmlurl \
http://menard/vrml/terrain/hawaii/PapauA_ssdtl \
-noview \
-newimage PapauA_ssdtl.tif \
-basename PapauA_ssdtl
This macro is built upon some pretty strong shoulders. It uses all of these programs which must be installed on your system.
GMT programs: grdclip(1), grdsample(1), grd2xyz(1), blockmean(1), surface(1), grdedit(1), grdmath(1), grdclip(1),
mb-system macro: mbm_grdtiff(1)
mb-system utility: mbstripNaN(1)
tsmApi-2.3 (http://www.tsmapi.com) programs: make_dem(1), make_oi(1) make_geovrml(1)
Note that after you've created the TerraVision tile sets with this macro you may rerun make_geovrml(1) with different options, for instance to make files for a different server or with a different vertical exaggeration or background color. This can save a lot of processing time if you don't need to generate a new image from the bathymetric data.
ImageMagick (http://www.imagemagick.org) program: mogrify(1)
Please see http://www.mbari.org/~mccann/vrml/ROVDataVis
for example content and more information on the project that developed this
macro.
You need to manually clean up the leftover files that get created in $TMPDIR.
The -vrmlurl option must be specified. As of 19 March 2003 there is a
bug in make_geovrml(1) where if the -vrmlurl option is not
specified invalid VRML is
generated. This is generally not a problem. Because of bugs in VRML browsers
all URLs must be absolute anyway.
The GeoVRML content produced by this macro may be
viewed using Internet Explorer
with the Cortona 4.0 VRML plugin or in Netscape 4.7 with the CosmoPlayer
plugin. Both browsers have problems with loading a second world after
you have viewed one. Netscape 4.7 often must be closed by killing it
with Windows Task Manager. Sometimes the CosmoPlayer plugin will refuse
to load at all. If this happens try removing all cp* files in %TEMP% or
logging in with another Windows account so that a different profile is used.
Last Updated: 3 June 2013