PCRaster – PCRaster raster file format¶

Driver short name

PCRaster

GDAL includes support for reading and writing PCRaster raster files. PCRaster is a dynamic modeling system for distributed simulation models. The main applications of PCRaster are found in environmental modeling: geography, hydrology, ecology to name a few. Examples include models for research on global hydrology, vegetation competition models, slope stability models and land use change models.

The driver reads all types of PCRaster maps: booleans, nominal, ordinals, scalar, directional and ldd. The same cell representation used to store values in the file is used to store the values in memory.

The driver detects whether the source of the GDAL raster is a PCRaster file. When such a raster is written to a file the value scale of the original raster will be used. The driver always writes values using UINT1, INT4 or REAL4 cell representations, depending on the value scale:

Value scale

Cell representation

VS_BOOLEAN

CR_UINT1

VS_NOMINAL

CR_INT4

VS_ORDINAL

CR_INT4

VS_SCALAR

CR_REAL4

VS_DIRECTION

CR_REAL4

VS_LDD

CR_UINT1

For rasters from other sources than a PCRaster raster file a value scale and cell representation is determined according to the following rules:

 Source type Target value scale Target cell representation GDT_Byte VS_BOOLEAN CR_UINT1 GDT_Int32 VS_NOMINAL CR_INT4 GDT_Float32 VS_SCALAR CR_REAL4 GDT_Float64 VS_SCALAR CR_REAL4

The driver can convert values from one supported cell representation to another. It cannot convert to unsupported cell representations. For example, it is not possible to write a PCRaster raster file from values which are used as CR_INT2 (GDT_Int16).

Although the de-facto file extension of a PCRaster raster file is .map, the PCRaster software does not require a standardized file extension.

NOTE: Implemented as gdal/frmts/pcraster/pcrasterdataset.cpp.

Driver capabilities¶

Supports CreateCopy()

This driver supports the GDALDriver::CreateCopy() operation

Supports Create()

This driver supports the GDALDriver::Create() operation

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)