ランダム ラスタの作成(Create Random Raster) (Spatial Analyst)
サマリ
[解析] ウィンドウの範囲とセル サイズ内で、0.0 ~ 1.0 の範囲のランダムな浮動小数点の値を持つラスタを生成します。
図
使用法
[ランダム ラスタの作成(Create Random Raster)] ツールは、出力ラスタのすべてのセルに対して値を生成します。
このツールの出力ラスタは常に浮動小数点タイプになります。
セル値の最大精度は小数点以下 7 桁です。
-
繰り返し同じシード値またはデフォルト値を使用しても、同じラスタは生成されません。
乱数ジェネレータの異なる起点を確実に得るために、パラメータによりシードを変更できます。
-
値を生成するには、Microsoft の標準の C ライブラリが付属している乱数ジェネレータを使用します。Visual Studio 6 では、ソース コードは RAND.c ファイルに格納されています。このファイルは通常、Program Files/Microsoft Visual Studio/VC98/CRT/SRC にあります。
[データ管理] ツールボックスに入っている [ランダム ラスタの作成(Create Random Raster)] ツールは、値の分布に関するその他のオプションを備えています。
構文
パラメータ | 説明 | データ タイプ |
seed_value (オプション) |
乱数ジェネレータの再シードに使用される値。 整数または浮動小数点数を指定できます。ラスタは入力できません。 乱数ジェネレータは、システム クロックの現在の値(1970 年 1 月 1 日からの秒数)を使用して、自動的にシードしています。シード値に使用可能な値の範囲は -231+1 ~ 231(または -2,147,483,647 ~ 2,147,483,648)です。 | Double |
cell_size (オプション) |
出力ラスタ データセットのセル サイズ。 環境設定で特定の値が指定されている場合、その値を使用します。設定されていない場合は、出力空間参照において、環境の範囲の幅または高さ(どちらか短い方)を 250 で割った値になります。 | Analysis Cell Size |
extent (オプション) | 出力ラスタ データセットの範囲。 Extent は Python クラスです。 このツールでは次の形式をとります:Extent (XMin, YMin, XMax, YMax)
座標は、in_raster と同じマップ単位で指定します。 環境設定で特定の値が指定されている場合、その値を使用します。設定されていない場合、デフォルトは 0, 0, 250, 250 です。 | Extent |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
0.0 ~ 1.0 の範囲内でランダムに分布する値を持つ出力ラスタ。 | Raster |
コードのサンプル
次のサンプルでは、定義済みのセル サイズおよび範囲でランダム値を持つ出力ラスタを作成しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRandRaster = CreateRandomRaster(100, 2, Extent(0, 0, 150, 150))
outRandRaster.save("C:/sapyexamples/output/outrandom")
次のサンプルでは、定義済みのセル サイズおよび範囲でランダム値を持つ出力ラスタを作成しています。
# Name: CreateRandomRaster_Ex_02.py
# Description: Creates a raster of random floating point values
# between 0 and 1
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
seedValue = 1
cellSize = 2
extent = Extent(0, 0, 150, 150)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CreateRandomRaster
outRandomRaster = CreateRandomRaster(seedValue, cellSize, extent)
# Save the output
outRandomRaster.save("C:/sapyexamples/output/outrand")