Articles
   

 

 

FAST 3D Visualization of 
Large Image Datasets in a GIS

By Clayton Crawford, Salvador Bayarri, and Dragan Petrovic

Remote sensing technology has long provided vast quantities of image data. An increased number of sensor platforms, in conjunction with finer resolution data capture, ensures this trend will continue. For many users of this data, efficient display of large image datasets is critical. 3D display is often preferable but presents a unique set of problems. Specialized applications, particularly in the field of simulation, have been available for some time, although a generalized solution required for a mainstream GIS has remained elusive. This article discusses a technology that efficiently displays raster datasets, in interactive 3D, on a globe. It handles imagery of virtually any extent and spatial resolution, regardless of physical dataset size. Elevation data, in a variety of resolutions, can be incorporated to influence the surface geometry of the base globe. The technology works with modest hardware requirements by utilizing an intelligent, scale dependent, paging mechanism that operates on data processed into multiple levels-of-detail (LOD). The integration of these display capabilities within a GIS provides a framework useful for many applications. It adds the ability to efficiently display huge image databases in 3D to the existing comprehensive set of display and query operators of a GIS. Automatic mapping of georeferenced imagery to its proper location on the globe provides for a user-friendly and intuitive interface. This combined with Internet support should prove useful for remote GIS services, including visualization and graphics-oriented data searching. It is hoped that this work will facilitate the GIS and remote sensing communities to take advantage of the image data available to us today.  

Professionals in the GIS community have ready access to very large image archives. Aerial photography, satellite imagery, and scanned maps can be easily procured or even obtained for free from the Internet. Over time, demand for increased accuracy has also resulted in finer resolution data. Sub-meter satellite imagery, available to the general public, is now a reality. Images exceeding 1 gigabyte in size are not uncommon. Analytic derivatives from these products increase data holdings even further. For many, efficient access to these quantities of data is an issue. The lucky few have specialized software and hardware to handle this problem, but most GIS users, with less expensive and generic solutions, experience unwanted delays. The goal is to incorporate key aspects of the aforementioned specialized systems into a GIS so the capability becomes less expensive and ubiquitous.

Simulation systems represent a prime example of a specialized application domain. These use specialized software and hardware to quickly render large amounts of information. When one looks to find commonalities in these systems, what is typically found is a data processing scheme used in conjunction with 3D graphics hardware (Falby, 1993). Input data, often sourced from a GIS database to take advantage of georeferencing and clean-up capabilities, is converted into a non-standard proprietary format (Polis, 1994) with multiple levels-of-detail (LOD). What these LODs provide is the ability to quickly return detailed data where needed, such as the foreground of a perspective display, and more generalized data elsewhere. The ultimate purpose is to reduce the amount of data that needs to be rendered at any given moment. This enables the graphics hardware to provide smooth real-time display of the data. These systems work in practice, because even when the volume of information for the entire database is large, the amount that needs to be retrieved and interacted with by the user at any moment is relatively small.

To accomplish a similar feat in a GIS is a challenge, but not insurmountable. As previously mentioned, many simulation environments already use a GIS as a back-end data processing system anyway. The trick is to add the LOD data processing and graphics hardware capabilities to the GIS and make them as transparent as possible to the end user. An intuitive front-end that exploits the capability and fits naturally in a GIS environment also helps. Since GIS applications range from local to global in scope, an interface that easily handles this range in scale is important. What has been implemented is a globe-centric application, referred to here as ArcGlobe, which works as an extension to an existing GIS.

A Globe-Centric Viewing Environment

The viewing context of the ArcGlobe application is a continuous sphere in true 3D space (Figure 1). Users can spin it around, zoom in and out, fly, view from above like a map, or side-on (obliquely) in perspective. The surface geometry of the sphere can be augmented with elevation data. The application ships with, and displays, global data out of the box. This gives the user a base environment to work from that just gets richer in detail as higher resolution site specific data is added. This is easy to do as geo-referenced data is automatically placed at its proper location on the earth. Since the data is displayed on a sphere, it need not be projected ahead of time. All that is required is registration with a geographic coordinate system and a datum. A 3D perspective projection is applied at runtime. If the input image data is already in a projection, the system can "unproject" through reuse of tools already in the GIS. All the data is displayed using the same datum. The user selects the datum that the majority of data holdings are in. Any input data in a different datum will be transformed on the fly using the appropriate datum transformation code available in the GIS.

Aside from ease of use, another benefit of having data displayed on a sphere is the effect of Earth curvature. This yields an accurate horizon beyond which nothing is visible. There are many GIS applications, particularly in the domain of visibility analysis (i.e., line-of-sight, or LOS, viewshed) that need to take curvature into consideration. If one wants to see what is visible from a particular vantage point, with an accurate horizon, one simply places the virtual camera that defines the perspective to that location. Elevation data of sufficient accuracy is necessary, however.

