The new tools are used to create dynamic cartographic models of multi-variate landscape phenomena characterized by sets of discrete sampling points and by interpolated surfaces/hypersurfaces. The ability to visualize the data points in 3D space, fly through the point space, select certain values (e.g., time) as a third dimension and assign various graphical variables (size, color, shape, numerical label) to selected attributes (Brown 1996) facilitates visual analysis of spatial relationship between the location of point data and their measured values and helps in evaluation of interpolation techniques used to generate the surfaces.
Better visualization of point data for validation of source data. For visualization purposes, point data is often used to derive an artificial surface or a volume from which isosurfaces may be calculated. Such data extrapolation and interpolation is also necessary for modeling purposes to produce input data for models that work with grids or volumes. Better visualization of point data for comparison to derived surfaces at various stages of the modeling process allows the researcher to better understand and verify the model.
Qualitative pre-selection of raw data points can help eliminate data with low certainty. We developed tools (d.siter, Appendix XX) that allow selection and visualization of subsets of data directly within the GIS in the native multi-attribute site format.
Building on recent improvements to the GIS library that work intelligently with spatial site data containing multiple attributes and more than two dimensions, visualization tools have been improved to allow multiple attributes/dimensions of point data to determine the shape, size, color and orientation of solid 3D markers as well as the 3D position (SG3d Upgrades, Appendix XX). Additional tools have been developed to allow selection and display of a subset of sites from a larger file based on ranges of values for various attributes of each site. Given a value for an attribute of the data at a particular site, visualization is accomplished by mapping the value to one or more characteristics of the marker. In the case of color, three attributes (representing red, green, and blue components) may be used to map a single characteristic, color. For each data attribute, the visualization tools allow a transformation consisting of an addvalue and a multiplyvalue which converts the data value to visualization units, preventing duplication of data in the database solely for the purpose of visualization and allowing the researcher to more freely explore visualization combinations. If a single value is being used to map color, the existing format in the GIS for specifying color tables for raster data is used.
Variable shape of site markers is implemented by having an "alternative" size field which is used to scale the marker vertically. Plans to allow scaling the marker differently in each dimension according to attributes of the site data will further enhance the variability of shape. Using time stamps representing data measurement times, it is possible to visualize data collection sites and measured values in compressed time, drawing the site markers at intervals proportionally representing the time of measurement, and perhaps using derived data as a background surface. Such methods could highlight, for example, a measurement interval in which instruments were improperly calibrated, a period of sparse measurement, inadvertant influence due to spatial measurement patterns, or dramatic change that would need to be investigated further.
Animation of data is used to represent a change in time, change in a modeling parameter, or change in visible data. Producing an animation of the data involves redrawing the scene repeatedly with slightly changing data or viewpoint, saving each resulting image, and then combining them with existing multimedia tools into a movie. Our visualization tools incorporate a scripting mechanism which records the actions of the user while also allowing the use of loops. An integrated tool in the GUI provides methods for building the script, including functions such as Open Loop, Close Loop, Open File Sequence Loop, and Close File Sequence Loop, which help in the creation of animations by allowing a sequence of actions to be applied to a sequence of data files. Similarly, a File Sequence Tool allows iteration of data associated with the raster, vector, and site maps for producing the most common type of data visualization animation, where data has been precalculated to represent a timestep or change in modeling parameter and there will be no change in viewer position. This tool also makes it easy to add a somewhat constant dataset such as roads for better spatial reference. For more details on the use of animations for erosion modeling see Mitas et al 1996 and Mitas et al 1997.
Initially, tools were implemented on the Silicon Graphics platform using a proprietary graphics library, IRIS GL. While the interface language, Tcl, is publicly available for use on multiple platforms, the underlying graphics routines needed to be converted to OpenGL, a widely available graphic standard. Most of the tools have now been converted to use the OpenGL graphics API.
Visual analysis of multi-variate data represented by multi-dimensional rasters is also supported by capabilities to create fly-by's and to animate series of surfaces and isosurfaces. Vertical relationships between multiple surfaces, typical for representation of soil data, are analyzed using dynamic cutting planes. Surface/hypersurface representation is not restricted to globally continuous fields. A method for effective representation and visualization of surfaces with discontinuities using splines and GIS tools was developed by Cox et al. 1994. Phenomena represented by classes, such as vegetation or land use, can be represented as surfaces with faults as well. Proper interpolation to high resolution 2D,3D and 4D rasters, adequate scaling in 3rd and 4th dimension, selection of proper color schemes and visualization parameters play a key role in creating dynamic cartographic models from land characterization data. The efficiency and suitability of visualization tools for exploring multi-variate land characterization data is ensured by a high level of interactivity and by a combination of advanced visualization capabilities with the traditional spatial query and analysis functions of GIS (Brown et al. 1995, Brown and Astley 1995).
Multiple surfaces have proven useful to visualize boundaries of layers when examining soil core data and soil horizon crossections. Achieving intuitive visual representations of these horizons presents a technical challenge in terms of dimensional scale, as demonstrated by Figure AA. The vertical dimension is often quite small relative to the other two (eg, soil depth of a few meters vs. region dimensions of several kilometers), so is often exaggerated when a single surface is displayed. This exaggeration is usually adequate to add relief to an otherwise featureless surface, but in order to separate close stratified layers, the required exaggeration grossly distorts the modeled layers. If vertical translation of a surface is used to separate surfaces enough that they may be viewed separately, intersections between horizons and relative distances are misrepresented. This is unacceptable since these may actually be the features we are interested in viewing. To study differences between two similar surfaces, we use a scaled difference approach where only the spatial distance between surfaces is exaggerated, maintaining correct surface intersections.
A post-processed raster surface rendered in the same 3-space as the original data surface helps to reveal the successes and failures of the interpolation model; localized overshoots and undershoots, excess smoothing of significant detail or revelation of detail hidden by noise is easily compared in a qualitative manner. (Figure BB)
Animation is an important tool for exploring large and complex data sets, especially when they involve both spatial and temporal dimensions. Recent progress in graphics technology and emerging standards for animation file formats have made desktop animations easier to produce and share with colleagues. Animation is useful for representation of change in time, change in a modeling parameter (Ehlschlaeger 1994), change in viewer position (fly-bys) or change in visible data (fence cuts, slices). Figure CC shows several frames from an animation where a fence cut is moved through data to better view underlying surface structure. We implemented animation capabilities in both 2D (xganim, Figure DD and Appendix XX) and 3D tools.
Querying a 2D data set displayed as a raster image can be thought of as a scale operation and a translation operation. When a user clicks on a pixel, the relative position in the image is scaled by the resolution of a pixel and the north and east offsets are added to obtain the geographical position. When displaying surfaces in 3D space with perspective, however, clicking on a pixel on the image of the surface really represents a ray through 3D space. The point being queried is the intersection of this ray with the closest visible (unmasked) part of one of the surfaces in the display. One method for 3D querying provided by some graphics libraries is a "selection" method, where objects are "redrawn" without actually drawing to the screen, and any objects drawn at the query point are returned as the "selected" objects. This method is slow and at best the returned object is a polygon rather than a specific point on the polygon. Therefore, we require the user to specify the type of data they are querying (surface, point, or vector) and then use our knowledge of the geometry of that data to perform a geometric query in 3D. Figure EE shows that using cutting planes can allow the user to query a specific location on a surface that is covered by another surface. This specialized point-on-surface algorithm can be outlined as follows: 1. Transform point on view plane to a view ray. 2. Intersect view ray with convex polyhedron defined by the intersection of the parallelepiped view region with any user defined cutting planes. 3. If ray enters this polyhedron, trace ray to find any intersections with visible (unmasked) parts of any surfaces. 4. Choose closest intersection to viewer (or return an ordered list). Such point-on-surface functionality is useful for 3D data querying, setting center of view and setting center of rotation for vector transformations.
GRASS, as an open system with a full range of GIS capabilities has provided a sound basis for testbed development of visualization tools. Each GRASS data type (raster, vector, and site) plus our own 3D grid format may be used for visualization in a single 3D space. In our implementation, there are four object types and various ways to represent each.
Surfaces. A surface requires at least one raster data set to represent topography and may use other raster data sets to represent attributes of color, transparency, masking, and shininess. These data sets may have been derived from vector (e.g., countour) or scattered point data using tools within the GIS. Users are allowed to use a constant value in the place of any raster data set to produce, for example, a flat surface for reference purposes or a constant color surface.
Vector sets. 3D vector sets are not currently supported, so in order to display 2D vector sets in 3 dimensions, they must be associated with one or more surfaces. The 2D vector sets are then draped over any of these surfaces.
Site Objects. Point data is represented by 3D solid glyphs. Attributes from the database may be used to define the color, size, and shape of the glyphs. 2D site data must be associated with one or more surfaces, and 3D site data may be associated with a surface (e.g., sampling sites measured as depth below terrain).
Volumes.
3D grid data may be represented by isosurfaces or cross sections
at user-defined intervals. Color of the isosurfaces may be
determined by threshold value or by draping color representing a
second 3D grid data set over the isosurfaces.
Implementation and initial testing of a 3D grid data file format
for managing volumetric spatial data was completed. The storage
format and programmer's interface routines we developed allows
random access to compressed floating point double precision 3D
data with caching. It is fully integrated within the GIS, using
the established database hierarchy for header and data files. See
the html documentation for the specification used. The resulting
library was used to write several utility applications such as
r3.in.ascii, r3.out.ascii, r3.in.grid3, r3.mask, r3.null,
r3.info, g3.region . In addition, a program r3.mkdspf , reads the
3D grid data and creates a "display" file containing geometry for
drawing isosurfaces to represent the data for visualization
purposes. Future work will incorporate the 3D grid file and
display file formats for use within visualization tools.
Appendix XX contains the specification and design documents for
our 3D grid API, and Appendix YY shows function prototypes.
http://www.cecer.army.mil/grass/viz/htdoc/g3d/specification.html
http://www.cecer.army.mil/grass/viz/htdoc/g3d/protos.html
For interactive viewer positioning, scaling, zooming, etc., we use custom GUI widgets and a "fast display mode" where only wire mesh representations of the data are drawn. When rendering a scene, the user may select various preset resolutions for better control over rendering time. For positioning we also chose to use a paradigm of moving viewer rather than moving object because we think it is more intuitive when modeling a reality of generally immobile geography. To focus on a particular object, the user simply clicks on the object to set a new center of view. Scripting is used to create animations from series of data (e.g. time series or a changing modeling parameter), automatically loading the data sets and rendering frames for the animation. A keyframe technique is used to generate animations when there is no change in data, e.g., to create fly-bys or show a series of isosurfaces in volumetric data. (Also see nviz Tutorial in Appendix XX)
Figure AA Scaled differences reveal underlying soil horizon structure. Figure BB Smoothed surface drawn in same 3-space as raw data surface. Figure CC Moving cutting plane through a group of surfaces. Figure DD Xganim is a GRASS 2D multiple-raster series animation tool we developed for fast analysis of trends and model progression. Figure EE Querying multiple surfaces.
W.M. Brown. M. Astley, T. Baker, H. Mitasova,1995 GRASS as an integrated GIS and visualization environment for spatio-temporal modeling. Proc. Auto-carto XII, ACSM/ASPRS, Charlotte, NC, pp. 89-99.
Ehlschlaeger, C., Goodchild, M. 1994, Uncertainty in Spatial Data: Defining, Visualizing, and Managing Data Errors. Proceedings, GIS/LIS'94, pp. 246-53, Phoenix AZ, October 39 1994.
H. Mitasova, W.M. Brown, J. Hofierka, 1994, Multidimensional dynamic cartography. Kartograficke listy, 2, p. 37-50. 4.5
Brown, W.M., and Gerdes, D.P., 1992, SG3d - supporting information: U.S. Army Corps of Engineers, Construction Engineering Research Laboratories, Champaign, Illinois. http://www.cecer.army.mil/grass/viz/sg3d.html
Brown, W.M., 1996, SG3d - supporting information. Enhacements for GRASS4.2: Geo- graphic Modeling and Systems Laboratory, University of Illinois at Urbana-Champaign. http://www.cecer.army.mil/grass/viz/sg3d.html
Brown, W.M., and Astley, M., 1995, NVIZ tutorial:Geographic Modeling and Systems Laboratory, University of Illinois at Urbana-Champaign. http://www.cecer.army.mil/grass/viz/nviz.tut.html
Brown, W.M., Astley, M., Baker, T., and Mitasova, H., 1995, GRASS as an integrated GIS and visualization environment for spatio-temporal modeling: Proceedings Auto-Carto 12, Charlotte, NC, p. 89-99.
Cox, S., Kohn, B.P., and Gleadow, A.J.W., 1994, Towards a fission track tectonic image of Australia: model based interpolation in the Snowey Mountains using GIS: http://www.ned.dem.csiro.au/AGCRC/papers/snowys/12agc.cox.html
Hibbard, W. L., and Santek, D.A., 1989, Visualizing large data sets in the earth sciences: IEEE Computer Graphics and Applications, v. 22, no. 8, p. 53-57.
Hibbard W.L., Paul B.E.,
Battaiola A.L., Santek D.A., Voidrot-Martinez M-F., and Dyer
C.R., 1994, Interactive Visualization of Earth and Space Science
Computations Computer v. 27, no. 7, p. 65-72.
href="http://www.ssec.wisc.edu/ billh/vis.html"
MacEachren, A.M., and Ganter, J.H., 1990, A pattern indentification approach to cartographic visualization: Cartographica, v. 27, no. 2, p. 64-81.
MacEachren, A.M., 1994, Time as cartographic variable: in Hearnshaw, H.M., and Unwin, D.J., ed., Visualization In geographical Information Systems: John Wiley and Sons, Chichester, p. 115-130.
Mitas L., Brown W.M., Mitasova H., 1997, Role of dynamic cartography in simulations of landscape processes based on multi-variate fields. Computers and Geosciences, invited paper for a special issue on exploratory cartographic visualization, (under review).
Mitas, L., Mitasova, H., Brown, W.M., Astley, M., 1996, Interacting fields approach for evolving spatial phenomena: application to erosion simulation for optimized land use: Proceedings of the III. Int. Conf. On Intergration of Enviornmental Modeling and GIS (Santa Fe, NM), by National Center for Geographic Information and Analysis, Santa Barbara, CA, CD ROM and WWW. http://www.cecer.army.mil/grass/viz/SF.final/mitas.html
Mitasova, H., Brown, W.M., Hofierka, J., 1994, Multi-dimensional dynamic cartography: Kartograficke listy, v.2, p.37-50. Stephan, E.M., 1995, Exploratory data visualization of environmental data for reliable integration: Proceedings Auto-Carto 12, Charlotte, NC, p. 100-109.