Инструменты, использующие параметр среды Генератор случайных чисел (Random Number Generator), применяют алгоритмы, которые используют начальное число и распределение для производства последовательности случайных чисел.
Примечания по использованию
- Если инструмент, использующий случайные значения (например, Создать произвольный растр (Create Random Raster), Создать произвольно расположенные точки (Create Random Points) или Вычислить значение (Calculate Value)), запущен дважды с одним начальным числом, выходные данные будут идентичными. Меняя начальное число, вы можете управлять результатами.
- Если генератор случайных чисел определен глобально для всей системы, будет создана только одна последовательность случайных чисел. Каждому следующему инструменту или инструментам в ModelBuilder будет предложено при необходимости следующее доступное значение из последовательности.
- Несколько последовательностей случайных чисел могут быть сгенерированы для моделей ModelBuilder, если они были созданы локально для необходимых инструментов, которые их используют. Для каждого инструмента будет создана своя последовательность, откуда будут браться случайные числа. Каждый инструмент может использовать значения только из своей последовательности. На количество последовательностей случайных чисел ограничений не существует.
Синтаксис диалога
- Начальное число (Seed) – это целое значение, которое необходимо для начала работы генератора. По умолчанию значение равно 0.
- Тип генератора случайных чисел (Random Generator Type) – алгоритм генератора случайных чисел.
- ACM599 – ACM сборный алгоритм 599. Используется по умолчанию.
- MERSENNE_TWISTER – Mersenne Twister mt19937.
- STANDARD_C – Standard C Rand.
Синтаксис скриптов
arcpy.env.randomGenerator = random_generator_option
random_generator_option | Описание |
---|---|
seed {distribution} |
|
RandomNumberGenerator может быть создан с помощью функции CreateRandomValueGenerator или возвращен из среды randomGenerator. |
Создать произвольное число с помощью инструмента Вычислить значение (Calculate Value).
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[0])
print(randomValue)