Spatial Analyst のライセンスで利用可能。
Image Analyst ライセンスで利用できます。
概要
定義された位置のラスターまたは一連のラスターからのセルの値を表示するテーブルまたはポイント フィーチャクラスを作成します。位置は、ラスター セル、ポイント、ポリライン、またはポリゴンによって定義されます。
使用法
セル値は、各位置のすべての [入力ラスター] (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」をご参照ください。
構文
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 (オプション) | ラスターをサンプリングし、値をラスターから取得する方法を決定する際に使用されるリサンプリング アルゴリズム。
| String |
unique_id_field (オプション) | 入力位置ラスターまたはフィーチャのすべての位置またはフィーチャについて異なる値を含んでいるフィールドです。 | Field |
process_as_multidimensional (オプション) | 入力ラスターの処理方法を指定します。 このパラメーターは、入力が単一の多次元ラスターである場合のみ利用可能です。
| Boolean |
acquisition_definition [acquisition_definition,...] (オプション) | 位置フィーチャに関連付けられている時間、深度、その他の取得データを指定します。 次の組み合わせのみがサポートされています。
Relative value or days before および Relative value or days after は、負でない値のみをサポートします。 このディメンション範囲内にある変数の statistics_type パラメーターを使用して、統計情報が計算されます。 | Value Table |
statistics_type (オプション) | 計算する統計情報の種類を指定します。
| String |
percentile_value (オプション) | [統計の種類] パラメーターが [パーセンタイル] に設定されている場合に計算するパーセンタイル。 statistics_type パラメーターが PERCENTILE に設定されている場合に計算するパーセンタイル。 この値の範囲は 0 〜 100 です。デフォルトは 90 です。 | Double |
buffer_distance (オプション) | 位置データ フィーチャの周囲の距離。バッファー距離は、位置フィーチャの空間参照の距離単位で指定されます。フィーチャが地理参照を使用している場合、単位は度になります。 統計情報は、このバッファー エリア内で計算されます。 | Double; Field |
layout (オプション) | サンプリングされた値が出力テーブルの行と列のどちらに表示されるかを指定します。
| Boolean |
generate_feature_class (オプション) | 属性テーブルにサンプリング値を含むポイント フィーチャクラスを作成するか、サンプリング値を含むテーブルを作成するかを指定します。
| Boolean |
コードのサンプル
入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Sample(["elevation", "costraster"], "observers.shp",
"c:/sapyexamples/output/samptable.dbf")
入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。
# 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)
入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。
# Name: Sample_Ex_03.py
# Description: Creates a table that shows the temperature values from
# a multidimensional raster, for defined locations.
# Each temperature has a unique OBSERVATION_ID
# 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 = "temperature_1990_2019.nc"
locations = "observers.shp"
outTable = "C:/sapyexamples/output/samptable_03.dbf"
sampMethod = "BILINEAR"
uniqueIDField = "OBSERVATION_ID"
process_as_multidimensional = True
# 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)
入力位置に基づいて、複数のラスターからセル値をテーブルに抽出します。
# 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)
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst または Image Analyst
- Standard: 次のものが必要 Spatial Analyst または Image Analyst
- Advanced: 次のものが必要 Spatial Analyst または Image Analyst