NumPyArrayToRaster (arcpy)
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.
This function honors the following geoprocessing environment settings:
Output Coordinate System, Extent, Snap Raster, Current Workspace, Scratch Workspace
Syntax
Parameter | Explanation | Data Type |
in_array |
The NumPy array to convert to a raster. | NumPyArray |
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 |
Data Type | Explanation |
Raster |
The output raster. |
Code Sample
A new raster is created from a randomly generated NumPy array.
import numpy
import arcpy
my_array = numpy.random.random_integers(0, 100, 2500)
my_array.shape = (50, 50)
my_raster = arcpy.NumPyArrayToRaster(my_array)
my_raster.save("c:/output/fgdb.gdb/myRandomRaster")