乱数ジェネレータ(環境設定)
乱数ジェネレータの環境を反映するツールは、シードと分布を使用するアルゴリズムを使用して一連の乱数を生み出します。
使用に関する注意
- ランダム値を使用するツール(たとえば、[ランダム ラスタの作成(Create Random Raster)]、[ランダム ポイントの作成(Create Random Points)]、または [値の計算(Calculate Value)])を同じシード値で 2 回実行すると、同じ出力が得られます。シードを制御することにより、結果を再現することができます。
- 乱数ジェネレータをグローバルに定義すると、ランダム値の 1 つのストリームが作成されます。ModelBuilder モデル内の以降の各ツールは、乱数が必要になると、このストリームから次の値を取得します。
- ModelBuilder モデルでは、乱数を使用するツールごとにストリームをローカルに作成することによって、複数の乱数ジェネレータ ストリームを使用できます。各ツールは、独自のストリームから必要に応じてランダム値を取得することができます。ローカル ストリームを持つツールだけが、そのストリームからランダム値を取得できます。ローカル ストリームの数に制限はありません。
ダイアログの構文
- シード - シードは、乱数ジェネレータを開始するために使用する整数値です。デフォルト値は 0 です。
- 乱数ジェネレータのタイプ - 乱数ジェネレータのアルゴリズム。
- ACM599 - ACM 収集アルゴリズム 599。これがデフォルトです。
- MERSENNE_TWISTER - メルセンヌ ツイスタ mt19937。
- STANDARD_C - 標準 C Rand。
スクリプトの構文
arcpy.env.randomGenerator = random_generator_option
random_generator_option |
説明 |
---|---|
シード {分布} |
|
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.getOutput(0))
print randomValue
関連トピック
5/10/2014