The globe-centric nature of the application promotes a seamless view of geography. Everything is viewed in context with its surroundings. A user's data holdings are blended into the global base data creating complete continuity. There are no data voids, islands, or "edge of the world" effects that make it seem like there is nothing outside the user's study area.

3D Rendering

In order to display potentially massive amounts of data in a real-time graphics environment, one must apply tactics on a number of fronts. More specifically, this involves the graphics application programming interface (API), the graphics hardware, and data management. All three are closely related, although the first two are more so.

Graphics API and Hardware

ArcGlobe uses OpenGL, an industry standard graphics API developed initially by Silicon Graphics Inc. (SGI), and subsequently turned into a standard by industry consortium. It is the most commonly used API for scientific visualization. Our application benefits by use of OpenGL through its support across computing platforms (UNIX and Wintel). Additionally, use of a standard graphics API  translates into hardware acceleration. A competitive graphics hardware industry is constantly making improvements in performance while simultaneously reducing costs. Consumer level graphics cards in standard PCs are now capable of performing what was only possible in expensive specialized equipment of only a few years ago. In this regard, ArcGlobe has benefitted from the advent of time. The hardware required is now relatively commonplace. What remains a challenge is the data processing.

Global Indexing Scheme

Like many other applications that handle large amounts of data, ArcGlobe uses a divide and conquer technique. In this case, the methodology is similar in concept to research performed in support of the "Digital Earth" (Faust, 2000) and (Goodchild, 2000). A hierarchical global spatial indexing scheme, implemented through recursive subdivision, organizes data into manageable pieces (Hansen, 1999). All input data is indexed using the same logic to provide consistency. The coarsest level of subdivision views the globe as a cube, dividing it into six 90-degree square tiles (Figure 2). Four tiles encompass the equatorial regions of the globe, between 45 degrees north and south. The remaining two cover the polar regions.

Each 90-degree tile can be recursively subdivided into smaller areas. The location and degree of subdivision depends on where data is available and its resolution. It also has a direct relationship to LODs. Assume an image occupies a full 90-degree tile. Using a power-of-two subdivision the first recursion breaks the tile into four 45-degree tiles, the second recursion into eight 22.5-degree tiles and so on (Figure 3). Resampling is performed at each step producing a 512x512 raster for each tile. Thus, larger tiles contain coarser representations of the data. Subdivision is repeated until the effective tile resolution matches the data source. Up to 32 LODs are possible, which achieves sub-centimeter resolution at the equator. This tiling is not something the user needs to be concerned with. The software automatically generates the scheme at run-time. No data conversion needs to take place. It happens transparently, yet is crucial in achieving real-time performance.

The rendering subsystem uses this spatial index when placing calls for data that must be retrieved for display. At any change in perspective, the subsystem quickly determines what tiles are needed and at what LOD. This is based on what's visible and its relative distance to the virtual camera (Figure 4). Foreground information requires greater detail than background. Since any number of datasets may be present, a determination must also be made to find which ones have a spatial extent overlapping the visible tiles. The appropriate subset of data is then retrieved for rendering. If the input datasets overlap in spatial extent, the highest resolution data will be displayed in the area of overlap. This behavior can be overridden if the thematic importance of an image takes precedence over resolution.

Resampled data generated from an image or elevation model are stored in a cache that follows the hierarchical spatial index. Only those areas that have been visited are cached. So, low-resolution textures might be generated for the entire extent of an image when viewed from a distance, but high-resolution textures are only made from the specific locations visited by the user in close perspective. Data in the cache are reused when an area that has already been cached is viewed again. This process of on-demand caching avoids the need for pre-processing an entire dataset before it can be viewed. It can be a tremendous time saver when a relatively small area of a large dataset needs to be viewed. As an option, the user may choose to cache an entire dataset off-line in a batch oriented pre-process before viewing it. This is useful when the utmost in performance is required and when the majority of the data is likely to be viewed in high detail.

As with other systems designed to handle large quantities of data, a dynamic paging mechanism is used to load information in and out of memory (Lindstrom, 2001). Only what is required based on current perspective is needed. Any additional memory that's available is used to store most recently viewed data, anticipating the likelihood it will be needed again. This paging ability keeps memory requirements low even when viewing terabytes worth of imagery and elevation data.

Any lag in time to acquire the necessary data can be handled gracefully through use of multiple threads. One thread can be fetching the data while the other processes events from the user. So, for example, the user can still navigate and change perspective while more data is being acquired as opposed to the system freezing up while waiting for the data to arrive.

