Skip to main content

随机数生成器 (环境设置)

使用“随机数生成器”环境的工具将通过利用种子和分布的各种算法来生成一系列随机数。

用法说明

  • 如果使用随机值的工具(例如创建随机栅格创建随机点计算值)在两次运行时使用了相同的种子,则其输出结果将完全一致。 可以通过控制种子复现结果。

  • 如果在全局定义了随机数生成器,则创建一个随机数值流。 ModelBuilder 模型中的每一个后续工具,都会根据需要从流中提取下一个可用值。

  • 在 ModelBuilder 模型中,可以通过为需要使用随机数的特定工具在本地创建随机数生成器流,从而使用多个随机数生成器流。 每个工具都可以拥有自己的流,以便根据需要从中提取随机值。 只有拥有本地流的工具,才能从流中提取值。 本地流的数量没有限制。

  • 旧版本:

    自 ArcGIS Pro 2.0 起,不再支持 arcgis.rand()arcgis.rand() 函数主要用于通过计算值计算字段工具、随机数生成器环境设置以及 CreateRandomValueGenerator 函数,支持随机值的生成。 应改用 Python random 模块中的等效函数。

对话框语法

  • 种子—种子为整数值,用于初始化随机数生成器。 默认值为 0。

  • 随机数生成器类型—随机数生成器算法。

    • ACM599—ACM collected algorithm 599。 这是默认设置。

    • MERSENNE_TWISTER—Mersenne Twister mt19937。

    • STANDARD_C—Standard C Rand。

Python 语法

arcpy.env.randomGenerator = random_generator_option

名称 说明

random_generator_option

提供作为种子和可选分布的值。

  • 种子为整数值,用于初始化随机数生成器。 默认值为 0。

  • 分布是随机数生成算法。

    • ACM599—ACM collected algorithm 599。 这是默认设置。

    • MERSENNE_TWISTER—Mersenne Twister mt19937。

    • STANDARD_C—Standard C Rand。

该值也可以作为 RandomNumberGenerator 对象提供。 可以使用 CreateRandomValueGenerator 函数创建或从 randomGenerator 环境中返回 RandomNumberGenerator 对象。

脚本语法

import arcpy

# Set the random generator to ACM599 with random seed of 99
arcpy.env.randomGenerator = "99 ACM599"