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

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

用法说明

  • 如果使用随机值的某工具(例如创建随机栅格创建随机点计算值)使用同一种子运行两次,则两次的输出结果相同。通过控制种子可达到重新生成结果的目的。
  • 如果随机数生成器采用全局方式定义,则会创建一个随机值流。“模型构建器”模型内的每个后继工具都将根据需要从流中获取下一个可用值。
  • 通过为使用随机数的所需工具局部创建随机数生成器流可在“模型构建器”模型中使用多个流。每个工具均可拥有属于自己的流,并可根据需要从中获取随机值。只有拥有局部流的工具才可从流中获取值。局部流的数量没有限制。
  • 旧版本:

    ArcGIS AllSource 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。

脚本语法

arcpy.env.randomGenerator = random_generator_option

random_generator_option说明

seed {distribution}

  • 种子应为整数值,用于启动随机数生成器。默认值为 0。
  • 分布属于随机生成算法。
    • ACM599 - ACM collected algorithm 599。这是默认设置。
    • MERSENNE_TWISTER - Mersenne Twister mt19937。
    • STANDARD_C - Standard C Rand。

RandomNumberGenerator

RandomNumberGenerator 可通过 CreateRandomValueGenerator 函数创建,也可以从 randomGenerator 环境中返回得到。

randomGenerator 语法

脚本示例


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