All input datasets are treated as separate entities, or layers, that can be turned on and off at will. This is standard functionality in a GIS mapping environment but represents a significant departure from some other simulation and real-time display systems. These systems may require all data to be combined into one homogenous dataset in a long pre-processing step before it can be viewed.

Direct Read of Raster Data in Its Native Format

One can imagine that requests for subsets data, resampled to specific resolutions, from very large raster datasets would be slow. This is true and is the reason why other real time graphics applications that support large datasets typically convert the input imagery or elevation data into some proprietary multi-resolution format. Additionally, it's not only an issue for 3D applications. Planimetric mapping systems have a similar problem. Panning and roaming around big images in 2D can take a long time unless some form of optimization is used. One readily adopted approach has been through the use of image pyramids. These are basically down sampled versions of an image stored as a collection in an ancillary file. At small display scales, the full detail of the image cannot be seen, so instead of attempting to draw the entire full resolution image, the appropriate pyramid is used. Only at large display scales is the full resolution used. Typically, a large display scale means only a small portion of the image is being viewed. So, pyramids effectively keep the amount of data that needs to be rendered at any one time relatively constant regardless of display scale.

The same pyramids used for planimetric mapping can be used in 3D to quickly display raster data in its native format. When viewed from a distance, the application will ask an image for low-resolution textures. These can be generated quickly from its low-resolution pyramids. As the virtual camera comes in close, high-resolution data is requested but for a much smaller area; still fast. Thus, in the presence of pyramids, which are usually present anyway for the sake of efficient 2D mapping in the GIS, imagery can be read without the need for conversion. All image formats supported by the GIS, be they file based, or served from an enterprise database, will work. The same approach also applies to elevation data as pyramids can be used with raster DEMs.

Terrain

Surface geometry for topography and bathymetry is supported through use of raster elevation models. The same spatial indexing scheme used to process imagery is used for terrain. As with the provision of base imagery, the application comes with worldwide elevation coverage. This consists of GTOPO30 for topography and ETOPO2 for bathymetry. The former is 30-second data that's roughly 1km resolution. The latter is 2-minute data that's roughly 4km resolution. Users can add higher resolution data where available. If there is overlap in coverage the higher resolution data will take precedence.

The potential for discontinuity in surface geometry exists due to the presence of tile-based LODs. Some systems that use LODs for topography exhibit visual anomalies by suddenly popping in higher resolution data, or worse yet, by revealing cracks in the surface geometry between LOD tile boundaries. What is desired is a continuous surface free of those artifacts (Duchaineau, 1997) and (Hoppe, 1998) and (Lindstrom, 2002). This is achieved through a tessellation that obtains heights across LODs through averaging. This smoothly morphs the surface from one LOD to the next. The tessellation is calculated in real-time based on the current perspective. A recursive technique forms a tessellation that is coarse in the background with increasing refinement toward the foreground (Figure 5). Based on distance to observer, each node of the tessellation is assigned its LOD measure as a floating-point value rather than as a discreet integer. The decimal portion is used as a weight to interpolate a height between the corresponding LODs. For example, a node with a calculated LOD of 7.9 will average heights between LOD 7 and LOD 8, giving 90% of the weight to LOD 8.  

Benefits of GIS Integration

Having a technology like ArcGlobe that is integrated with a GIS is useful for both 3D graphics applications and traditional mapping requirements of the GIS. Successful integration requires a sharing of underlying technology, plus reuse of higher-level user interface constructs. To be considered useful in a GIS context the viewing application must offer a number of basic capabilities common to mapping applications. For example, "locate" and "identify" are important query operators. Layer transparency and rule-based visibility (e.g., distance/scale) are examples related to data display. ArcGlobe supports these operations either by direct use of the underlying GIS technology or through its own implementation. Examples of benefits coming directly from the GIS include:

  • data creation/editing

  • data management

  • raster (image/DEM) file format support

  • raster data in enterprise geodatabases

  • geo-referencing tools

  • symbology

  • pyramid layers

  • spatial database query

  • analysis, derivation of new data

Simulation systems have used the data processing capabilities of GIS for some time. The GIS is used to import data from a variety of formats, co-register them, define spatial referencing, apply geometry and topology operators to clean up the data, etc. But this has typically meant that data be converted between systems. In this process the "map intelligence" of the GIS is lost. Querying for information about a location might only be supported at the most rudimentary level in the simulator. Once the 3D application is in the GIS these issues go away.

The GIS benefits, too. Interactive display and query of map data has long been considered a primary strength of GIS. With this integration it can now be performed in interactive 3D which is arguably more intuitive and informative than planimetric display. Additionally, the rapid retrieval and display system implemented by ArcGlobe makes the process of viewing large collections of imagery more efficient. The use of hardware acceleration and the implementation of a caching mechanism offer significant performance gains.

