正規分布ラスタの作成(Create Normal Raster) (Spatial Analyst)
サマリ
[解析] ウィンドウの範囲とセル サイズ内で、正規(ガウス)分布を使用してランダム値のラスタを作成します。
図
使用法
-
[正規分布ラスタの作成(Create Normal Raster)] ツールは、出力ラスタのすべてのセルに対して値を生成します。
このツールの出力ラスタは常に浮動小数点タイプになります。
セル値の最大精度は小数点以下 7 桁です。
-
出力値の平均値は 0.0、標準偏差は 1.0 になります。異なる標準偏差にする場合は、出力ラスタにその値を掛けます。異なる平均値にする場合は、その値をラスタに加えます。たとえば、値の平均値が 39、標準偏差が 2.5 のラスタを作成するには、[正規分布ラスタの作成(Create Normal Raster)] の結果に 2.5 を掛けてから、39 を加えます。
マップ代数演算では、次のようになります。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/data" outNorm = CreateNormalRaster(1, Extent(0, 0, 100, 100)) * 2.5 + 39 outNorm.save("C:/output/norm2")
-
乱数ジェネレータは、システム クロックの現在の値(1970 年 1 月 1 日からの秒数)を使用して、自動的にシードしています。[ランダム ラスタの作成(Create Random Raster)] ツールを再シードすると、[正規分布ラスタ(Create Normal Raster)] も再シードされます。
構文
パラメータ | 説明 | データ タイプ |
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"
outNormalRaster = CreateNormalRaster(2, Extent(0, 0, 150, 150))
outNormalRaster.save("C:/sapyexamples/output/outnormal")
次のサンプルでは、定義済みのセル サイズおよび範囲で正規分布の値を持つ出力ラスタを作成しています。
# Name: CreateNormalRaster_Ex_02.py
# Description: Creates a raster of random values from a normal distribution
# 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
cellSize = 2
extent = Extent(0, 0, 150, 150)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CreateNormalRaster
outNormalRaster = CreateNormalRaster(cellSize, extent)
# Save the output
outNormalRaster.save("C:/sapyexamples/output/outnormraster")