Skip to main content

RasterInfo

Summary

Defines a RasterInfo object that describes a set of raster properties to facilitate the creation of a raster dataset using the Raster class.

Discussion

A RasterInfo object can be created by instantiating it from the RasterInfo class, or by calling a Raster object's getRasterInfo method. When a RasterInfo object is created through a Raster object, its properties are initialized using the Raster object's properties.

A RasterInfo object can be used as the input to the Raster class to create a raster dataset, whose cells can be iterated through and assigned values using a RasterCellIterator object.

Syntax

RasterInfo()

Methods

fromJSONString(json)

Loads properties from a JSON string.

Name Explanation Data type

json

The input JSON string that will be loaded.

An input JSON string example:

{
"extent": {
"xmin": 1708552.6584149038,
"ymin": 40759.4130924825367,
"xmax": 1710125.89027346508,
"ymax": 42023.4400903051792,
"spatialReference": {
"wkid": 102663,
"latestWkid": 3759
}
},
"geodataXform": {
"spatialReference": {
"wkid": 102663,
"latestWkid": 3759
},
"type": "IdentityXform"
},
"blockWidth": 128,
"blockHeight": 128,
"bandCount": 1,
"pixelType": "F32",
"noData": 3.402823E+38,
"pixelSizeX": 10,
"pixelSizeY": 10
}

String

getBandCount()

Returns the band count property of the RasterInfo object.

Return value

Data type Explanation

Integer

The band count.

getBlockHeight()

Returns the block height property of the RasterInfo object.

Return value

Data type Explanation

Integer

The block height.

getBlockWidth()

Returns the block width property of the RasterInfo object.

Return value

Data type Explanation

Integer

The block width.

getCellSize()

Returns the cell size property of the RasterInfo object.

Return value

Data type Explanation

tuple

A tuple whose first element represents mean (average) cell width, and its second element represents mean cell height.

getExtent()

Returns the extent property of the RasterInfo object.

Return value

Data type Explanation

Extent

The raster extent.

getNoDataValues()

Returns the NoData value property of the RasterInfo object.

Return value

Data type Explanation

Variant

A number (integer or floating point) or a tuple that represents the NoData values for a raster.

If the band count is 1, a number will be returned. If the band count is greater than 1, a tuple will be returned, with each element representing the NoData value for the corresponding band.

getPixelType()

Returns the pixel type property of the RasterInfo object.

Return value

Data type Explanation

String

The pixel type.

getSpatialReference()

Returns the spatial reference information of the RasterInfo object.

Return value

Data type Explanation

SpatialReference

A SpatialReference object representing the raster's spatial reference.

setBandCount(band_count)

Sets the band count property.

Name Explanation Data type

band_count

The band count.

Integer

setBlockHeight(block_height)

Sets the block height property.

Name Explanation Data type

block_height

The block height.

Integer

setBlockWidth(block_width)

Sets the block width property.

Name Explanation Data type

block_width

The block width.

Integer

setCellSize(cell_size)

Sets the cell size property.

Name Explanation Data type

cell_size

The cell size. The first element of the tuple represents the cell width, and the second element represents the cell height.

tuple

setExtent(extent)

Sets the extent property.

Name Explanation Data type

extent

The extent.

Extent

setNoDataValues(nodata_values)

Sets the NoData values property.

Name Explanation Data type

nodata_values

A number or a tuple that specifies the NoData values.

If a number is specified, it will be used as the NoData value for all bands. If a tuple is specified, each element in the tuple will be interpreted as the NoData value for the corresponding band. The number of elements in the tuple must match the band count.

Variant

setPixelType(pixel_type)

Sets the pixel type property.

Name Explanation Data type

pixel_type

Specifies the pixel type.

  • U1—The pixel type is unsigned 1-bit integer.

  • U2—The pixel type is unsigned 2-bit integer.

  • U4—The pixel type is unsigned 4-bit integer.

  • S8—The pixel type is signed 8-bit integer.

  • U8—The pixel type is unsigned 8-bit integer.

  • S16—The pixel type is signed 16-bit integer.

  • U16—The pixel type is unsigned 16-bit integer.

  • S32—The pixel type is signed 32-bit integer.

  • U32—The pixel type is unsigned 32-bit integer.

  • F32—The pixel type is 32-bit floating point.

  • F64—The pixel type is 64-bit double.

String

setSpatialReference(spatial_reference)

Sets the spatial reference property.

Name Explanation Data type

spatial_reference

The spatial reference.

SpatialReference

toJSONString()

Returns a JSON representation of the RasterInfo object.

Return value

Data type Explanation

String

A JSON string that represents the RasterInfo object.

Code sample

RasterInfo example 1

Creates a RasterInfo object from the RasterInfo class, and uses it to create a raster dataset.

# Import system modules
import arcpy

# Create raster info object
rasInfo = arcpy.RasterInfo()

# Create a spatial reference object
spRef = arcpy.SpatialReference(32145)
# Create an extent object
ext = arcpy.Extent(471090.082572495, 208342.353396819, 494670.082572495, 231352.353396819, 0, 0, 0, 0, spRef)

# Initialize raster info object properties
# Set the spatial reference property
rasInfo.setSpatialReference(spRef)
# Set the extent property
rasInfo.setExtent(ext)
# Set the cell size property
rasInfo.setCellSize((30, 30))
# Set the pixel type property
rasInfo.setPixelType("S16")

# Create a new raster dataset using the raster info object
outRas = arcpy.Raster(rasInfo)
outRas.save("C:/arcpyExamples/outputs/newras01.tif")
RasterInfo example 2

Creates a RasterInfo object from a Raster object, and uses it to create a raster dataset.

# Import system modules
import arcpy

# Create a raster object
inRaster = arcpy.Raster("C:/arcpyExamples/inputs/elevation.tif")

# Get the raster info object
rasInfo = inRaster.getRasterInfo()

# Change some properties for the raster info object
# Change the cell size property
rasInfo.setCellSize((45, 45))
# Change the pixel type property
rasInfo.setPixelType("S32")

# Create a new raster dataset using the raster info object
outRas = arcpy.Raster(rasInfo)
outRas.save("C:/arcpyExamples/outputs/newras02.tif")