com.bbn.openmap.layer.dted
Class DTEDSubframedFrame

java.lang.Object
  extended by com.bbn.openmap.dataAccess.dted.DTEDFrame
      extended by com.bbn.openmap.layer.dted.DTEDSubframedFrame
All Implemented Interfaces:
Closable

public class DTEDSubframedFrame
extends DTEDFrame

The DTEDSubframedFrame is the representation of the DTED (Digital Terrain Elevation Data) data from a single dted data file. It keeps track of all the attribute information of it's data, and also maintains an array of images (DTEDFrameSubframe) that represent views of the elevation posts.


Nested Class Summary
protected static class DTEDSubframedFrame.ImageData
           
 
Field Summary
 DTEDFrameColorTable colorTable
          The colortable used to create the images.
 int number_horiz_subframes
          The frame image is divided into 200x200 pixel subframes, with a leftover frame at the end.
 int number_vert_subframes
          The frame image is divided into 200x200 pixel subframes, with a leftover frame at the end.
 DTEDFrameSubframeInfo subframeInfo
          The subframe presentation attributes.
 DTEDFrameSubframe[][] subframes
          The image array for the subframes.
 
Fields inherited from class com.bbn.openmap.dataAccess.dted.DTEDFrame
acc, ACC_SIZE, ACC_SR_SIZE, binFile, dsi, DSI_SIZE, elevations, frame_is_valid, path, uhl, UHL_SIZE
 
Constructor Summary
DTEDSubframedFrame(java.lang.String filePath)
          Simplest constructor.
DTEDSubframedFrame(java.lang.String filePath, boolean readWholeFile)
          Constructor with colortable and presentation information.
DTEDSubframedFrame(java.lang.String filePath, DTEDFrameColorTable cTable, DTEDFrameSubframeInfo info)
          Constructor with colortable and presentation information.
DTEDSubframedFrame(java.lang.String filePath, DTEDFrameColorTable cTable, DTEDFrameSubframeInfo info, boolean readWholeFile)
          Constructor with colortable and presentation information.
 
Method Summary
 DTEDFrameColorTable getColorTable()
           
 OMGraphic getImage(DTEDFrameSubframeInfo dfsi, DTEDFrameColorTable colortable, Projection proj)
          If you just want to get an image for the DTEDFrame, then call this.
 OMGraphic getImage(Projection proj)
          If you just want to get an image for the DTEDFrame, then call this.
 OMGraphic getSubframeImage(DTEDFrameSubframeInfo dfsi, DTEDFrameColorTable colortable, Projection proj)
          Return the subframe image as described in the DTEDFrameSubframeInfo.
 void initSubframes(int numHorizSubframes, int numVertSubframes)
          Sets the subframe array.
static void main(java.lang.String[] args)
           
 void setColorTable(DTEDFrameColorTable c_Table)
           
 
Methods inherited from class com.bbn.openmap.dataAccess.dted.DTEDFrame
close, dispose, elevationAt, getElevations, getElevations, getIndexesFromLatLons, getOMGrid, interpElevationAt, read, readDataRecord, readDataRecords, reopen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

colorTable

public DTEDFrameColorTable colorTable
The colortable used to create the images.


subframeInfo

public DTEDFrameSubframeInfo subframeInfo
The subframe presentation attributes.


number_horiz_subframes

public int number_horiz_subframes
The frame image is divided into 200x200 pixel subframes, with a leftover frame at the end. This is how many horizontal subframes there are.


number_vert_subframes

public int number_vert_subframes
The frame image is divided into 200x200 pixel subframes, with a leftover frame at the end. This is how many vertical subframes there are.


subframes

public DTEDFrameSubframe[][] subframes
The image array for the subframes.

Constructor Detail

DTEDSubframedFrame

public DTEDSubframedFrame(java.lang.String filePath)
Simplest constructor.

Parameters:
filePath - complete path to the DTED frame.

DTEDSubframedFrame

public DTEDSubframedFrame(java.lang.String filePath,
                          DTEDFrameColorTable cTable,
                          DTEDFrameSubframeInfo info)
Constructor with colortable and presentation information.

Parameters:
filePath - complete path to the DTED frame.
cTable - the colortable to use for the images.
info - presentation parameters.

DTEDSubframedFrame

public DTEDSubframedFrame(java.lang.String filePath,
                          boolean readWholeFile)
Constructor with colortable and presentation information.

Parameters:
filePath - complete path to the DTED frame.
readWholeFile - If true, all of the elevation data will be read at load time. If false, elevation post data will be read in per longitude column depending on the need. False is recommended for DTEd level 1 and 2.

DTEDSubframedFrame

public DTEDSubframedFrame(java.lang.String filePath,
                          DTEDFrameColorTable cTable,
                          DTEDFrameSubframeInfo info,
                          boolean readWholeFile)
Constructor with colortable and presentation information.

Parameters:
filePath - complete path to the DTED frame.
cTable - the colortable to use for the images.
info - presentation parameters.
readWholeFile - If true, all of the elevation data will be read at load time. If false, elevation post data will be read in per longitude column depending on the need. False is recommended for DTED level 1 and 2.
Method Detail

setColorTable

public void setColorTable(DTEDFrameColorTable c_Table)

getColorTable

public DTEDFrameColorTable getColorTable()

initSubframes

public void initSubframes(int numHorizSubframes,
                          int numVertSubframes)
Sets the subframe array. Blows away any images that may already be there.


getImage

public OMGraphic getImage(Projection proj)
If you just want to get an image for the DTEDFrame, then call this. One OMRaster for the entire DTEDFrame will be returned, with the default rendering parameters (Colored shading) and the default colortable. Use the other getOMRaster method if you want something different. This method actually calls that other method, so read the documentation for that as well.

Overrides:
getImage in class DTEDFrame
Parameters:
proj - EqualArc projection to use to create image.
Returns:
raster image to display in OpenMap.

getImage

public OMGraphic getImage(DTEDFrameSubframeInfo dfsi,
                          DTEDFrameColorTable colortable,
                          Projection proj)
If you just want to get an image for the DTEDFrame, then call this. One OMRaster for the entire DTEDFrame will be returned. In the DTEDFrameSubframeInfo, you need to set the color type and all the parameters that are assiociated with the rendering parameters. The projection parameters of the DFSI (image height, width, pixel intervals) will be set in this method based on the projection. If you want a different sized image, scale the thing you get back from this method, or change the scale of the projection that is passed in. Calling this method will cause the DTEDFrame subframe cache to reset itself to hold one subframe covering the entire frame. Just so you know.

Parameters:
dfsi - the DTEDFrameSubframeInfo describing the subframe.
colortable - the colortable to use when building the image.
proj - EqualArc projection to use to create image.
Returns:
raster image to display in OpenMap.

getSubframeImage

public OMGraphic getSubframeImage(DTEDFrameSubframeInfo dfsi,
                                  DTEDFrameColorTable colortable,
                                  Projection proj)
Return the subframe image as described in the DTEDFrameSubframeInfo. This is called by the DTEDCacheHandler, which has in turn set the DTEDFrameSubframeInfo parameters to match the projection parameters. This turns out to be kinda important.

Parameters:
dfsi - the DTEDFrameSubframeInfo describing the subframe.
colortable - the colortable to use when building the image.
Returns:
raster image to display in OpenMap.

main

public static void main(java.lang.String[] args)


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details