Visualizing Global Datasets with Explorer 2.0
James C. Phillips
Department of Physics
Marquette University
Milwaukee, WI 53233
Paul J. Morin and David A. Yuen
Department of Geology and Geophysics,
The Minnesota Supercomputer Institute
and
Army High Performance Computing Research Center
University of Minnesota
Minneapolis, MN 55415
Abstract
Data which is related to the Earth is most useful when it is displayed
with a map of the Earth and projected onto a standard map projection. We have
used the general purpose scientific visualization program Explorer from Silicon
Graphics Inc. as the basis of this application. Two main modules for Explorer
have been developed: WorldMap (reads the CIA Map database and places it into a
unstructured dataset) and Projector (projects the map and other data onto a
number of standard map projections). In addition, several simpler modules have
been developed to address common problems: BendBox (places a bounding box and
grid lines around data), CoordCrop (crops data using coordinates rather than
indices), SimpleSphere (places a grey sphere at the origin), and WorldCrop
(crops and extends global datasets). This document discusses the second release
of this group of modules for Explorer 2.0. All of the modules described are
available via anonymous ftp from ftp.epcc.ed.ac.edu in the U.K. or
swedishchef.lerc.nasa.gov in the directory /explorer/modules/Cartog.
I. Introduction
There has always been a need to to easily display Earth related data in
such a way that it can be manipulated interactively, with a map on standard map
projections. Explorer, a general purpose visualization program from Silicon
Graphics Inc. provides interactivity and rapid prototyping. We have previously
used Explorer in visualizing seismic tomographic images of the Earth's mantle
(Morin, et al, 1992,a,b,c). We have developed the "Modules" or
Explorer-dependent programs to display a high resolution map and to warp it and
data associated with it onto any one of a number of standard map projections.
The WorldMap module reads a compressed version of the "CIA World Data
Bank II map database" and produces a two-layer pyramid which contains a cropped,
decimated map, in units of degrees longitude and degrees latitude, containing
only those features selected by the user.
The CIA Map Directory parameter should be set to the directory in which
the CIA and plate boundary maps may be found. The CIA maps are included with
this module or are available by anonymous ftp from sepftp.stanford.edu in
/pub/World_Map. The compressed version found there will untar into a map directory
with subdirectories named africa.Map, asia.Map, europe.Map, namer.Map, and
samer.Map. The original database (not the compressed version used here) is
available from the U.S. Government and is in the public domain. The
USGS_plates.txt file included with this module should be added to the map
directory if you need plate boundary maps. The maps consume about 13 megabytes
of disk space.
The Precision parameter should be set to the size, in seconds, of the
largest feature which the decimation routine will eliminate. Usually this should
be no higher that 3600 seconds (1 degree). A setting of 1 second will include
all features since raw map coordinates are in integer numbers of seconds. Most
features on the map appear to be on the order of thirty seconds. The decimation
algorithm operates by combining as many line segments smaller than precision as
possible such that their total vector length is still less than Precision into a
single line segment. This will tend to eliminate features smaller than Precision
and small islands may be reduced to a segment of zero length.
Remember that the map files are greatly compressed and when read into
memory the map will be much larger. It is best to start at lower resolution with
fewer features and build up than to attempt to read in the entire map at full
resolution. One must use less resolution when looking at large areas and higher
resolution when zooming in. This will also improve the drawing time for the
map.
The Min/Max Latitude/Longitude parameters control the region of the
earth to be mapped and are in degrees. Latitudes may take on any value and may
span more than 360 degrees. Longitudes are limited to the range -90 to 90.
The option menus should be self explanatory with only a couple
clarifications. The International and National menus refer to political
boundaries. National boundaries only exist for the U.S. states and Canadian
provinces. Boundaries which are also coastlines or rivers are not included in
the boundary files. Thus, in order to see the outline of Minnesota, it is
necessary to turn on Major Coastlines, Major Rivers, Definite International, and
Definite National as in figure 19.
Most of the option menus (see exceptions below) operate on the principle
that if you want, for example, Minor Rivers, you also want Major Rivers.
Therefore selecting a feature on an option menu implies selecting all features
above it on the menu as well. Of course some options, such as Plates, are simply
all or none.
The Reefs, etc. and Ice menus are the exception to the above. Due to the
limited number of input ports allowed by explorer, it was necessary to combine
features in these menus. Thus the options are none, one, the other, or both.
The Parallels and Meridians menus place grid lines on the map, spaced as
indicated. The lines consist of 1 degree segments and will therefore curve when
used with the Projector module.
The output pyramid follows the finite element convention and is suitable
for feeding into PyrToGeom. The coordinates are curvilinear and of the form
(longitude, latitude, 0.0). There is a single data variable which is set to a
number from 0 to 99 depending on the particular feature that is represented.
When a colormap is used with PyrToGeom, this data allows each feature to have
different color. See Appendix I for details.
The Projector module is designed to transform data with geographic
coordinates into one of several standard map projections (Richardus & Adler,
1972).
The Projector module has input ports for several pyramids and lattices
and modifies the coordinates of its input to produce a projection. The first
pyramid is designated the map and its z coordinate may be transformed to place
the map above or below the data.
All lattices (including the base lattices of the pyramids) are assumed
to have three coordinate variables. Any lattice with uniform or perimeter
coordinates is also assumed to be three dimensional. All coordinates are assumed
to represent longitude, latitude, and altitude (depths should be negative
values). Longitude and latitude should be in degrees. Latitude may take on any
value but the Base Longitude parameter (see below) should be set to
compensate.
The Globe Radius parameter is required and should contain the radius of
the earth in the same units as the altitudes in the data set. This parameter is
used in all map projections to provide proper scaling of longitude and
latitude.
The Map z parameter sets the amount the 1st. pyramid (the Map) will be
shifted in the positive z direction. This allows the map (which is usually at
z=0) to be placed, for example, above air masses or below seismic data.
The Projection option menu is used to select the particular map
projection to be applied. These projections make use of some or all of the Base
Longitude, Base Latitude, 1st. Standard Parallel, and 2nd. Standard Parallel
dials so these will be discussed first.
The Base Longitude and Base Latitude parameters indicate the point on
the globe which will be the center of the map. This is important because this is
usually the area with the least distortion. The Base Longitude parameter may
take on any value, but should be in the same range as the data. The Base
Latitude parameter is limited to the range [-90,90].
The 1st. and 2nd. Standard Parallels are used by the conic projections
to indicate the intersection of the cone with the earth. These parameters should
be chosen to border the area of interest and the 1st. should be greater than or
equal to the 2nd. If they are equal, the cone will only touch the earth and not
penetrate it.
The implemented projections are listed below along with a brief
explanation of their properties, utility, and parameters. Projections are
classified according to their properties. A projection may be conformal,
preserving the shapes of structures while distorting their scale, equivalent,
preserving the area of structures, or equidistant, preserving distances in one
or more directions. A Projection may also be azimuthal, based on some projection
of the globe onto a plane tangent at one point, cylindrical, based on the
projection of the globe onto a cylinder tangent (usually) at the equator, or
conic, based on the projection of the globe onto a cone which intersects the
globe at one or two standard parallels.
Available Projections
- Cartesian (Fig 1)
- Parameters: Base Long., Base Lat.
Properties: None
Longitude and Latitude map directly to x and y except that they are scaled to
make equatorial and meridian distances correct in proportion to altitudes. This
projection is seldom seen on maps, is considered cylindrical, and preserves no
particular quality. The parameters only set the center of the map.
- Mercator Cylindrical (Figs 2, 15, 16, & 18)
- Parameters: Base Long., Base Lat.
Properties: Conformal
This is the standard Mercator projection. It is a cylindrical conformal
projection. This projection goes to infinity as latitude approaches the poles,
therefore such data should be cropped. The parameters only set the center of the
map.
- Lambert Cylindrical (Fig 3)
- Parameters: Base Long., Base Lat.
Properties: Equivalent
This is an equivalent projection. Structures at the poles become flat in this
projection. The parameters only set the center of the map.
- Gnomonic Azimuthal (Fig 4)
- Parameters: Base Long., Base Lat.
Properties: None
Projection is made from a perspective point at the center of the globe onto a
plane which is tangent to the globe at (Base Longitude, Base Latitude). As with
all azimuthal projections, great circles on the globe passing through the
tangent point appear as straight lines radiating from it. This is the simplest
azimuthal projection but has no special properties. Care should be taken in
cropping data to avoid points which appear on the other side of the world from
the tangent point, as this will produce undesirable results.
- Stereographic Azimuthal (Fig 5)
- Parameters: Base Long., Base Lat.
Properties: Conformal
Projection is made as above but from a perspective point on the surface of the
globe exactly opposite the tangent point. This projection has the added property
of being conformal. As above, all data points should be on the same side of the
globe as the tangent point.
- Orthonormal Azimuthal (Fig 6)
- Parameters: Base Long., Base Lat.
Properties: None
Projection is made onto a plane as above from a point at infinity. This
projection gives the effect of looking a a globe, but the projection is flat.
Data points should be on the same side of the globe as the tangent point. To
achieve the effect of looking at a globe, the actual Globe projection is
recommended.
- Postel Azimuthal (Fig 7)
- Parameters: Base Long., Base Lat.
Properties: Equidistant
Also known as the azimuthal equidistant projection, this is useful for
determining distances from a given origin. The distance from the point (Base
Longitude, Base Latitude) to any other point on the map will be equal to that
actual distance on the surface of the earth.
- Lambert Azimuthal (Fig 8)
- Parameters: Base Long., Base Lat.
Properties: Equivalent
Lambert's azimuthal equivalent projection. There is no distortion of area and
the minimal distortion of shape occurs at the base point.
- Lambert Conical (Fig 9)
- Parameters: Base Long., Base Lat., 1st. St. Par., 2nd. St. Par.
Properties: Conformal
Lambert's conformal conical projection. Minimal distortion of area occurs at in
the region between the 1st. Standard Parallel and the 2nd. Standard Parallel.
The Base Longitude and Latitude parameters only set the center of the map.
- Albers Conical (Fig 10)
- Parameters: Base Long., Base Lat., 1st. St. Par., 2nd. St. Par.
Properties: Equivalent
Albers' equivalent projection. Minimal distortion of shape occurs at in the
region between the 1st. Standard Parallel and the 2nd. Standard Parallel. An
interesting property of this projection is that the pole maps to a section of a
circle, effectively truncating the cone. The Base Longitude and Latitude
parameters only set the center of the map.
- Cassini-Soldner (Figs 11 and 20)
- Parameters: Base Long., Base Lat.
Properties: Equidistant
This is a cylindrical equidistant projection in which the cylinder lies at a
right angle to the earth's axis. It is useful only for areas which extend mainly
in the north-south direction. The Base Longitude parameter sets the meridian of
contact for the cylinder and horizontal distances from this central meridian are
correct. Distortion occurs mostly in the vertical direction and increases with
distance from the central meridian. The Base Latitude parameter only sets the
center of the map.
- Bonne Conical (Fig 12)
- Parameters: Base Long., Base Lat.
Properties: Equivalent
Actually Bonne's pseudo conical equivalent projection. Scale is preserved only
on the central meridian, set by the Base Longitude parameter, and along the
parallels. Minimal shape distortion is achieved along the Base Latitude. This
projection produces highly curved maps which are useful mainly for projections
of an entire hemisphere.
- Werner (Fig 13)
- Parameters: Base Long., Base Lat.
Properties: Equivalent
The Werner projection produces an equivalent heart shaped map, centered on the
Base Longitude and is actually a form of Bonne's projection. The Base Latitude
determines only which hemisphere is at the top of the heart and the center of
the map. Useful for viewing the entire globe.
- Sanson-Flamsteed (Fig 14)
- Parameters: Base Long., Base Lat.
Properties: Equivalent
The Sanson-Flamsteed projection produces an equivalent symmetric map, centered
on the Base Longitude and the equator. This is also a form of Bonne's projection
and is useful for viewing the entire globe. The Base Latitude parameter only
sets the center of the map.
- Globe (Fig 17)
- Parameters: None
Properties: No distortion
This produces an actual three-dimensional globe with radius Globe Radius. If
necessary (as when displaying the entire globe) the module SimpleSphere may be
used to place a sphere inside the globe in order to avoid seeing through it.
IV. The BendBox Module
The BendBox module is similar to the BoundBox module used for bounding
lattice data except that it allows more direct control of the bounding box
produced and produces a pyramid, similar to the WorldMap module, which can be
used with the Projector module so that it is transformed in the same manner as
the data. All points are given the data number 99, the same as the grid lines
produced by the WorldMap module so that they will be the same color when a
colormap is applied.
In order to achieve better results when used with Projector, lines which
run in the x and y directions are broken every 1 unit. This allows Projector to
bend the lines properly.
The X/Y/Z Min/Max text boxes are self explanatory. The X/Y/Z Grid option
menus determine if and how grid lines will be drawn around the perimeter of the
box. If None is selected, no lines will be drawn in that particular direction.
If Full is selected, lines will be drawn completely around the box. If Ticks is
selected, short lines will be drawn in the corners. The spacing of these grid
lines is determined by the X/Y/Z Spacing text boxes.
The CoordCrop module crops up to three uniform or perimeter lattices
using desired coordinate ranges rather than index ranges. This is usually much
simpler to use and allows the same map to be used with differently spaced
data.
The SimpleSphere module produces geometry for sphere, centered at the
origin, of radius Radius. The sphere has a grey color assigned to it if and only
if the Color radio box is turned on. The amount of white in this grey is
controlled by the Color Value slider (0 = black, 1 = white). SimpleSphere is
meant to be used with the Globe projection to prevent seeing completely through
the globe. For an unknown reason the old sphere is not purged when a new one is
drawn unless the SimpleSphere module is disconnected from the Render module and
then reconnected.
The WorldCrop module takes a global dataset of up to three uniform or
perimeter lattices and produces lattices covering the desired coordinate range.
This is best explained by example. Suppose you have a lattice which covers the
globe from -180 to 180 degrees of longitude. WorldCrop can take data from this
lattice to cover 0 to 90, like CoordCrop, 0 to 360, which would usually require
a different lattice to be created, or 0 to 450, duplicating data. This is
useful, for example, to produce a map of the world which is extended so that one
can see the continuation of structures which would normally be cut off at the
edge of the map. Note that WorldMap has the ability to produce maps of this type
on its own but WorldCrop is needed to transform the data.
VIII. Explorer Maps Using WorldMap and Projector
The simplest map using WorldMap and Projector is as follows. Connect the
output port of WorldMap to one of the pyramid input ports of Projector,
preferably the one designated Map. Connect the corresponding output port to
PyrToGeom with dimension set to 1 and connect PyrToGeom to Render. If a color
map is desired, connect GenerateColormap, with the range set to [0,100], to
PyrToGeom and set the color option menu to Colormap. Otherwise, simply set the
color option of PyrToGeom to RGB. Figure 15 illustrates
a simple map of North America with a bounding box.
CropPyr may be used to crop the WorldMap output further before passing
it to Projector, saving the time required to read in the map files, but
consuming additional memory. Also, the output from WorldMap may be passed
directly to PyrToGeom.
The system is most useful, however, when data lattices or pyramids are
passed through projector along with the map. Their coordinates must be in
longitude and latitude but this is the only requirement. After Projector, the
data may be used to create isosurfaces and displayed in Render along with the
map (see Tanamoto/Zhang Tomagraphy under Applications below).
IX. Applications
Elevation
Elevation data for the earth's surface at half-degree intervals is used
to produce a relief map of North America. The ease with which this is done
illustrates the power of Explorer and the Projector module.
The visualization is shown in Figure 16. A 2-D
lattice of elevation data is read in, cropped, and given a third coordinate with
the DisplaceLat module. The resulting lattice is then sent through Projector
producing a Mercator projection. The LatToGeom module, along with a colormap,
then produces the geometry which is displayed by the Render module.
Because of the detail of the data, this visualization ran slowly and
consumed in excess of 60 megabytes of memory. Faster updates in the Render
window are achived by displaying the image as points when moving the image.
Seismic Tomography
Temperature data inferred from seismic tomographic data for the earth's
mantle, along with a map generated by WorldMap, are converted to global
coordinates. The data is then converted to isosurfaces and displayed, revealing
temperature anomalies within the earth's lower mantle (Figures 17 and 20).
The visualization is shown in Figure 17. The
map and bounding box are created and sent to the Projector module. Tomography
data is read in as a three-dimensional lattice and sent to the Projector module.
This warps the data and map into a sphere and sends the data to two modules
which draw isosurfaces. The map and bounding box data is handled as explained
above. The isosurfaces are sent to the render module along with geometry output
from the SimpleSphere module which simply produces a sphere so that the Earth
isn't completely transparent.
This visualization consumed approximately 30 megabytes of memory, most
of which was due to the isosurface geometry. Since this particular image
required a map of the entire globe, the WorldMap Precision parameter was set to
3600.
Earthquakes
A list of earthquakes that occurred from 1964 to 1988 was cropped by
location, magnitude, and time and then transformed into a zero-level pyramid
(points) and passed through Projector along with a map generated by WorldMap.
Unfortunately, the data was incomplete, so unknown depths or magnitudes were set
to zero. When quakes were viewed along active plate boundaries the edges of the
plates were clearly visible in three dimensions.
In this visualization (Figure 18), the
earthquakes, map data, and bounding box are read in on the left hand side of the
map. Projector takes each of these data types and warps the data onto a
Mercator projection. Each data stream is sent to a module which converts the
data into colored lines or dots, and then sent to the Render module.
This visualization filled the memory of our 72 megabyte machine, with
considerable swapping when all earthquakes were used. This was due to the
necessity of storing information for every earthquake in the database and for
creating geometry for every earthquake in the cropping region. However, because
of the layout of the map and the design of the explorer system, this did not
drastically effect the speed of the visualization. Modules such as WorldMap and
ReadQuake (the module which read in our quake data) needed to fire only once and
could then be swapped out of memory. If necessary to reduce memory demands,
these modules could be loaded, fired, connected to other modules so that their
output would be passed on, and destroyed.
X. Conclusion
Examples given in the text are from geophysics and seismology but the
usefulness of these modules need not be limited to these fields. They can be
used just as easily for any field which require data to be shown with a map.
XI. Acknowledgements
This research was supported by NASA, NSF and in part by the Army
Research Office contract number DAAL03-89-C-0038 with the University of
Minnesota Army High Performance Computing Research Center.
The authors wish to thank Drs. Peter van Keken and Dr. Wim Spakman of
the University of Utrecht, the Netherlands for providing the earthquake data.
The authors also wish to thank Dr. Robert L. Woodward for providing the seismic
tomographic data.
XII. References
Morin, P. J., Tanimoto, T., Yuen, D. A., & Zhang, Y. Pixel vol. 3, no. 3, pp.
20-26 (March 1992). Also appeared as A.H.P.C.R.C. preprint 91-118, 1100
Washington Ave. S, Mpls. MN 55415.
Morin, P. J., Tanimoto, T., Yuen, D. A., & Zhang, Y. Supercomputing Review vol
5, no 2, Feb 1992, pp. 36-43 and cover. Also appeared as A.H.P.C.R.C. preprint
91-128, 1100 Washington Ave. S, Mpls. MN 55415.
Morin, P. J., Tanimoto, T., Yuen, D. A., & Zhang, Y. Iris Universe 19, pp.50-55
(Winter 1992). Also appeared as A.H.P.C.R.C. preprint 92-023, 1100 Washington
Ave. S, Mpls. MN 55415.
Richardus, P. & Adler, R. K. Map Projections For Geodesists, Cartographers and
Geographers, North-Holland Publishing Company (1972).
Woodward, R. L., Forte, A. M., Su, W., & Dziewonski, A. M. "Constraints on the
Large-Scale Structure of the Earth's Mantle." Preprint, to appear in American
Geophysical Union Monograph Series, 1993.
Zhang, Y. & Tanimoto, T. Ridges, hotspots and their interaction as observed is
seismic velocity maps, Nature 355, pp. 45-49 (2 Jan. 1992).
Appendix I. Map Feature Color Numbers
The pyramids produced by the WorldMap module have data in the base
lattice which is meant for use with a colormap. Below is a table of these
color-numbers and their associated features.
1 Demarcated or delimited international boundary
2 Indefinite or in dispute international boundary
3 Other line of separation of sovereignty on land
21 Demarcated or delimited national boundary
22 Indefinite or in dispute national boundary
23 Other national boundary
41 Coasts, islands and lakes that appear on all maps
42 Additional major islands and lakes
43 Intermediate islands and lakes
44 Minor islands and lakes
46 Intermittent major lakes
47 Intermittent minor lakes
48 Reefs
49 Salt pans-major
50 Salt pans-minor
53 Ice shelves-major
54 Ice shelves-minor
55 Glaciers
61 Permanent major rivers
62 Additional major rivers
63 Additional rivers
64 Minor rivers
65 Double lined rivers
66 Intermittent rivers-major
67 Intermittent rivers-additional
68 Intermittent rivers-minor
70 Major canals
71 Canals of lesser importance
72 Canals-irrigation type
81 Plate boundaries
99 Grid lines / BendBox output
Figure Descriptions
- Figures 1-6,7-11,
12-14
- Examples of various map projections, showing North America and larger
regions where appropriate to illustrate properties of the projections.
- Figure 15
- Explorer map and visualization for a simple map of North America with a
bounding box.
- Figure 16
- Explorer map and visualization for elevation data for North America. Note
that the scale is greatly distorted.
- Figure 17
- Explorer map and visualization for seismic tomography data (Woodward, et.
al.). View is of pacific ocean. Isosurfaces represent thermal anomalies of 1000
Kelvin (red) and -1000 Kelvin (blue).
- Figure 18
- Explorer map and visualization for earthquakes of magnitude three and
greater occuring near the Tonga trench.
- Figure 19
- Map of Minnesota, illustrating level of detail available from WorldMap.
- Figure 20
- Additional seismic tomography data (Woodward, et. al.), illustrating use of
Cassini-Soldner projection for an area of primarily north-south extent. View is
of the Americas. Isosurfaces represent thermal anomalies of -2000 Kelvin (light
blue), -1500 Kelvin (medium blue), and -1000 Kelvin (dark blue).
jcphill@uiuc.edu