Random Number Generator (Environment setting)
Tools that use the Random Number Generator environment use algorithms that use the seed and distribution to produce a sequence of random numbers.
Usage notes
- If a tool using the random values (for example, Create Random Raster, Create Random Points, or Calculate Value) is run twice with the same seed, the output will be identical. Control over the seed allows you to reproduce your results.
- If a random number generator is defined globally, one stream of random values will be created. Each subsequent tool or tools within a ModelBuilder model will pull the next available value from the stream as needed.
- Multiple random number generator streams can be used in a ModelBuilder model by creating them locally for the desired tools that use random numbers. Each tool can have its own stream from which to pull random values as needed. Only the tool with the local stream can pull values from that stream. There is no limit to the number of local streams.
Dialog syntax
- Seed—The seed is an integer value and is used to initiate the random number generator. The default value is 0.
- Random Generator Type—The random generator algorithm.
- ACM599—ACM collected algorithm 599. This is the default.
- MERSENNE_TWISTER—Mersenne Twister mt19937.
- STANDARD_C—Standard C Rand
Scripting syntax
arcpy.env.randomGenerator = random_generator_option
random_generator_option |
Explanation |
---|---|
seed {distribution} |
|
A RandomNumberGenerator can be created using the CreateRandomValueGenerator function or returned from randomGenerator environment. |
Create a random value using the Calculate Value tool.
import arcpy # Set the randomGenerator environment to 4 MERSENNE_TWISTER arcpy.env.randomGenerator = "4 MERSENNE_TWISTER" # Calculate a random number using the arcgis.rand() function result = arcpy.CalculateValue_management("arcgis.rand('normal 0.0 10.0')") # Get the value from the result object from CalculateValue and print randomValue = float(result.getOutput(0)) print randomValue
Related Topics
3/13/2012