Create Random Raster (Spatial Analyst)
Summary
Creates a raster of random floating point values between 0.0 and 1.0 within the extent and cell size of the analysis window.
Illustration
Usage
The Create Random Raster tool generates values for every cell in the output raster.
The output raster from this tool is always floating point.
The cell values will have up to 7 digits of precision after the decimal point.
-
Repeatedly using the same seed value or the default will not produce the same raster.
You can change the seed through a parameter to ensure you obtain different starting points for the random number generator.
-
To generate the values, the random number generator accompanying the standard C libraries from Microsoft is used. In Visual Studio 6, the source code is contained in the RAND.c file, which is generally located in Program Files/Microsoft Visual Studio/VC98/CRT/SRC.
The Data Management toolbox has a Create Random Raster tool that offers some more options for the distribution of the values.
Syntax
Parameter | Explanation | Data Type |
seed_value (Optional) |
A value to be used to reseed the random number generator. This may be an integer or floating-point number. Rasters are not permitted as input. The random number generator is automatically seeded with the current value of the system clock (seconds since January 1, 1970). The range of permissible values for the seed value is -231+1 to 231 (or -2,147,483,647 to 2,147,483,648). | Double |
cell_size (Optional) |
The cell size for the output raster dataset. This is the value in the environment if specifically set. If not specifically set, it is the shorter of the width or height of the environment extent in the output spatial reference, divided by 250. | Analysis Cell Size |
extent (Optional) | The extent for the output raster dataset. The Extent is a Python class. In this tool it is in the form of: Extent(XMin, YMin, XMax, YMax)
The coordinates are specified in the same map units as the in_raster. The extent will be the value in the environment if specifically set. If not specifically set, the default is 0, 0, 250, 250. | Extent |
Return Value
Name | Explanation | Data Type |
out_raster |
The output raster of randomly distributed values with a range of 0.0 to 1.0 | Raster |
Code Sample
This sample creates an output raster of random values at the defined cell size and extent.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRandRaster = CreateRandomRaster(100, 2, Extent(0, 0, 150, 150))
outRandRaster.save("C:/sapyexamples/output/outrandom")
This sample creates an output raster of random values at the defined cell size and extent.
# Name: CreateRandomRaster_Ex_02.py
# Description: Creates a raster of random floating point values
# between 0 and 1
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
seedValue = 1
cellSize = 2
extent = Extent(0, 0, 150, 150)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CreateRandomRaster
outRandomRaster = CreateRandomRaster(seedValue, cellSize, extent)
# Save the output
outRandomRaster.save("C:/sapyexamples/output/outrand")