NumPyArrayToRaster

Summary

Converts a NumPy array to a raster.

Discussion

The size and data type of the resulting raster dataset depends on the input array.

Having the x_cell_size and the y_cell_size arguments allows support for rectangular cells.

Syntax

NumPyArrayToRaster (in_array, {lower_left_corner}, {x_cell_size}, {y_cell_size}, {value_to_nodata})
ParameterExplanationData Type
in_array

The NumPy array to convert to a raster.

Array
lower_left_corner

The lower left corner of the output raster to position the NumPy array. The X and Y values are in map units.

(The default value is 0.0)

Point
x_cell_size

The cell size in the x direction specified in map units. The input can be a specified cell size (type: double) or an input raster.

When a dataset is input for the x_cell_size, the x cell size of the dataset is used for the x cell size for the output raster.

If only the x_cell_size is identified and not the y_cell_size, a square cell will result with the specified size.

If neither x_cell_size or y_cell_size are specified, a default of 1.0 will be used for both the x and y cell size.

(The default value is 1.0)

Double
y_cell_size

The cell size in y direction specified in map units. The input can be a specified cell size (type: double) or an input raster.

When a dataset is input for the y_cell_size the y cell size of the dataset is used for the y cell size for the output raster.

If only the y_cell_size is identified and not the x_cell_size a square cell will result with the specified size.

If neither x_cell_size or y_cell_size are specified, a default of 1.0 will be used for both the x and y cell size.

(The default value is 1.0)

Double
value_to_nodata

The value in the NumPy array to assign to NoData in the output raster.

If no value is specified for value_to_nodata, there will not be any NoData values in the resulting raster.

Double
Return Value
Data TypeExplanation
Raster

The output raster.

Code Sample

NumPyToRaster example

A new raster is created from a randomly generated NumPy array.

import arcpy
import numpy 
myArray = numpy.random.random_integers(0,100,2500)
myArray.shape = (50,50)
myRaster = arcpy.NumPyArrayToRaster(myArray)
myRaster.save("C:/output/fgdb.gdb/myRandomRaster")

Related Topics


10/28/2011