サンプル (Sample) (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)

関連トピック