Gets or sets the value of the GeoTIFF ModelPixelScaleTag.

Namespace:  FreeImageAPI.Metadata
Assembly:  FreeImageNET (in FreeImageNET.dll)


public double[] ModelPixelScale { get; set; }
Visual Basic (Declaration)
Public Property ModelPixelScale As Double()
Visual C++
property array<double>^ ModelPixelScale {
	array<double>^ get ();
	void set (array<double>^ value);


The ModelPixelScaleTag tag may be used to specify the size of raster pixel spacing in the model space units, when the raster space can be embedded in the model space coordinate system without rotation, and consists of the following 3 values:

ModelPixelScaleTag = (ScaleX, ScaleY, ScaleZ)

where ScaleX and ScaleY give the horizontal and vertical spacing of raster pixels. The ScaleZ is primarily used to map the pixel value of a digital elevation model into the correct Z-scale, and so for most other purposes this value should be zero (since most model spaces are 2-D, with Z=0).

A single tiepoint in the ModelTiePoints tag, together with this tag, completely determine the relationship between raster and model space; thus they comprise the two tags which Baseline GeoTIFF files most often will use to place a raster image into a "standard position" in model space.

Like the ModelTiePoints tag, this tag information is independent of the XPosition, YPosition, Resolution and Orientation tags of the standard TIFF 6.0 spec. However, simple reversals of orientation between raster and model space (e.g. horizontal or vertical flips) may be indicated by reversal of sign in the corresponding component of the ModelPixelScaleTag. GeoTIFF compliant readers must honor this signreversal convention.

This tag must not be used if the raster image requires rotation or shearing to place it into the standard model space. In such cases the transformation shall be defined with the more general ModelTransformationMatrix.

Naming differences

In the native FreeImage library and thus, in the FreeImage API documentation, this property's key is named GeoPixelScale. Since the GeoTIFF specification as well as Java's EXIFTIFFTagSet class call this tag ModelPixelScale, this property was renamed accordingly. However, when accessing this property's tag by its MetadataTag object, the native FreeImage tag key GeoPixelScale must be used.

Handling of null values

A null value indicates, that the corresponding metadata tag is not present in the metadata model. Setting this property's value to a non-null reference creates the metadata tag if necessary. Setting this property's value to a null reference deletes the metadata tag from the metadata model.

Version Information


Supported in: 3.12.0, 3.13.0, 3.13.1

See Also