LuciadCPillar 2024.0.08
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
luciad::PixelDensity Class Referencefinal

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...
 

Detailed Description

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 & Destructor Documentation

◆ PixelDensity()

luciad::PixelDensity::PixelDensity ( std::shared_ptr< CoordinateReference reference,
double  value 
)

Construct a PixelDensity object.

Parameters
referencethe coordinate reference, cannot be nullptr
valuethe density value expressed in the given coordinate reference, must be greater than 0

Member Function Documentation

◆ fromSampleDistance()

static PixelDensity luciad::PixelDensity::fromSampleDistance ( double  distanceInMeters,
Coordinate  sampleLocation,
std::shared_ptr< CoordinateReference pixelDensityReference 
)
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.

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

◆ getReference()

const std::shared_ptr< CoordinateReference > & luciad::PixelDensity::getReference ( ) const

Returns the pixel density coordinate reference.

Returns
the pixel density coordinate reference.

◆ getValue()

double luciad::PixelDensity::getValue ( ) const

Returns the pixel density value.

Returns
the pixel density value.