This database began its life as an idea. One of our shareholders is based in Seattle and she requested a model of Mount Rainier and the Tatoosh Ridge to the south. This area resides in the Yakima-W geocell between 46.5 degrees and 47 degrees latitude and -122 degrees and -121.5 degrees longitude. The quarter geocell database area is nominally 50km square - 2500 square kilometers.
This is a useful case study that covers many aspects of working with commercial imagery, including enormous data files, region extraction, and imagery cleanup.
Acquiring imagery was relatively easy. Washington State hosts countywide bundles of 1-meter aerial photography in MrSID format. These files are truly enormous - around 1.5GB each. This scene uses regions from both these files:
Figure 1.1. The Pierce County SID file. Notice the black areas that are not in Pierce county. This
highlights a common problem with commercial imagery - incomplete coverage in a single file. This isn't really a problem because
Scenome allows you to select an area-of-interest in the SID file and generate tiles from that specific area.
This SID file is 119000×83000 pixels; obviously not suitable for real-time display.
Figure 1.2. The Lewis County SID file.
This SID file is 150000×60000 pixels; obviously not suitable for real-time display.
These are countywide mosaics that extend far beyond the boundaries of the Yakima-W 1/4 geocell model. The MrSID imagery is downsampled significantly and opened in PhotoShop. Regions are selected by pixel X/Y coordinates - these regions are indicated by the "white" lines in the countywide mosaics shown in the above images. These pixel values are entered as Scenome subdivision parameters. Once the subdivision parameters are complete, Scenome creates a batch file. The batch file executes command line programs that process the MrSID images into 4500 high-resolution and 4500 low-resolution GEOTIFF files.
Figure 1.3. Scenome subdivision command options:
Figure 1.4. Command line software performing the subdivision. It takes about one hour to generate 4500 high-resolution
1-meter GEOTIFFs @ 1000×1000 pixels and 4500 low-resolution 16-meter GEOTIFFS at 256×256 pixels. This command line runs in the background
and does not consume significant CPU or memory bandwidth while performing the subdivision.
The command line programs used to assemble the imagery are freely available and run on batch files. Instead of spending weeks writing complex features to subdivide the imagery, in a few hours a script was written to generate the batch files containing all the command line parameters required to generate the imagery for this database. The nice thing about this script is that it can be used to extract tiled imagery from any MrSID file. This script is also totally automated - it generates high-resolution and low-resolution imagery and moves the files to the correct directories.
These are countywide mosaics that extend far beyond the boundaries of the Yakima-W 1/4 geocell model. The MrSID imagery was downsampled and regions were selected. These regions are indicated by the "white" lines in the countywide mosaics shown in the above images. Scenome was used to configure the subdivision parameters and drive the command lines programs that process the MrSID images into 9000 GEOTIFF files.
Figure 1.5. 1/4 of a high-resolution tile:
Figure 1.6. An entire low-resolution tile:
Some of the tiles have black areas. The images are examined in a thumbnail browser and all the tiles containing black are deleted. This is done by hand but it only required a few minutes work.
After the images are cleaned Scenome is used to create metadata for each GEOTIFF in order to greatly optimize the texture generation process.
When image processing is complete, Scenome is used to build a fully-textured preview mesh. This preview mesh uses the Yakima-W geocell for its displacement. A quick check of the metadata of the height imagery shows the projection as Universal Transverse Mercator. The projection of the preview mesh is parametric, so it takes one quick adjustment to the GeographicProjectModifier to set the projection the Univeral Transverse Mercator and the ellipsoid to GRS80, as specified in the metadata. Correlating the projection of the mesh with the projection of the imagery ensures that the mesh and the imagery are in the same projected space and therefore "overlap".
Figure 1.7. The fully textured preview mesh:
Figure 1.8. The complete database:
This describes various technical trivia.
| Element | Description |
| Hardware Used | Laptop with 1.8 GHz CPU, 1 GB RAM, 100GB hard disk, Windows XP, Starbucks Coffee. |
| Geographic Area | -122 degrees longitude to -121.5 degrees longitude. 46.5 degrees latitude to 47 degrees latitude. One quarter of a geocell, nominally 2500 km square. |
| Mesh Granularity & Tessellation | Sixteen 7.5 minute tiles prepared as 4×4 meshes @ 30p tessellation each. 14,400 points per 7.5 minute tile. |
| Format | Scenome Parametric Paged Database. Meshes are roughly 2x as large if stored as polygons. |
| Levels-of-Detail | Three. First level has no simplification, second level 50% simplification, third level 75% simplification. All simplification is parametric. |
| Displacement | Converted 1-Degree USGS DEM file for Yakima-W. Parametric displacement with 24-bit imagery. |
| Primary Texture Imagery | Over 3GB of MrSID imagery for Pierce County and Lewis County in Washington State. This would have required around 500GB if decompressed into 1:1 GEOTIFFs. |
| Secondary Texture Imagery | 12GB of GEOTIFF tiles spread across 9000 files. |
| Final Texture Imagery | 816MB of BITMAP tiles. |
| Final Mesh Data | 160MB of Scenome parametric mesh tiles across 768 meshes. |
| Mesh Accuracy | 79 Meters Per Point [ DEM used had 90M Per Point ]. |
| Texture Pyramid | 1024 pixels, 256 pixels, and 64 pixels. Wanted to ship 1024 pixels, 512 pixels, and 256 pixels but the download would have been much longer. |
| Texture Post-Processing | Very narrow Gaussian filter used to despeckle each 1024×1024 texture. Small textures anti-aliased by successive resampling. |