LuciadCPillar 2024.0.08
|
A pixel density represents the number of pixel in raster data over a unit of area in a given coordinate reference. More...
#include <luciad/rasters/PixelDensity.h>
Public Member Functions | |
PixelDensity (std::shared_ptr< CoordinateReference > reference, double value) | |
Construct a PixelDensity object. More... | |
const std::shared_ptr< CoordinateReference > & | getReference () const |
Returns the pixel density coordinate reference. More... | |
double | getValue () const |
Returns the pixel density value. More... | |
Static Public Member Functions | |
static PixelDensity | fromSampleDistance (double distanceInMeters, Coordinate sampleLocation, std::shared_ptr< CoordinateReference > pixelDensityReference) |
Creates a pixel density from a sample distance. More... | |
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.
luciad::PixelDensity::PixelDensity | ( | std::shared_ptr< CoordinateReference > | reference, |
double | value | ||
) |
Construct a PixelDensity object.
reference | the coordinate reference, cannot be nullptr |
value | the density value expressed in the given coordinate reference, must be greater than 0 |
|
static |
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.
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 |
luciad::InvalidArgumentException | if pixelDensityReference is neither a grid nor a geodetic reference. |
const std::shared_ptr< CoordinateReference > & luciad::PixelDensity::getReference | ( | ) | const |
Returns the pixel density coordinate reference.
double luciad::PixelDensity::getValue | ( | ) | const |
Returns the pixel density value.