Class RasterModelHeightProvider

java.lang.Object
com.luciad.models.rasters.RasterModelHeightProvider
All Implemented Interfaces:
AutoCloseable

public final class RasterModelHeightProvider extends Object implements AutoCloseable
A height provider based on a raster model.

This class is thread-safe.

Related article: Retrieving height data.

Since:
2023.0
  • Constructor Details

  • Method Details

    • finalize

      protected void finalize()
      Overrides:
      finalize in class Object
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • newBuilder

      @NotNull public static RasterModelHeightProvider.Builder newBuilder()
      Returns a new RasterModelHeightProvider builder.
      Returns:
      a new RasterModelHeightProvider builder.
    • retrieveHeightAt

      @Nullable public Double retrieveHeightAt(@NotNull Coordinate coordinate, @NotNull PixelDensity pixelDensity)
      Retrieve the height data at the provided point at a provided pixel density.

      Looks for a tile in the underlying raster data covering the specified point and with a pixel density equal or lower to the specified density, and returns elevation data based on that tile. If several tiles match, then the most detailed tile is used; if all tiles covering the point have a density higher than requested density, then the least detailed tile is used.

      Parameters:
      coordinate - The point for which the height is requested, expressed in the coordinate reference of the height provider. If the height provider reference is a 2D reference, Z-value is ignored.
      pixelDensity - The pixel density used to determine the level of detail to use in the underlying data. Must be in the coordinate reference of the height provider.
      Returns:
      the height expressed in the reference of the height provider, or null if no data is available for this coordinate.
    • retrieveHeightAt

      @Nullable public Double retrieveHeightAt(@NotNull Coordinate coordinate, double pixelDensity)
      Retrieve the height data at the provided point at a provided pixel density.

      Looks for a tile in the underlying raster data covering the specified point and with a pixel density equal or lower to the specified density, and returns elevation data based on that tile. If several tiles match, then the most detailed tile is used; if all tiles covering the point have a density higher than requested density, then the least detailed tile is used.

      Parameters:
      coordinate - The point for which the height is requested, expressed in the coordinate reference of the height provider. If the height provider reference is a 2D reference, Z-value is ignored.
      pixelDensity - The pixel density used to determine the level of detail to use in the underlying data. Assumed to be in the coordinate reference of the height provider.
      Returns:
      the height expressed in the reference of the height provider, or null if no data is available for this coordinate.
    • getReference

      @NotNull public CoordinateReference getReference()
      Returns the coordinate reference of this height provider.

      The input and output of retrieveHeightAt are all expressed in this reference.

      Returns:
      the coordinate reference of this height provider.
    • isInterpolate

      public boolean isInterpolate()
      Returns whether (bilinear) interpolation is used when calculating height values form the source data.
      Returns:
      whether (bilinear) interpolation is used when calculating height values form the source data.
    • setInterpolate

      public void setInterpolate(boolean interpolate)
      Sets whether (bilinear) interpolation is used when calculating height values form the source data.

      Using interpolation makes sure that neighbouring height values form a smoother curve.

      Parameters:
      interpolate - whether interpolation is used