サンプル (Sample) (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

Image Analyst ライセンスで利用できます。

サマリー

定義された位置のラスターまたは一連のラスターからのセルの値を表示するテーブルまたはポイント フィーチャクラスを作成します。 位置は、ラスター セル、ポイント、ポリライン、またはポリゴンによって定義されます。

[サンプル (Sample)] ツールの詳細

使用法

  • セル値は、各位置のすべての [入力ラスター] (Python では in_rasters) から抽出されます。 各入力ラスターのセル値を含むフィールドを使用して、テーブルまたはポイント フィーチャクラスが作成されます。

  • 入力ラスター テーブルからの追加属性 (存在する場合) は、出力テーブルに含まれません。

  • 入力ラスターには、任意のラスターの組み合わせ (シングル バンドまたはマルチバンド) を指定できます。 入力ラスターが多次元の場合、出力テーブルの構造が自動的に変わります。

    [入力ラスター] の 1 つとしてマルチバンド ラスターが指定された場合、その入力のすべてのバンドが使用されます。

  • [入力ロケーション ラスターまたはフィーチャ] (Python では in_location_data) のパラメーター値として、次の値を使用できます。

    • ラスター - 有効な値 (NoData 以外) を含むセルを使用して、すべての入力ラスターからセル値を抽出し、セルの中心をポイントの位置として使用します。
    • ポイント - 値は各ポイントの位置でサンプリングされます。
    • ポリラインまたはポリゴン - 入力が 2 次元ラスターまたは複数のラスターの場合に、各ポリラインまたはポリゴンと交差するすべてのセルの平均値が計算されます。 入力が多次元ラスターで、多次元として処理される場合は、追加の統計情報タイプを指定できます。

  • 入力ラスター内で NoData セルから値を抽出する位置には、出力テーブルで NULL 値が与えられます。 シェープファイルの場合、NULL フィールドはサポートされていないため、NoData セルはテーブル内で代わりに値 -9999 で表されます。

  • [入力ラスター] は、ネイティブの空間参照および解像度でサンプリングされます。 空間参照が異なる複数の入力ラスターが存在する場合、入力位置は最初に各ラスターの空間参照にそれぞれ投影され、その後に値が抽出されます。 このため、入力ラスターには解析環境設定は適用されませんが、入力位置に適切な環境が適用されます。

  • デフォルトでは、[出力テーブルまたはフィーチャクラス] (Python では out_table) パラメーターの X、Y 座標の空間参照は、出力座標系の環境で別の空間参照が指定されていない限り、[入力ロケーション ラスターまたはフィーチャ] パラメーター値と同じになります。 入力位置データの空間参照が不明の場合、X、Y 座標の空間参照も不明となります。

    X、Y 座標の空間参照は、ツールの実行完了時にジオプロセシング メッセージとして報告されます。

  • [入力ロケーション ラスターまたはフィーチャ] が空間インデックスを含まないポイント フィーチャクラスの場合、警告が表示されます。 多数のポイントを含む入力のツール パフォーマンスを向上させるには、空間インデックスを作成します。 詳細については、「空間インデックスの追加」をご参照ください。

  • マルチポイント フィーチャを使用して実行すると、このツールは失敗します。 マルチポイント フィーチャを使用して解析を実行するには、この抽出ツールで使用する前に、フィーチャをシングルポイント フィーチャに変換します。 詳細については、「マルチポイント データの処理」をご参照ください。

  • [リサンプリング手法] パラメーターが [最近隣内挿法] (Python では resampling_type = "NEAREST") に設定されている場合、出力テーブルのフィールド タイプはラスター タイプのフィールドと一致します。 リサンプリング オプションが [共一次内挿法] または [三次たたみ込み内挿法] の場合、内挿値の精度を維持するために、フィールド タイプは常に浮動小数点になります。

  • フィールドが出力テーブルに追加され、[一意の ID フィールド] パラメーター (Python では unique_id_field) に指定された値が格納されます。 デフォルトでは、フィールドの名前は入力ロケーション データセット名と同じです。 詳細に分析するには、各位置の特定子として個別値を含むフィールドを使用することをお勧めします。

  • [多次元として処理] パラメーターがオフ (Python では process_as_multidimensional = "CURRENT_SLICE") の場合、次の条件が適用されます。

    • 入力が多次元ラスターの場合、現在のスライスのみがサンプリングされます。
    • 入力が多変量ラスターの場合、現在の変数のみがサンプリングされます。

  • [多次元として処理] パラメーターがオン (Python では process_as_multidimensional = "ALL_SLICES") の場合、次の条件が適用されます。

    • 入力が多次元ラスターの場合、すべてのスライスがサンプリングされます。
    • 入力が多変量ラスターの場合、すべての変数がサンプリングされます。
    • 入力が複数の変数を含む多次元ラスターの場合、すべての変数のすべてのスライスがサンプリングされます。 変数は同じディメンションを持つ必要があります。

  • [多次元として処理] パラメーターがオン (Python では process_as_multidimensional = "ALL_SLICES") の場合、次のうち適切なシナリオが適用されます。

    • [位置データの取得情報] パラメーター (Python では acquisition_definition) を使用して、サンプリングに使用する入力ラスターのサブセットを指定します。

      • ディメンション、開始値、終了値を指定すると、開始値および終了値内のスライスが処理されます。 デフォルトの終了値は最大ディメンション値です。 時間ディメンションの場合、値を標準形式で指定します。 その他のディメンションの場合、入力ラスターと同じ単位で値を指定します。

      • ディメンション、開始フィールド、および終了フィールドを指定すると (開始フィールドと終了フィールドは位置データから取得されます)、これらのフィールドの値を使用して、該当の位置で値をサンプリングする際の入力ラスターのサブセットを指定します。

      • [相対値または数日前] および [相対値または数日後] の値を使用して、開始値に対するサブセットを指定できます。前者の値はサブセットの開始を指定し、後者の値はサブセットの終了を指定します。 時間値は日数で指定され、その他のディメンション値は入力ラスターと同じ単位で指定されます。

    • [統計の種類] パラメーター (Python では statistics_type) は、サブセットによって [位置データの取得情報] パラメーターに指定された [入力ラスター] パラメーターの値を集約します。

    • [列方向レイアウト] パラメーターがオフ (Python では layout = "ROW_WISE") の場合、抽出された値は、変数と同じ名前のフィールドに格納されます。 ディメンションと同じ名前の空間ディメンション以外のディメンション値を格納するための追加フィールドが作成されます。

    • [列方向レイアウト] パラメーターがオン (Python では layout = "COLUMN_WISE") の場合、抽出された値は、<variable_name>_<dimension_name>_<dimension_value> という名前のフィールドに格納されます。 [列方向レイアウト] パラメーターがサポートされているのは、多次元ラスターに含まれる変数が 1 つだけの場合、変数に 1 つのディメンションしかない場合、および各スライスがシングル バンドの場合のみですので注意してください。 それ以外の場合は、エラー メッセージが生成されます。

    • 多次元ラスターに複数のバンドがある場合、各バンド用の追加フィールドが作成され、そのバンドから抽出された値がそこに格納されます。

    • NoData セルから値を抽出する位置には、入力多次元ラスターの NoData 値が割り当てられます。

  • 多次元ラスターは、netCDF ラスター レイヤー多次元ラスター レイヤー多次元モザイク データセット、多次元 CRF、多次元イメージ サービス、または netCDF ファイルのいずれかです。 ツールのダイアログ ボックスから netCDF ファイルを参照することはできませんが、ファイルのパスを指定することはできます。

  • [フィーチャクラスの作成] パラメーターがオン (Python では generate_feature_class = "FEATURE_CLASS") になっている場合、出力は属性テーブルにサンプリングされた値を含むポイント フィーチャクラスです。 以下に、位置情報の種類と、値のサンプリング方法の説明を示します。

    • ラスター - セルの中心の位置を使用してポイントが作成されます。
    • ポイント - ポイントが各ポイントの位置に作成されます。
    • ポリラインまたはポリゴン - 各ポリゴンまたはポリラインの重心にポイントが作成されます。

  • 出力フィーチャクラスの空間参照は、[出力座標系] 環境で指定されていない限り、[入力ロケーション ラスター、またはフィーチャ] の空間参照と同じです。

  • 並列処理ファクター環境がサポートされているのは、[多次元として処理] パラメーターがオンの場合のみです。

  • マスク環境でフィーチャが指定されている場合は、入力ラスターの最小セル サイズを使用して内部ラスターが作成されます。 抽出時に、この内部マスク ラスターが各入力ラスターのセル サイズに従って再度リサンプリングされます。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力ラスター

入力位置データに基づいてサンプリングされる値を持つラスター。

[多次元として処理] パラメーターは、入力が単一の多次元ラスターである場合のみ利用可能です。

Raster Layer
入力ロケーション ラスターまたはフィーチャ

サンプルが取得される位置を特定するデータ。

入力は、ラスターでもフィーチャクラスでもかまいません。

Raster Layer; Feature Layer
出力テーブルまたはフィーチャクラス

サンプリングされたセル値を含む出力テーブルまたはフィーチャクラス。

出力形式は、出力先とパスによって決定されます。 デフォルトでは、出力はジオデータベース ワークスペースのジオデータベース テーブルまたはジオデータベース フィーチャクラス、またはフォルダー ワークスペースの dBASE テーブルまたはシェープファイル フィーチャクラスになります。

テーブルまたはフィーチャクラスを生成する際の出力データ タイプは、[フィーチャクラスの生成] パラメーターによって制御されます。

Table; Point feature class
リサンプリング手法
(オプション)

ラスターをサンプリングし、値をラスターから取得する方法を決定する際に使用されるリサンプリング アルゴリズム。

  • 最近隣内挿法最近隣内挿法が使用されます。 これがデフォルトです。
  • 共一次内挿法共一次内挿法が使用されます。
  • 三次たたみ込み内挿法三次たたみ込み内挿法が使用されます。
String
一意の ID フィールド
(オプション)

入力位置ラスターまたはフィーチャのすべての位置またはフィーチャについて異なる値を含んでいるフィールドです。

Field
多次元として処理
(オプション)

入力ラスターの処理方法を指定します。

このパラメーターは、入力が単一の多次元ラスターである場合のみ利用可能です。

  • オフ - サンプルは多次元データセットの現在のスライスから処理されます。 これがデフォルトです。
  • オン - サンプルは多次元データセットのすべての次元 (時間や深さなど) について処理されます。
Boolean
位置データの取得情報
(オプション)

位置フィーチャに関連付けられている時間、深度、その他の取得データを指定します。

次の組み合わせのみがサポートされています。

  • ディメンション + 開始フィールドまたは値
  • ディメンション + 開始フィールドまたは値 + 終了フィールドまたは値
  • ディメンション + 開始フィールドまたは値 + 相対値または日前 + 相対値または日後

[相対値または日前] および [相対値または日後] は、負でない値のみをサポートしています。

このディメンション範囲内にある変数の [統計の種類] パラメーターを使用して、統計情報が計算されます。

Value Table
統計情報の種類
(オプション)

計算する統計情報の種類を指定します。

  • 最小指定した範囲内の最小値が計算されます。
  • 最大指定した範囲内の最大値が計算されます。
  • 中央値指定した範囲内の中央値が計算されます。
  • 平均指定した範囲内の平均が計算されます。
  • 合計指定した範囲内の変数の合計値が計算されます。
  • 最頻値最も頻度の高い値が計算されます。
  • 最少頻値最も頻度の低い値が計算されます。
  • 標準偏差標準偏差が計算されます。
  • パーセンタイル指定した範囲内で定義されたパーセンタイルが計算されます。
String
パーセンタイル値
(オプション)

この値の範囲は 0 ~ 100 です。 デフォルトは 90 です。

Double
バッファー距離フィールドまたは値
(オプション)

位置データ フィーチャの周囲の距離。 バッファー距離は、位置フィーチャの空間参照の距離単位で指定されます。 フィーチャが地理参照を使用している場合、単位は度になります。

統計情報は、このバッファー エリア内で計算されます。

Double; Field
列方向レイアウト
(オプション)

サンプリングされた値が出力テーブルの行と列のどちらに表示されるかを指定します。

  • オフ - サンプリングされた値は、出力テーブルの別々の行に表示されます。 これがデフォルトです。
  • オン - サンプリングされた値は、出力テーブルの別々の列に表示されます。 このオプションは、入力多次元ラスターに 1 つの変数と 1 つのディメンションが含まれ、各スライスがシングルバンド ラスターである場合のみ有効です。
Boolean
フィーチャクラスの作成
(オプション)

属性テーブルにサンプリング値を含むポイント フィーチャクラスを作成するか、サンプリング値を含むテーブルを作成するかを指定します。

  • オフ - サンプリング値を含むテーブルが作成されます。 これがデフォルトです。
  • オン - 属性テーブルにサンプリング値を含むポイント フィーチャクラスが作成されます。
Boolean

Sample(in_rasters, in_location_data, out_table, {resampling_type}, {unique_id_field}, {process_as_multidimensional}, {acquisition_definition}, {statistics_type}, {percentile_value}, {buffer_distance}, {layout}, {generate_feature_class})
名前説明データ タイプ
in_rasters
[in_raster,...]

入力位置データに基づいてサンプリングされる値を持つラスター。

process_as_multidimensional パラメーターは、入力が単一の多次元ラスターである場合にのみサポートされています。

Raster Layer
in_location_data

サンプルが取得される位置を特定するデータ。

入力は、ラスターでもフィーチャクラスでもかまいません。

Raster Layer; Feature Layer
out_table

サンプリングされたセル値を含む出力テーブルまたはフィーチャクラス。

出力形式は、出力先とパスによって決定されます。 デフォルトでは、出力はジオデータベース ワークスペースのジオデータベース テーブルまたはジオデータベース フィーチャクラス、またはフォルダー ワークスペースの dBASE テーブルまたはシェープファイル フィーチャクラスになります。

テーブルまたはフィーチャクラスを生成する際の出力データ タイプは、generate_feature_class パラメーターによって制御されます。

Table; Point feature class
resampling_type
(オプション)

ラスターをサンプリングし、値をラスターから取得する方法を決定する際に使用されるリサンプリング アルゴリズム。

  • NEAREST最近隣内挿法が使用されます。 これがデフォルトです。
  • BILINEAR共一次内挿法が使用されます。
  • CUBIC三次たたみ込み内挿法が使用されます。
String
unique_id_field
(オプション)

入力位置ラスターまたはフィーチャのすべての位置またはフィーチャについて異なる値を含んでいるフィールドです。

Field
process_as_multidimensional
(オプション)

入力ラスターの処理方法を指定します。

このパラメーターは、入力が単一の多次元ラスターである場合のみ利用可能です。

  • ALL_SLICESサンプルは多次元データセットのすべての次元 (時間や深さなど) について処理されます。
  • CURRENT_SLICEサンプルは多次元データセットの現在のスライスから処理されます。 これがデフォルトです。
Boolean
acquisition_definition
[acquisition_definition,...]
(オプション)

位置フィーチャに関連付けられている時間、深度、その他の取得データを指定します。

次の組み合わせのみがサポートされています。

  • ディメンション + 開始フィールドまたは値
  • ディメンション + 開始フィールドまたは値 + 終了フィールドまたは値
  • ディメンション + 開始フィールドまたは値 + 相対値または日前 + 相対値または日後

Relative value or days before および Relative value or days after は、負でない値のみをサポートします。

このディメンション範囲内にある変数の statistics_type パラメーターを使用して、統計情報が計算されます。

Value Table
statistics_type
(オプション)

計算する統計情報の種類を指定します。

  • MINIMUM指定した範囲内の最小値が計算されます。
  • MAXIMUM指定した範囲内の最大値が計算されます。
  • MEDIAN指定した範囲内の中央値が計算されます。
  • MEAN指定した範囲内の平均が計算されます。
  • SUM指定した範囲内の変数の合計値が計算されます。
  • MAJORITY最も頻度の高い値が計算されます。
  • MINORITY最も頻度の低い値が計算されます。
  • STD標準偏差が計算されます。
  • PERCENTILE指定した範囲内で定義されたパーセンタイルが計算されます。
String
percentile_value
(オプション)

[統計の種類] パラメーターが [パーセンタイル] に設定されている場合に計算するパーセンタイル。

statistics_type パラメーターが PERCENTILE に設定されている場合に計算するパーセンタイル。

この値の範囲は 0 ~ 100 です。 デフォルトは 90 です。

Double
buffer_distance
(オプション)

位置データ フィーチャの周囲の距離。 バッファー距離は、位置フィーチャの空間参照の距離単位で指定されます。 フィーチャが地理参照を使用している場合、単位は度になります。

統計情報は、このバッファー エリア内で計算されます。

Double; Field
layout
(オプション)

サンプリングされた値が出力テーブルの行と列のどちらに表示されるかを指定します。

  • ROW_WISEサンプリングされた値は、出力テーブルの別々の行に表示されます。 これがデフォルトです。
  • COLUMN_WISEサンプリングされた値は、出力テーブルの別々の列に表示されます。 このオプションは、入力多次元ラスターに 1 つの変数と 1 つのディメンションが含まれ、各スライスがシングルバンド ラスターである場合のみ有効です。
Boolean
generate_feature_class
(オプション)

属性テーブルにサンプリング値を含むポイント フィーチャクラスを作成するか、サンプリング値を含むテーブルを作成するかを指定します。

  • TABLEサンプリング値を含むテーブルが作成されます。 これがデフォルトです。
  • FEATURE_CLASS属性テーブルにサンプリング値を含むポイント フィーチャクラスが作成されます。
Boolean

コードのサンプル

Sample の例 1 (Python ウィンドウ)

入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Sample(["elevation", "costraster"], "observers.shp",
       "c:/sapyexamples/output/samptable","NEAREST")
Sample の例 2 (スタンドアロン スクリプト)

入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。

# Name: Sample_Ex_02.py
# Description: Creates a feature class that shows the values of cells from 
#              rasters, for defined locations. 
#              The locations are defined by a set of points.
#              Sampling method is Bilinear.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRasters = ["elevation",
             "costraster"]
