Package com.luciad.tea


package com.luciad.tea

Contains all classes for terrain elevation analysis.

Most of the functionality in this package relies on interpreting terrain data. This data is provided by the ALcdTerrainElevationProvider implementations. Most of the algorithms rely on ILcdMatrixView implementations.

For visibility computations, this package provides the following factory classes:

These factories need a propagation function to compute the line-of-sight. This package contains three implementations:

The class TLcdVisibilityMatrixViewFactory defines several methods to compute a shape-to-shape visibility between two discretized views. The figure below shows how the visibility between two shapes can be computed. First, the shapes are discretized into ILcdAltitudeMatrixView objects, for example by using the factory TLcdAltitudeMatrixViewFactory. These objects are then passed to the TLcdVisibilityMatrixViewFactory which produces a new ILcdVisibilityMatrixView that provides information on the visibility of the second shape, seen from the first shape. The sample code provides painters which can be used to visualize the resulting visibility matrix view.

Flow chart on how to compute a shape-to-shape visibility.
Note that special matrix values are required to represent points which lie outside the shape or outside the bounds of the elevation data, and to represent points for which an invalid elevation value is found. The propagation and the handling of special matrix values, which involves the descriptors TLcdAltitudeDescriptor and the TLcdVisibilityDescriptor, is one of the more subtle things that are part of the visibility computation process, but understanding this aspect is essential to get a valid result at the end of the process.

The factory TLcdMatrixViewRasterFactory is provided to convert regular matrix views into ILcdRasters, which can be shown on the map.

The class TLcdExtremePointFinder contains functionality to locate extreme points inside a given matrix.

Since:
1.5.1