Results

For proof of concept, the authors and others associated with the development project have successfully used terabytes worth of imagery and elevation data. Worldwide datasets include NASA MODIS imagery, GTOPO30 topography, and ETOPO2 bathymetry. For large area coverage with medium resolution data we used DigitalGlobe's entire Millennium Mosaic, a pan-sharpened 15-meter mosaic for the conterminous United States. For the same region we used the United States' 30 meter National Elevation Dataset (NED) for topography. Dozens of smaller study areas were covered with DigitalGlobe's sub-meter QuickBird imagery, various hi-resolution terrain models, terrain model derivatives, scanned maps, and orthophotos. These could all be loaded into the application, in the same session, and be viewed effectively.

Conclusion

Large image archives can be viewed efficiently in a GIS using a globe-centric interactive 3D viewing environment. Any number of images, of varying extent and spatial resolution, can be viewed along with underlying topography. The combination of an intuitive user interface based on the globe, coupled with the ability to handle large datasets, makes a compelling environment for GIS users. For many it has the potential to become the display and query front-end of choice. But before this can happen more functionality is required. Support for vector data is critical. Much of the same approach for raster data can be used for vectors, although vectors pose some unique problems. Unlike images that can be easily sampled at any resolution in rectangular areas, vector features tend to be irregular, exhibiting variability in proximity, size, and shape. An additional area of growing importance is Web services. The viewing technology discussed here lends itself to the creation of thin clients that can hit against one or more servers for data to display. Massive archives could potentially be served over the Internet in an effective manner. A successful implementation would promote the use of imagery in a distributed GIS environment.

Acknowledgments

The authors thank Paul Hansen of GeoFusion for his support. Additionally, they'd like to thank DigitalGlobe, NASA, the USGS EROS Data Center, and WorldSat as those that provided the majority imagery and topographic data used during development and testing.

About the Authors

Clayton Crawford is the Product Manager of the 3D Team at ESRI in Redlands, California, USA.

Dragan Petrovic is the Development Lead of the 3D Team at ESRI in Redlands, California, USA.

Salvador Bayarri is a Senior Software Developer in the 3D Team at ESRI in Redlands, California, USA.

References

Duchaineau, Mark and Wolinsky, Murray and Sigeti, David E. and Miller, Mark C. and Aldrich, Charles and Mineev-Weinstein, Mark B. (1997), "ROAMing Terrain: Real-Time Optimally Adapting Meshes," Technical Report UCRL-ID-127870, Lawrence Livermore National Laboratory, U.S. Dept. of Energy, Livermore, CA.

Falby, John S. and Zyda, Michael J. and Pratt, David R. and Mackey, Randy L. (1993), "NPSNET: Hierarchical Data Structures for Real-Time Three-Dimensional Visual Simulation," in Computer Graphics, Vol. 17, No. 1, pp. 65-69.

Faust, Nickolas and Ribarsky, William and Jiang, T.Y. and Wasilewski, Tony (2000), "Real-Time Global Data Model for the Digital Earth," in Proceedings of the International Conference on Discreet Global Grids, U.S. Center for Geographic Information Analysis, Santa Barbara, CA,  March 26-28.

Goodchild, Michael F. (2000), "Discreet Global Grids for Digital Earth," in Proceedings of the International Conference on Discreet Global Grids, U.S. Center for Geographic Information Analysis, Santa Barbara, CA, March 26-28.

Hansen, Paul (1999), "OpenGL Texture-Mapping With Very Large Datasets and Multi-Resolution Tiles," Slide Presentation, SIGGRAPH 1999, Los Angeles, CA. www.omnitect.com/ hansen/slideshow/sld001.htm

Hoppe, Hugues (1998), "Smooth View-Dependent Level-of-Detail Control and its Application to Terrain Rendering," IEEE Visualization '98,  pp. 35-42.

Lindstrom, P. and Pascucci V. (2001), "Visualization of Large Terrains Made Easy," in Proceedings of IEEE Visualization 2001, San Diego, California, Oct. 21-26, pp. 363-370.

Lindstrom, P. and Pascucci V. (2002), "Terrain Simplification Simplified: A General Framework for View-Dependent Out-of-Core Visualization," Technical Report UCRL-JC-147847, Lawrence Livermore National Laboratory, U.S. Dept. of Energy, Livermore, CA.

Polis, Michael F. and Gifford, Stephen J. and McKeown, David M. (1994), "Automating the Construction of Large Scale Virtual Worlds," in Proceedings of the ARPA Image Understanding Workshop, Nov. 13-16, Advanced Research Projects Agency, Morgan Kaufmann Publishers, pp.  931-946.