public class TLcdInterpolatingRasterHeightProvider extends Object implements ILcdHeightProvider
The interpolation method is illustrated in the following figure :
The interpolation is implemented by defining an area around the given point, the size of a pixel. Each corner of this area lies onto a different pixel of the raster. For each of these pixels, the value is retrieved from the raster (sampling of the pixel values is done at the pixel center). These values are then combined by weighted average according to area (w1, w2, w3, w4).
Constructor and Description |
---|
TLcdInterpolatingRasterHeightProvider(ILcdRaster aRaster)
Creates a new height provider based on the given raster.
|
TLcdInterpolatingRasterHeightProvider(ILcdRaster aRaster,
int aMinValidHeight,
int aMaxValidHeight)
Creates a new height provider based on the given raster.
|
Modifier and Type | Method and Description |
---|---|
ILcdBounds |
getBounds()
Returns the
ILcdBounds by which the geometry of this ILcdBounded object
is bounded. |
double |
retrieveHeightAt(ILcdPoint aPoint)
Returns the height at the given point.
|
public TLcdInterpolatingRasterHeightProvider(ILcdRaster aRaster)
Double.NaN
). The height provider interpolates the height values
to gain a smoother result.aRaster
- the raster from which the heights will be retrieved.public TLcdInterpolatingRasterHeightProvider(ILcdRaster aRaster, int aMinValidHeight, int aMaxValidHeight)
Double.NaN
).
The height provider interpolates the height values to gain a smoother result.aRaster
- the raster from which the heights will be retrieved.aMinValidHeight
- the minimum valid height.aMaxValidHeight
- the maximum valid height.public double retrieveHeightAt(ILcdPoint aPoint)
ILcdHeightProvider
retrieveHeightAt
in interface ILcdHeightProvider
aPoint
- a 2D point, in the horizontal reference that is determined by
the implementation.Double.NaN
, if the elevation is not known.public ILcdBounds getBounds()
ILcdBounded
ILcdBounds
by which the geometry of this ILcdBounded
object
is bounded.
If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points)
the return value is unspecified.
It is highly recommended to return an undefined
bounds.
You can create undefined bounds using the default constructors
of TLcdLonLatBounds
or TLcdXYBounds
.
getBounds
in interface ILcdBounded
ILcdBounds
by which the geometry of this ILcdBounded
object
is bounded.