Class PixelDensity

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

public final class PixelDensity extends Object implements AutoCloseable
A pixel density represents the number of pixel in raster data over a unit of area in a given coordinate reference.

Concretely it's a value with the following units: px² / uom². Here, 'uom' mean the unit of measure of the coordinate reference in which the pixel density is expressed. It is typically meters.

More information on this, and hints on its usages can be fount in the related article: Retrieving height data.

A typical way to create a pixel density is by converting it from a sample distance. Imagine for example that you want to sample elevation data along a line, and get an elevation value every meter. In that case, you can use the fromSampleDistance method to create a pixel density where the distance between every pixel corresponds to 1 meter.

Since:
2023.0
  • Constructor Details

    • PixelDensity

      public PixelDensity(@NotNull CoordinateReference reference, double value)
      Construct a PixelDensity object.
      Parameters:
      reference - the coordinate reference, cannot be null
      value - the density value expressed in the given coordinate reference, must be greater than 0
  • Method Details

    • finalize

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

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

      public double getValue()
      Returns the pixel density value.
      Returns:
      the pixel density value.
    • getReference

      @NotNull public CoordinateReference getReference()
      Returns the pixel density coordinate reference.
      Returns:
      the pixel density coordinate reference.
    • fromSampleDistance

      @NotNull public static PixelDensity fromSampleDistance(double distanceInMeters, @NotNull Coordinate sampleLocation, @NotNull CoordinateReference pixelDensityReference) throws IllegalArgumentException
      Creates a pixel density from a sample distance.

      The resulting PixelDensity, expressed in the given coordinate reference, is such that the distance between pixels corresponds roughly with the provided distance in meters at the given location.

      Parameters:
      distanceInMeters - the desired distance between two adjacent samples, in meters
      sampleLocation - the point at which the distance between samples must be equal to distanceInMeters
      pixelDensityReference - the reference in which sampleLocation, and the resulting PixelDensity, is expressed
      Returns:
      a pixel density that meets the requirements
      Throws:
      IllegalArgumentException - if pixelDensityReference is neither a grid nor a geodetic reference.