tsmApiTM Library
About
Download
License
What's New
Tutorials
GeoVRML Support
Adding File Filters
API Specification
File Formats
 


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.

Tiled Pyramid Image

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.