| |
|
|
Digital Earth >
tsmApi >
GeoVRML
Overview:
The tsmApiTM library provides a
number of functions for generating rich, multi-resolution, tiled
terrain data in GeoVRML 1.0 format. GeoVRML is an extension of the
ISO standard VRML97 format to support geographic applications. Also
included here is a suite of applications built using the
tsmApiTM library to simplify the
generation of such data. These enable large terrain datasets to be
viewed over the Web by users with a standard VRML97 plug-in.
The tsmApiTM provides functions
to enable the generation of GeoVRML terrain sets with the following
options:
- produce tiled, multi-resolution pyramids for the imagery and
elevation datasets
- support the GeoVRML 1.0 GeoLOD and GeoElevationGrid nodes
- control the number of polygons per tile
- specify the vertical exaggeration
- optionally calculate per-vertex normals
- loosen/tighten the level of detail (LOD) switching ranges
See Also:
GeoVRML Representation:
In order to represent large terrain datasets, we use a
multi-resolution pyramid representation where the geometry
and image rasters are segmented into a number of equally pixel sized
tiles. This quadtree like representation allows us to perform level of
detail (LOD) operations to only load and display the currently visible
portion of a terrain, and only to a sufficient degree of detail, e.g.
Illustrating a Tiled, Pyramid Representation:
3-D VRML Model
In order to represent a tiled pyramid structure flexibly using the
VRML syntax, and to include all of the relevant georeference
information about the terrain mode, we support the GeoVRML 1.0
GeoLOD node to create the pyramid, and specify all geometry using
GeoElevationGrids. The following hierarchies of files are
used to represent multiresolution terrains in GeoVRML.
- Tree Files
- These are the files that contain the actual terrain data for a
single tile in a pyramid, i.e. a rectangular patch of the earth
(bounded, say, by latitude and longitude) at a certain level of
detail. This will include the elevation data and links to the texture
map imagery for the tile. We use a filename convention for tree files
of: "trees/n/pxpy.wrl", where
n is the level number of the pyramid (0=lowest resolution) and
(x, y) specifies the coordinates of the tile file in
that pyramid level, where the lower-left corner is (0,0).
- Image Files
- These are the hierarchy of image tiles that are used in order
to overlay imagery on the geometry contained within the corresponding
tree file. We use a similar filename convention for images files:
"images/n/pxpy.wrl", where
n, x, y are defined as above.
To illustrate this organisation, a sample terrain dataset might
consist of the the following directory and file hierarchy. You would
view this dataset by pointing a VRML browser to the top tree file,
e.g. dataset/trees/0/p0p0.wrl.
dataset/
images/
0/
p0p0.wrl
1/
p0p0.wrl p0p1.wrl p1p0.wrl p1p1.wrl
...
trees/
0/
p0p0.wrl
1/
p0p0.wrl p0p1.wrl p1p0.wrl p1p1.wrl
...
index.html
Generating GeoVRML Terrains:
The tsmApiTM offers a number of
functions for generating generic tiled pyramid representations of
terrain, and further functions to convert these data into VRML format
(see the API Overview). tsmApiTM makes use of a library called vrml2,
developed at SRI International and provided with the tsmApiTM distribution, in order to manage the
generation of data using the VRML syntax.
We have developed a number of utility programs, built using the
tsmApiTM library, that simplify the
task of generating rich, multi-resolution, tiled, terrain datasets in
GeoVRML. These programs are part of the tsmUtils distribution,
available from the tsmApiTM Download Page. They are used as
follows.
Tiling and Pyramiding:
-
make_oi: First you
will want to create a tiled, pyramid representation of your source
imagery (OI) in TerraVision's compact binary format. The imagery
should be in either a UTM or lat/long coordinate system. Currently,
make_oi can read a number of image file formats including DOQs, JPEG,
GIF, PPM, and PGM.
- make_dem:
Next you create a tiled, pyramid representation of your elevation
(DEM) data in TerraVision's compact binary format. The elevation data
should be in either a UTM or lat/long coordinate system and the DEM
should preferably cover the entire region that the OI covers. make_dem
reads USGS DEMs, DTED Level 0 files, and raw 16-bit or 32-bit files.
Outputing as GeoVRML:
-
make_geovrml:
This utility will take the OI and DEM TerraVision pyramids and output
a GeoVRML pyramid of files as described above. You can control a
number of options including the vertical exaggeration, generation of
normals, the output directory, etc.
Viewing the GeoVRML:
- Point your web browser to the index.html file that is generated
by make_geovrml. This will automatically redirect you to the
appropriate entry point into the hierarchy (e.g. trees/0/p0p0.wrl).
You will need to install the GeoVRML 1.0 run-time in order to
view the files.
We recommend the use
of Netscape Communicator V4.x and Cosmo Player 2.1.
Example:
Click on the image to the left to see an example of a
multiresolution terrain
model created using the make_geovrml utility, as described above.
A ZIP file of the data is available at
camp_geovrml.zip.
You will need to have installed the
GeoVRML run-time
in order to see the model.
The example is for a terrain model around the Camp Pendleton
area in Southern California. There are six levels of detail,
with the highest resolution going down to 30 m. The total
dataset size is around 10 MB, but you are able to browse the
model interactively over the web due to the progressive
streaming features of the GeoLOD node.
Copyright ©2001 SRI International. All rights reserved.
For more information, please contact: digital-earth@ai.sri.com.
Last updated: Thursday, 22-Aug-2002 13:00:52 PDT.
|
|