locations = "observers.shp"
outFeatureClass = "c:/sapyexamples/output/samptable02.shp"
sampMethod = "BILINEAR"
generate_feature_class = "FEATURE_CLASS"

# Execute Sample
Sample(inRasters, locations, outFeatureClass, sampMethod, "", "", "", "", "", "", "", generate_feature_class)
Sample の例 3 (スタンドアロン スクリプト)

入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。

# Name: Sample_Ex_03.py
# Description: Creates a table that shows the temperature values from 
#              a multidimensional raster, for defined locations. 
#              The locations are defined by a set 
#              of points.
# 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
inRasters = "temperature_1990_2019.nc"
locations = "observers.shp"
outTable = "C:/sapyexamples/output/samptable_03"
sampMethod = ""
uniqueIDField = "FID"
process_as_multidimensional = True

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute Sample
# the temperature value at each slice in temperature_1990_2019.nc will be extracted for each point
Sample(inRasters, locations, outTable, sampMethod, uniqueIDField, process_as_multidimensional)
Sample の例 4 (スタンドアロン スクリプト)

入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。

# Name: Sample_Ex_04.py
# Description: Creates a table that shows, for each polygon, the maximum temperature value within the period [1999-01-01T00:00:00 , 2019-01-01-T00:00:00]
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRasters = "temperature_1990_2019.nc"
locations = "observers_polygons.shp"
outTable = "C:/sapyexamples/output/samptable_04.dbf"
sampMethod = "BILINEAR"
uniqueIDField = "OBSERVATIONID"
process_as_multidimensional = True
# StdTime in acquisition_definition is the name of the dimension in inRasters that are related with time
# 1999-01-01T00:00:00 in acquisition_definition is the start time of the period
# 2019-01-01-T00:00:00 in acquisition_definition is the end time of the period
acquisition_definition = "StdTime 1999-01-01T00:00:00 2019-01-01-T00:00:00"
statistic_method = "MAXIMUM"

# Execute Sample
# for each polygon in locations, the maximum temperature value within the period [1999-01-01T00:00:00 , 2019-01-01-T00:00:00] will be extracted
Sample(inRasters, locations, outTable, sampMethod, uniqueIDField, process_as_multidimensional, acquisition_definition, statistic_method)